@sebastienrousseau/crypto-lib 0.0.3 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/README.md +304 -314
  2. package/dist/accel/index.d.ts +11 -0
  3. package/dist/accel/index.d.ts.map +1 -0
  4. package/dist/accel/index.js +31 -0
  5. package/dist/accel/native-pqc-bridge.d.ts +18 -0
  6. package/dist/accel/native-pqc-bridge.d.ts.map +1 -0
  7. package/dist/accel/native-pqc-bridge.js +100 -0
  8. package/dist/accel/wasm-bridge.d.ts +35 -0
  9. package/dist/accel/wasm-bridge.d.ts.map +1 -0
  10. package/dist/accel/wasm-bridge.js +161 -0
  11. package/dist/accel/webcrypto-bridge.d.ts +32 -0
  12. package/dist/accel/webcrypto-bridge.d.ts.map +1 -0
  13. package/dist/accel/webcrypto-bridge.js +179 -0
  14. package/dist/accel/webcrypto-modern.d.ts +40 -0
  15. package/dist/accel/webcrypto-modern.d.ts.map +1 -0
  16. package/dist/accel/webcrypto-modern.js +213 -0
  17. package/dist/accel/worker-pool.d.ts +23 -0
  18. package/dist/accel/worker-pool.d.ts.map +1 -0
  19. package/dist/accel/worker-pool.js +119 -0
  20. package/dist/bin/cryptolib.d.ts +9 -7
  21. package/dist/bin/cryptolib.d.ts.map +1 -1
  22. package/dist/bin/cryptolib.js +25 -16
  23. package/dist/config/config.d.ts.map +1 -1
  24. package/dist/crypto.d.ts +43 -0
  25. package/dist/crypto.d.ts.map +1 -0
  26. package/dist/crypto.js +107 -0
  27. package/dist/enums.d.ts +29 -29
  28. package/dist/enums.d.ts.map +1 -1
  29. package/dist/enums.js +54 -54
  30. package/dist/errors.d.ts +14 -0
  31. package/dist/errors.d.ts.map +1 -0
  32. package/dist/errors.js +22 -0
  33. package/dist/high-level/index.d.ts +11 -0
  34. package/dist/high-level/index.d.ts.map +1 -0
  35. package/dist/high-level/index.js +53 -0
  36. package/dist/high-level/key-wrap.d.ts +16 -0
  37. package/dist/high-level/key-wrap.d.ts.map +1 -0
  38. package/dist/high-level/key-wrap.js +93 -0
  39. package/dist/high-level/multi-recipient.d.ts +25 -0
  40. package/dist/high-level/multi-recipient.d.ts.map +1 -0
  41. package/dist/high-level/multi-recipient.js +122 -0
  42. package/dist/high-level/password-encrypt.d.ts +14 -0
  43. package/dist/high-level/password-encrypt.d.ts.map +1 -0
  44. package/dist/high-level/password-encrypt.js +93 -0
  45. package/dist/high-level/sealedbox.d.ts +13 -0
  46. package/dist/high-level/sealedbox.d.ts.map +1 -0
  47. package/dist/high-level/sealedbox.js +119 -0
  48. package/dist/high-level/secretbox.d.ts +7 -0
  49. package/dist/high-level/secretbox.d.ts.map +1 -0
  50. package/dist/high-level/secretbox.js +54 -0
  51. package/dist/index.d.ts +14 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +59 -0
  54. package/dist/key/key.d.ts +6 -13
  55. package/dist/key/key.d.ts.map +1 -1
  56. package/dist/key/key.js +20 -14
  57. package/dist/key/keystore.d.ts +11 -0
  58. package/dist/key/keystore.d.ts.map +1 -0
  59. package/dist/key/keystore.js +87 -0
  60. package/dist/keys/index.d.ts +7 -0
  61. package/dist/keys/index.d.ts.map +1 -0
  62. package/dist/keys/index.js +22 -0
  63. package/dist/keys/keygen.d.ts +16 -0
  64. package/dist/keys/keygen.d.ts.map +1 -0
  65. package/dist/keys/keygen.js +128 -0
  66. package/dist/keys/keyring.d.ts +35 -0
  67. package/dist/keys/keyring.d.ts.map +1 -0
  68. package/dist/keys/keyring.js +136 -0
  69. package/dist/keys/serialize.d.ts +30 -0
  70. package/dist/keys/serialize.d.ts.map +1 -0
  71. package/dist/keys/serialize.js +120 -0
  72. package/dist/lib/decrypt.d.ts +4 -1
  73. package/dist/lib/decrypt.d.ts.map +1 -1
  74. package/dist/lib/decrypt.js +43 -51
  75. package/dist/lib/encrypt.d.ts +1 -1
  76. package/dist/lib/encrypt.d.ts.map +1 -1
  77. package/dist/lib/encrypt.js +29 -45
  78. package/dist/lib/generate.d.ts.map +1 -1
  79. package/dist/lib/generate.js +56 -63
  80. package/dist/lib/index.d.ts.map +1 -1
  81. package/dist/lib/index.js +17 -7
  82. package/dist/lib/key-output.d.ts +7 -0
  83. package/dist/lib/key-output.d.ts.map +1 -0
  84. package/dist/lib/key-output.js +50 -0
  85. package/dist/lib/reformat.d.ts +6 -1
  86. package/dist/lib/reformat.d.ts.map +1 -1
  87. package/dist/lib/reformat.js +37 -61
  88. package/dist/lib/revoke.d.ts +2 -2
  89. package/dist/lib/revoke.d.ts.map +1 -1
  90. package/dist/lib/revoke.js +33 -50
  91. package/dist/lib/session.d.ts.map +1 -1
  92. package/dist/lib/session.js +21 -36
  93. package/dist/lib/sign.d.ts.map +1 -1
  94. package/dist/lib/sign.js +36 -43
  95. package/dist/lib/verify.d.ts +1 -3
  96. package/dist/lib/verify.d.ts.map +1 -1
  97. package/dist/lib/verify.js +25 -30
  98. package/dist/modern/aead.d.ts +17 -0
  99. package/dist/modern/aead.d.ts.map +1 -0
  100. package/dist/modern/aead.js +51 -0
  101. package/dist/modern/aes.d.ts +35 -0
  102. package/dist/modern/aes.d.ts.map +1 -0
  103. package/dist/modern/aes.js +82 -0
  104. package/dist/modern/cost-limits.d.ts +11 -0
  105. package/dist/modern/cost-limits.d.ts.map +1 -0
  106. package/dist/modern/cost-limits.js +35 -0
  107. package/dist/modern/curves.d.ts +86 -0
  108. package/dist/modern/curves.d.ts.map +1 -0
  109. package/dist/modern/curves.js +171 -0
  110. package/dist/modern/ecdh.d.ts +11 -0
  111. package/dist/modern/ecdh.d.ts.map +1 -0
  112. package/dist/modern/ecdh.js +28 -0
  113. package/dist/modern/fn-dsa.d.ts +19 -0
  114. package/dist/modern/fn-dsa.d.ts.map +1 -0
  115. package/dist/modern/fn-dsa.js +57 -0
  116. package/dist/modern/hash.d.ts +13 -0
  117. package/dist/modern/hash.d.ts.map +1 -0
  118. package/dist/modern/hash.js +45 -0
  119. package/dist/modern/hpke.d.ts +47 -0
  120. package/dist/modern/hpke.d.ts.map +1 -0
  121. package/dist/modern/hpke.js +207 -0
  122. package/dist/modern/index.d.ts +40 -0
  123. package/dist/modern/index.d.ts.map +1 -0
  124. package/dist/modern/index.js +194 -0
  125. package/dist/modern/kdf.d.ts +23 -0
  126. package/dist/modern/kdf.d.ts.map +1 -0
  127. package/dist/modern/kdf.js +67 -0
  128. package/dist/modern/mac.d.ts +51 -0
  129. package/dist/modern/mac.d.ts.map +1 -0
  130. package/dist/modern/mac.js +119 -0
  131. package/dist/modern/password.d.ts +40 -0
  132. package/dist/modern/password.d.ts.map +1 -0
  133. package/dist/modern/password.js +123 -0
  134. package/dist/modern/pq-hash-sign.d.ts +18 -0
  135. package/dist/modern/pq-hash-sign.d.ts.map +1 -0
  136. package/dist/modern/pq-hash-sign.js +73 -0
  137. package/dist/modern/pq-kem.d.ts +88 -0
  138. package/dist/modern/pq-kem.d.ts.map +1 -0
  139. package/dist/modern/pq-kem.js +270 -0
  140. package/dist/modern/pq-sign.d.ts +30 -0
  141. package/dist/modern/pq-sign.d.ts.map +1 -0
  142. package/dist/modern/pq-sign.js +94 -0
  143. package/dist/modern/pq.d.ts +38 -0
  144. package/dist/modern/pq.d.ts.map +1 -0
  145. package/dist/modern/pq.js +80 -0
  146. package/dist/modern/signing.d.ts +16 -0
  147. package/dist/modern/signing.d.ts.map +1 -0
  148. package/dist/modern/signing.js +34 -0
  149. package/dist/protocols/index.d.ts +7 -0
  150. package/dist/protocols/index.d.ts.map +1 -0
  151. package/dist/protocols/index.js +46 -0
  152. package/dist/protocols/iso20022.d.ts +51 -0
  153. package/dist/protocols/iso20022.d.ts.map +1 -0
  154. package/dist/protocols/iso20022.js +145 -0
  155. package/dist/protocols/opaque/ake.d.ts +51 -0
  156. package/dist/protocols/opaque/ake.d.ts.map +1 -0
  157. package/dist/protocols/opaque/ake.js +102 -0
  158. package/dist/protocols/opaque/client.d.ts +45 -0
  159. package/dist/protocols/opaque/client.d.ts.map +1 -0
  160. package/dist/protocols/opaque/client.js +63 -0
  161. package/dist/protocols/opaque/config.d.ts +14 -0
  162. package/dist/protocols/opaque/config.d.ts.map +1 -0
  163. package/dist/protocols/opaque/config.js +18 -0
  164. package/dist/protocols/opaque/credentials.d.ts +29 -0
  165. package/dist/protocols/opaque/credentials.d.ts.map +1 -0
  166. package/dist/protocols/opaque/credentials.js +61 -0
  167. package/dist/protocols/opaque/envelope.d.ts +36 -0
  168. package/dist/protocols/opaque/envelope.d.ts.map +1 -0
  169. package/dist/protocols/opaque/envelope.js +77 -0
  170. package/dist/protocols/opaque/ksf.d.ts +15 -0
  171. package/dist/protocols/opaque/ksf.d.ts.map +1 -0
  172. package/dist/protocols/opaque/ksf.js +27 -0
  173. package/dist/protocols/opaque/messages.d.ts +61 -0
  174. package/dist/protocols/opaque/messages.d.ts.map +1 -0
  175. package/dist/protocols/opaque/messages.js +94 -0
  176. package/dist/protocols/opaque/server.d.ts +33 -0
  177. package/dist/protocols/opaque/server.d.ts.map +1 -0
  178. package/dist/protocols/opaque/server.js +74 -0
  179. package/dist/protocols/opaque/suite.d.ts +58 -0
  180. package/dist/protocols/opaque/suite.d.ts.map +1 -0
  181. package/dist/protocols/opaque/suite.js +115 -0
  182. package/dist/protocols/pake.d.ts +14 -0
  183. package/dist/protocols/pake.d.ts.map +1 -0
  184. package/dist/protocols/pake.js +33 -0
  185. package/dist/protocols/pqxdh.d.ts +53 -0
  186. package/dist/protocols/pqxdh.d.ts.map +1 -0
  187. package/dist/protocols/pqxdh.js +143 -0
  188. package/dist/protocols/ratchet.d.ts +52 -0
  189. package/dist/protocols/ratchet.d.ts.map +1 -0
  190. package/dist/protocols/ratchet.js +187 -0
  191. package/dist/protocols/threshold.d.ts +23 -0
  192. package/dist/protocols/threshold.d.ts.map +1 -0
  193. package/dist/protocols/threshold.js +191 -0
  194. package/dist/registry.d.ts +20 -0
  195. package/dist/registry.d.ts.map +1 -0
  196. package/dist/registry.js +399 -0
  197. package/dist/streaming/index.d.ts +7 -0
  198. package/dist/streaming/index.d.ts.map +1 -0
  199. package/dist/streaming/index.js +15 -0
  200. package/dist/streaming/stream-aead.d.ts +17 -0
  201. package/dist/streaming/stream-aead.d.ts.map +1 -0
  202. package/dist/streaming/stream-aead.js +125 -0
  203. package/dist/streaming/stream-hash.d.ts +9 -0
  204. package/dist/streaming/stream-hash.d.ts.map +1 -0
  205. package/dist/streaming/stream-hash.js +52 -0
  206. package/dist/streaming/web-streams.d.ts +17 -0
  207. package/dist/streaming/web-streams.d.ts.map +1 -0
  208. package/dist/streaming/web-streams.js +114 -0
  209. package/dist/tokens/index.d.ts +5 -0
  210. package/dist/tokens/index.d.ts.map +1 -0
  211. package/dist/tokens/index.js +15 -0
  212. package/dist/tokens/key-rotation.d.ts +20 -0
  213. package/dist/tokens/key-rotation.d.ts.map +1 -0
  214. package/dist/tokens/key-rotation.js +76 -0
  215. package/dist/tokens/paseto.d.ts +46 -0
  216. package/dist/tokens/paseto.d.ts.map +1 -0
  217. package/dist/tokens/paseto.js +200 -0
  218. package/dist/types/types.d.ts +24 -16
  219. package/dist/types/types.d.ts.map +1 -1
  220. package/dist/utils.d.ts +13 -0
  221. package/dist/utils.d.ts.map +1 -0
  222. package/dist/utils.js +56 -0
  223. package/package.json +77 -142
  224. package/dist/COPYRIGHT +0 -15
  225. package/dist/Report.txt +0 -160
  226. package/dist/bin/cryptolib.js.map +0 -1
  227. package/dist/config/config.js.map +0 -1
  228. package/dist/data/decrypted.txt +0 -1
  229. package/dist/data/detached.sig +0 -1
  230. package/dist/data/encrypted.txt +0 -1
  231. package/dist/data/signed.sig +0 -1
  232. package/dist/enums.js.map +0 -1
  233. package/dist/index.js.map +0 -1
  234. package/dist/key/key.js.map +0 -1
  235. package/dist/key/rsa-reformat.cert +0 -1
  236. package/dist/key/rsa-reformat.key +0 -1
  237. package/dist/key/rsa-reformat.pub +0 -1
  238. package/dist/key/rsa-revoke.key +0 -1
  239. package/dist/key/rsa-revoke.pub +0 -1
  240. package/dist/key/rsa.cert +0 -1
  241. package/dist/key/rsa.key +0 -1
  242. package/dist/key/rsa.pub +0 -1
  243. package/dist/lib/decrypt.js.map +0 -1
  244. package/dist/lib/encrypt.js.map +0 -1
  245. package/dist/lib/generate.js.map +0 -1
  246. package/dist/lib/index.js.map +0 -1
  247. package/dist/lib/reformat.js.map +0 -1
  248. package/dist/lib/revoke.js.map +0 -1
  249. package/dist/lib/session.js.map +0 -1
  250. package/dist/lib/sign.js.map +0 -1
  251. package/dist/lib/verify.js.map +0 -1
  252. package/dist/package.json +0 -143
  253. package/dist/types/types.js.map +0 -1
