File
Blob: src/workerd/api/crypto/prime.h
| 1 | #pragma once |
| 2 | |
| 3 | #include <kj/common.h> |
| 4 | |
| 5 | #include <cstdint> |
| 6 | |
| 7 | namespace workerd::jsg { |
| 8 | class Lock; |
| 9 | class JsArrayBuffer; |
| 10 | } // namespace workerd::jsg |
| 11 | |
| 12 | namespace workerd::api { |
| 13 | |
| 14 | // Generate a random prime number |
| 15 | jsg::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. |
| 22 | bool checkPrime(kj::ArrayPtr<kj::byte> buffer, uint32_t num_checks); |
| 23 | |
| 24 | } // namespace workerd::api |