Skip to content
File

Blob: src/workerd/api/crypto/prime.h

cpp25 lines
1#pragma once
2 
3#include <kj/common.h>
4 
5#include <cstdint>
6 
7namespace workerd::jsg {
8class Lock;
9class JsArrayBuffer;
10} // namespace workerd::jsg
11 
12namespace workerd::api {
13 
14// Generate a random prime number
15jsg::JsArrayBuffer randomPrime(jsg::Lock& js,
16 uint32_t size,
17 bool safe,
18 kj::Maybe<kj::ArrayPtr<kj::byte>> add_buf,
19 kj::Maybe<kj::ArrayPtr<kj::byte>> rem_buf);
20 
21// Checks if the given buffer represents a prime.
22bool checkPrime(kj::ArrayPtr<kj::byte> buffer, uint32_t num_checks);
23 
24} // namespace workerd::api