@@ -15,56 +15,41 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.session = void 0;
27
37
  const openpgp = __importStar(require("openpgp"));
28
- const args = process.argv.slice(2);
29
38
  const session = async (data) => {
30
- const publicKeyBase64 = data.publicKey;
31
- const publicKeyBuffer = Buffer.from(publicKeyBase64, "base64");
32
- const publicKey = publicKeyBuffer.toString("utf-8");
33
- const EncryptSessionKeyOptions = {
34
- encryptionKeys: await openpgp.readKey({
35
- armoredKey: publicKey,
36
- }),
37
- format: "armored",
38
- wildcard: true,
39
- date: new Date(),
40
- encryptionUserIDs: [{ name: data.name, email: data.email }],
41
- };
42
- const sessionKey = await openpgp.generateSessionKey(EncryptSessionKeyOptions && {
43
- encryptionKeys: await openpgp.readKey({
44
- armoredKey: publicKey,
45
- }),
39
+ const publicKeyArmored = Buffer.from(data.publicKey, "base64").toString("latin1");
40
+ const encryptionKey = await openpgp.readKey({ armoredKey: publicKeyArmored });
41
+ return openpgp.generateSessionKey({
42
+ encryptionKeys: encryptionKey,
46
43
  date: new Date(),
47
44
  encryptionUserIDs: [{ name: data.name, email: data.email }],
48
45
  config: {
49
46
  preferredHashAlgorithm: 8,
50
47
  preferredSymmetricAlgorithm: 9,
51
48
  preferredCompressionAlgorithm: 1,
52
- checksumRequired: true,
53
49
  minRSABits: 2048,
54
- passwordCollisionCheck: true,
55
50
  },
56
51
  });
57
- console.log(sessionKey);
58
- return sessionKey;
59
52
  };
60
53
  exports.session = session;
61
- if (args instanceof Array && args.length) {
62
- const data = {
63
- email: args[1],
64
- name: args[3],
65
- publicKey: args[5],
66
- };
67
- (0, exports.session)(data);
68
- }
69
54
  exports.default = exports.session;
70
55
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/lib/sign.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AA0CxC,eAAO,MAAM,IAAI,SAAgB,MAAM,QAAQ,oBAmC9C,CAAC;AAaF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../src/lib/sign.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAiBxC,eAAO,MAAM,IAAI,GAAU,MAAM,KAAK,CAAC,QAAQ,KAAG,OAAO,CAAC,MAAM,CA6B/D,CAAC;AAGF,eAAe,IAAI,CAAC"}
package/dist/lib/sign.js CHANGED
@@ -15,56 +15,49 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.sign = void 0;
27
37
  const promises_1 = require("fs/promises");
28
- const key = __importStar(require("../key/key"));
38
+ const path = __importStar(require("path"));
29
39
  const openpgp = __importStar(require("openpgp"));
30
- const args = process.argv.slice(2);
40
+ const keystore_1 = require("../key/keystore");
31
41
  const sign = async (data) => {
32
- const passphrase = data.passphrase;
33
- const message = data.message;
34
- const detached = data.detached;
35
- const unsignedMessage = await openpgp.createCleartextMessage({
36
- text: message,
37
- });
38
- const privateKeyRead = await openpgp.decryptKey({
39
- privateKey: await openpgp.readPrivateKey({
40
- armoredKey: key.PrivateKey,
41
- }),
42
- passphrase,
43
- });
44
- const signOptions = {
45
- detached: detached,
46
- message: unsignedMessage,
47
- signingKeys: privateKeyRead,
48
- };
49
- const signed = await openpgp.sign(signOptions && {
50
- message: unsignedMessage,
51
- signingKeys: privateKeyRead,
52
- });
53
- console.log(signed);
54
- const signedMsg = await (0, promises_1.writeFile)("./src/data/signed.sig", Buffer.from(signed.toString()).toString("base64"));
55
- signedMsg;
42
+ const { passphrase, message, detached } = data;
43
+ const { privateKeyArmored } = await (0, keystore_1.loadKeystore)();
44
+ const privateKey = await (0, keystore_1.unlockPrivateKey)(privateKeyArmored, passphrase);
45
+ const signed = detached
46
+ ? await openpgp.sign({
47
+ message: await openpgp.createMessage({ text: message }),
48
+ signingKeys: privateKey,
49
+ detached: true,
50
+ })
51
+ : await openpgp.sign({
52
+ message: await openpgp.createCleartextMessage({ text: message }),
53
+ signingKeys: privateKey,
54
+ });
55
+ const sigDir = process.env["CRYPTO_DATA_DIR"];
56
+ if (sigDir) {
57
+ await (0, promises_1.writeFile)(path.join(sigDir, "signed.sig"), signed, "utf8");
58
+ }
56
59
  return signed;
57
60
  };
58
61
  exports.sign = sign;
59
- if (args instanceof Array && args.length) {
60
- const data = {
61
- passphrase: args[1],
62
- message: args[3],
63
- detached: Boolean(args[5]),
64
- publicKey: args[7],
65
- privateKey: args[9],
66
- };
67
- (0, exports.sign)(data);
68
- }
69
62
  exports.default = exports.sign;
70
63
  //# sourceMappingURL=sign.js.map
@@ -1,7 +1,5 @@
1
1
  import * as openpgp from "openpgp";
2
2
  import * as types from "../types/types";
3
- export declare const verify: (data: types.dataVerify) => Promise<openpgp.VerifyMessageResult & {
4
- data: openpgp.WebStream<string>;
5
- }>;
3
+ export declare const verify: (data: types.dataVerify) => Promise<openpgp.VerifyMessageResult<GenericWebStream<T>>>;
6
4
  export default verify;
7
5
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/lib/verify.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAiBxC,eAAO,MAAM,MAAM,SAAgB,MAAM,UAAU;;EA0BlD,CAAC;AAUF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/lib/verify.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAgBxC,eAAO,MAAM,MAAM,GAAU,MAAM,KAAK,CAAC,UAAU,8DAalD,CAAC;AAGF,eAAe,MAAM,CAAC"}
@@ -15,43 +15,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.verify = void 0;
27
- const fs_1 = require("fs");
28
37
  const openpgp = __importStar(require("openpgp"));
29
- const args = process.argv.slice(2);
30
38
  const verify = async (data) => {
31
- const message = data.message;
32
- const detachedSignatureBase64 = (0, fs_1.readFileSync)(process.cwd() + "/src/data/detached.sig");
33
- const detachedSignature = Buffer.from(detachedSignatureBase64.toString(), "base64").toString("utf-8");
34
- const publicKey = Buffer.from(data.publicKey.toString(), "base64").toString("utf-8");
35
- const signature = await openpgp.readSignature({
36
- armoredSignature: String(detachedSignature),
37
- });
38
- const verified = await openpgp.verify({
39
+ const { message, verificationKeys, date } = data;
40
+ const keyInput = Array.isArray(verificationKeys)
41
+ ? verificationKeys[0]
42
+ : verificationKeys;
43
+ const publicKey = Buffer.from(keyInput, "base64").toString("latin1");
44
+ return openpgp.verify({
39
45
  message: await openpgp.createMessage({ text: message }),
40
- signature,
41
- verificationKeys: await openpgp.readKey({
42
- armoredKey: publicKey,
43
- }),
46
+ verificationKeys: await openpgp.readKey({ armoredKey: publicKey }),
47
+ date,
44
48
  });
45
- console.log(verified);
46
- return verified;
47
49
  };
48
50
  exports.verify = verify;
49
- if (args instanceof Array && args.length) {
50
- const data = {
51
- message: args[1],
52
- publicKey: args[3],
53
- };
54
- (0, exports.verify)(data);
55
- }
56
51
  exports.default = exports.verify;
57
52
  //# sourceMappingURL=verify.js.map
@@ -0,0 +1,17 @@
1
+ export interface AeadEncryptResult {
2
+ ciphertext: string;
3
+ algorithm: "xchacha20-poly1305";
4
+ }
5
+ export interface AeadEncryptOptions {
6
+ key: string | Uint8Array;
7
+ plaintext: string | Uint8Array;
8
+ aad?: Uint8Array;
9
+ }
10
+ export interface AeadDecryptOptions {
11
+ key: string | Uint8Array;
12
+ ciphertext: string;
13
+ aad?: Uint8Array;
14
+ }
15
+ export declare function aeadEncrypt(options: AeadEncryptOptions): AeadEncryptResult;
16
+ export declare function aeadDecrypt(options: AeadDecryptOptions): Uint8Array;
17
+ //# sourceMappingURL=aead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aead.d.ts","sourceRoot":"","sources":["../../src/modern/aead.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,iBAAiB;IAEhC,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAGD,MAAM,WAAW,kBAAkB;IAEjC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAE/B,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,kBAAkB;IAEjC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AA4BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAqB1E;AAOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CAgBnE"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aeadEncrypt = aeadEncrypt;
4
+ exports.aeadDecrypt = aeadDecrypt;
5
+ const chacha_js_1 = require("@noble/ciphers/chacha.js");
6
+ const utils_js_1 = require("@noble/ciphers/utils.js");
7
+ const HEX_RE = /^[0-9a-fA-F]*$/;
8
+ function toBytes(input, encoding = "utf8") {
9
+ if (input instanceof Uint8Array)
10
+ return input;
11
+ if (encoding === "hex") {
12
+ if (!HEX_RE.test(input)) {
13
+ throw new Error("Invalid hex string");
14
+ }
15
+ return Buffer.from(input, "hex");
16
+ }
17
+ return Buffer.from(input, "utf8");
18
+ }
19
+ const NONCE_LENGTH = 24;
20
+ function aeadEncrypt(options) {
21
+ const key = toBytes(options.key, "hex");
22
+ if (key.length !== 32) {
23
+ throw new Error(`Key must be 32 bytes (256 bits), got ${key.length}`);
24
+ }
25
+ const plaintext = toBytes(options.plaintext, "utf8");
26
+ const nonce = (0, utils_js_1.randomBytes)(NONCE_LENGTH);
27
+ const cipher = (0, chacha_js_1.xchacha20poly1305)(key, nonce, options.aad);
28
+ const sealed = cipher.encrypt(plaintext);
29
+ const combined = new Uint8Array(NONCE_LENGTH + sealed.length);
30
+ combined.set(nonce);
31
+ combined.set(sealed, NONCE_LENGTH);
32
+ return {
33
+ ciphertext: Buffer.from(combined).toString("base64"),
34
+ algorithm: "xchacha20-poly1305",
35
+ };
36
+ }
37
+ function aeadDecrypt(options) {
38
+ const key = toBytes(options.key, "hex");
39
+ if (key.length !== 32) {
40
+ throw new Error(`Key must be 32 bytes (256 bits), got ${key.length}`);
41
+ }
42
+ const combined = Buffer.from(options.ciphertext, "base64");
43
+ if (combined.length < NONCE_LENGTH + 16) {
44
+ throw new Error("Ciphertext too short — missing nonce or auth tag");
45
+ }
46
+ const nonce = combined.subarray(0, NONCE_LENGTH);
47
+ const sealed = combined.subarray(NONCE_LENGTH);
48
+ const cipher = (0, chacha_js_1.xchacha20poly1305)(key, nonce, options.aad);
49
+ return cipher.decrypt(sealed);
50
+ }
51
+ //# sourceMappingURL=aead.js.map
@@ -0,0 +1,35 @@
1
+ export interface AesGcmEncryptOptions {
2
+ key: string | Uint8Array;
3
+ plaintext: string | Uint8Array;
4
+ aad?: Uint8Array;
5
+ }
6
+ export type AesGcmAlgorithm = "aes-256-gcm" | "aes-128-gcm";
7
+ export type AesGcmSivAlgorithm = "aes-256-gcm-siv" | "aes-128-gcm-siv";
8
+ export interface AesGcmEncryptResult {
9
+ ciphertext: string;
10
+ algorithm: AesGcmAlgorithm;
11
+ }
12
+ export interface AesGcmSivEncryptOptions {
13
+ key: string | Uint8Array;
14
+ plaintext: string | Uint8Array;
15
+ aad?: Uint8Array;
16
+ }
17
+ export interface AesGcmSivEncryptResult {
18
+ ciphertext: string;
19
+ algorithm: AesGcmSivAlgorithm;
20
+ }
21
+ export interface AesGcmSivDecryptOptions {
22
+ key: string | Uint8Array;
23
+ ciphertext: string;
24
+ aad?: Uint8Array;
25
+ }
26
+ export interface AesGcmDecryptOptions {
27
+ key: string | Uint8Array;
28
+ ciphertext: string;
29
+ aad?: Uint8Array;
30
+ }
31
+ export declare function aesGcmEncrypt(options: AesGcmEncryptOptions): AesGcmEncryptResult;
32
+ export declare function aesGcmDecrypt(options: AesGcmDecryptOptions): Uint8Array;
33
+ export declare function aesGcmSivEncrypt(options: AesGcmSivEncryptOptions): AesGcmSivEncryptResult;
34
+ export declare function aesGcmSivDecrypt(options: AesGcmSivDecryptOptions): Uint8Array;
35
+ //# sourceMappingURL=aes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aes.d.ts","sourceRoot":"","sources":["../../src/modern/aes.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,oBAAoB;IAEnC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAE/B,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAGvE,MAAM,WAAW,mBAAmB;IAElC,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAGD,MAAM,WAAW,uBAAuB;IAEtC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAE/B,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,sBAAsB;IAErC,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAGD,MAAM,WAAW,uBAAuB;IAEtC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAGD,MAAM,WAAW,oBAAoB;IAEnC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAoED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAcrB;AAOD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU,CAKvE;AAaD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,CAcxB;AAOD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU,CAK7E"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aesGcmEncrypt = aesGcmEncrypt;
4
+ exports.aesGcmDecrypt = aesGcmDecrypt;
5
+ exports.aesGcmSivEncrypt = aesGcmSivEncrypt;
6
+ exports.aesGcmSivDecrypt = aesGcmSivDecrypt;
7
+ const aes_js_1 = require("@noble/ciphers/aes.js");
8
+ const utils_js_1 = require("@noble/ciphers/utils.js");
9
+ const HEX_RE = /^[0-9a-fA-F]*$/;
10
+ function toBytes(input, encoding = "utf8") {
11
+ if (input instanceof Uint8Array)
12
+ return input;
13
+ if (encoding === "hex") {
14
+ if (!HEX_RE.test(input)) {
15
+ throw new Error("Invalid hex string");
16
+ }
17
+ return Buffer.from(input, "hex");
18
+ }
19
+ return Buffer.from(input, "utf8");
20
+ }
21
+ const NONCE_LENGTH = 12;
22
+ const TAG_LENGTH = 16;
23
+ function validateAesKey(rawKey) {
24
+ const key = toBytes(rawKey, "hex");
25
+ if (key.length !== 16 && key.length !== 32) {
26
+ throw new Error(`Key must be 16 bytes (128 bits) or 32 bytes (256 bits), got ${key.length}`);
27
+ }
28
+ return key;
29
+ }
30
+ function packNonceAndSealed(nonce, sealed) {
31
+ const combined = new Uint8Array(NONCE_LENGTH + sealed.length);
32
+ combined.set(nonce);
33
+ combined.set(sealed, NONCE_LENGTH);
34
+ return Buffer.from(combined).toString("base64");
35
+ }
36
+ function unpackNonceAndSealed(ciphertext) {
37
+ const combined = Buffer.from(ciphertext, "base64");
38
+ if (combined.length < NONCE_LENGTH + TAG_LENGTH) {
39
+ throw new Error("Ciphertext too short — missing nonce or auth tag");
40
+ }
41
+ return {
42
+ nonce: combined.subarray(0, NONCE_LENGTH),
43
+ sealed: combined.subarray(NONCE_LENGTH),
44
+ };
45
+ }
46
+ function aesGcmEncrypt(options) {
47
+ const key = validateAesKey(options.key);
48
+ const plaintext = toBytes(options.plaintext, "utf8");
49
+ const nonce = (0, utils_js_1.randomBytes)(NONCE_LENGTH);
50
+ const cipher = (0, aes_js_1.gcm)(key, nonce, options.aad);
51
+ const sealed = cipher.encrypt(plaintext);
52
+ const algorithm = key.length === 32 ? "aes-256-gcm" : "aes-128-gcm";
53
+ return {
54
+ ciphertext: packNonceAndSealed(nonce, sealed),
55
+ algorithm,
56
+ };
57
+ }
58
+ function aesGcmDecrypt(options) {
59
+ const key = validateAesKey(options.key);
60
+ const { nonce, sealed } = unpackNonceAndSealed(options.ciphertext);
61
+ const cipher = (0, aes_js_1.gcm)(key, nonce, options.aad);
62
+ return cipher.decrypt(sealed);
63
+ }
64
+ function aesGcmSivEncrypt(options) {
65
+ const key = validateAesKey(options.key);
66
+ const plaintext = toBytes(options.plaintext, "utf8");
67
+ const nonce = (0, utils_js_1.randomBytes)(NONCE_LENGTH);
68
+ const cipher = (0, aes_js_1.gcmsiv)(key, nonce, options.aad);
69
+ const sealed = cipher.encrypt(plaintext);
70
+ const algorithm = key.length === 32 ? "aes-256-gcm-siv" : "aes-128-gcm-siv";
71
+ return {
72
+ ciphertext: packNonceAndSealed(nonce, sealed),
73
+ algorithm,
74
+ };
75
+ }
76
+ function aesGcmSivDecrypt(options) {
77
+ const key = validateAesKey(options.key);
78
+ const { nonce, sealed } = unpackNonceAndSealed(options.ciphertext);
79
+ const cipher = (0, aes_js_1.gcmsiv)(key, nonce, options.aad);
80
+ return cipher.decrypt(sealed);
81
+ }
82
+ //# sourceMappingURL=aes.js.map
@@ -0,0 +1,11 @@
1
+ export declare const MAX_ARGON2_TIME = 10;
2
+ export declare const MAX_ARGON2_MEMORY = 262144;
3
+ export declare const MAX_ARGON2_PARALLELISM = 8;
4
+ export declare const MAX_SCRYPT_N = 131072;
5
+ export declare const MAX_SCRYPT_R = 8;
6
+ export declare const MAX_SCRYPT_P = 4;
7
+ export declare const MAX_PBKDF2_ITERATIONS = 1000000;
8
+ export declare function checkArgon2Costs(t: number, m: number, p: number): void;
9
+ export declare function checkScryptCosts(N: number, r: number, p: number): void;
10
+ export declare function checkPbkdf2Iterations(iterations: number): void;
11
+ //# sourceMappingURL=cost-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-limits.d.ts","sourceRoot":"","sources":["../../src/modern/cost-limits.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,YAAY,SAAS,CAAC;AAEnC,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAU/C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAItE;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAOtE;AAGD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_PBKDF2_ITERATIONS = exports.MAX_SCRYPT_P = exports.MAX_SCRYPT_R = exports.MAX_SCRYPT_N = exports.MAX_ARGON2_PARALLELISM = exports.MAX_ARGON2_MEMORY = exports.MAX_ARGON2_TIME = void 0;
4
+ exports.checkArgon2Costs = checkArgon2Costs;
5
+ exports.checkScryptCosts = checkScryptCosts;
6
+ exports.checkPbkdf2Iterations = checkPbkdf2Iterations;
7
+ exports.MAX_ARGON2_TIME = 10;
8
+ exports.MAX_ARGON2_MEMORY = 262144;
9
+ exports.MAX_ARGON2_PARALLELISM = 8;
10
+ exports.MAX_SCRYPT_N = 131072;
11
+ exports.MAX_SCRYPT_R = 8;
12
+ exports.MAX_SCRYPT_P = 4;
13
+ exports.MAX_PBKDF2_ITERATIONS = 1_000_000;
14
+ function checkRange(name, value, min, max) {
15
+ if (!Number.isInteger(value) || value < min || value > max) {
16
+ throw new Error(`${name} must be an integer ${min}–${max}, got ${value}`);
17
+ }
18
+ }
19
+ function checkArgon2Costs(t, m, p) {
20
+ checkRange("Argon2 time cost", t, 1, exports.MAX_ARGON2_TIME);
21
+ checkRange("Argon2 parallelism", p, 1, exports.MAX_ARGON2_PARALLELISM);
22
+ checkRange("Argon2 memory cost (KiB)", m, 8 * p, exports.MAX_ARGON2_MEMORY);
23
+ }
24
+ function checkScryptCosts(N, r, p) {
25
+ checkRange("scrypt N", N, 2, exports.MAX_SCRYPT_N);
26
+ if ((N & (N - 1)) !== 0) {
27
+ throw new Error(`scrypt N must be a power of two, got ${N}`);
28
+ }
29
+ checkRange("scrypt r", r, 1, exports.MAX_SCRYPT_R);
30
+ checkRange("scrypt p", p, 1, exports.MAX_SCRYPT_P);
31
+ }
32
+ function checkPbkdf2Iterations(iterations) {
33
+ checkRange("PBKDF2 iterations", iterations, 1, exports.MAX_PBKDF2_ITERATIONS);
34
+ }
35
+ //# sourceMappingURL=cost-limits.js.map
@@ -0,0 +1,86 @@
1
+ export interface P256KeyPair {
2
+ privateKey: string;
3
+ publicKey: string;
4
+ algorithm: "ecdsa-p256";
5
+ }
6
+ export interface P256SignResult {
7
+ signature: string;
8
+ algorithm: "ecdsa-p256";
9
+ }
10
+ export interface P256VerifyResult {
11
+ valid: boolean;
12
+ algorithm: "ecdsa-p256";
13
+ }
14
+ export interface P384KeyPair {
15
+ privateKey: string;
16
+ publicKey: string;
17
+ algorithm: "ecdsa-p384";
18
+ }
19
+ export interface P384SignResult {
20
+ signature: string;
21
+ algorithm: "ecdsa-p384";
22
+ }
23
+ export interface P384VerifyResult {
24
+ valid: boolean;
25
+ algorithm: "ecdsa-p384";
26
+ }
27
+ export interface Ed448KeyPair {
28
+ privateKey: string;
29
+ publicKey: string;
30
+ algorithm: "ed448";
31
+ }
32
+ export interface Ed448SignResult {
33
+ signature: string;
34
+ algorithm: "ed448";
35
+ }
36
+ export interface Ed448VerifyResult {
37
+ valid: boolean;
38
+ algorithm: "ed448";
39
+ }
40
+ export interface X448KeyPair {
41
+ privateKey: string;
42
+ publicKey: string;
43
+ algorithm: "x448";
44
+ }
45
+ export interface X448ExchangeResult {
46
+ sharedSecret: string;
47
+ algorithm: "x448";
48
+ }
49
+ export interface EcdhP256Result {
50
+ sharedSecret: string;
51
+ algorithm: "ecdh-p256";
52
+ }
53
+ export interface EcdhP384Result {
54
+ sharedSecret: string;
55
+ algorithm: "ecdh-p384";
56
+ }
57
+ export interface SchnorrKeyPair {
58
+ privateKey: string;
59
+ publicKey: string;
60
+ algorithm: "schnorr";
61
+ }
62
+ export interface SchnorrSignResult {
63
+ signature: string;
64
+ algorithm: "schnorr";
65
+ }
66
+ export interface SchnorrVerifyResult {
67
+ valid: boolean;
68
+ algorithm: "schnorr";
69
+ }
70
+ export declare function generateP256KeyPair(): P256KeyPair;
71
+ export declare function p256Sign(privateKeyHex: string, message: string | Uint8Array): P256SignResult;
72
+ export declare function p256Verify(publicKeyHex: string, message: string | Uint8Array, signatureHex: string): P256VerifyResult;
73
+ export declare function generateP384KeyPair(): P384KeyPair;
74
+ export declare function p384Sign(privateKeyHex: string, message: string | Uint8Array): P384SignResult;
75
+ export declare function p384Verify(publicKeyHex: string, message: string | Uint8Array, signatureHex: string): P384VerifyResult;
76
+ export declare function generateEd448KeyPair(): Ed448KeyPair;
77
+ export declare function ed448Sign(privateKeyHex: string, message: string | Uint8Array): Ed448SignResult;
78
+ export declare function ed448Verify(publicKeyHex: string, message: string | Uint8Array, signatureHex: string): Ed448VerifyResult;
79
+ export declare function generateX448KeyPair(): X448KeyPair;
80
+ export declare function x448Exchange(privateKeyHex: string, theirPublicKeyHex: string): X448ExchangeResult;
81
+ export declare function ecdhP256(privateKeyHex: string, theirPublicKeyHex: string): EcdhP256Result;
82
+ export declare function ecdhP384(privateKeyHex: string, theirPublicKeyHex: string): EcdhP384Result;
83
+ export declare function generateSchnorrKeyPair(): SchnorrKeyPair;
84
+ export declare function schnorrSign(privateKeyHex: string, message: string | Uint8Array): SchnorrSignResult;
85
+ export declare function schnorrVerify(publicKeyHex: string, message: string | Uint8Array, signatureHex: string): SchnorrVerifyResult;
86
+ //# sourceMappingURL=curves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curves.d.ts","sourceRoot":"","sources":["../../src/modern/curves.ts"],"names":[],"mappings":"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"}