react-native-quick-crypto 1.0.6 → 1.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.
- package/QuickCrypto.podspec +6 -1
- package/README.md +11 -7
- package/android/CMakeLists.txt +4 -0
- package/cpp/blake3/HybridBlake3.cpp +1 -1
- package/cpp/cipher/CCMCipher.cpp +1 -1
- package/cpp/cipher/ChaCha20Cipher.cpp +1 -1
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +1 -1
- package/cpp/cipher/GCMCipher.cpp +1 -1
- package/cpp/cipher/HybridCipher.cpp +1 -1
- package/cpp/cipher/HybridCipherFactory.hpp +1 -1
- package/cpp/cipher/HybridRsaCipher.cpp +1 -1
- package/cpp/cipher/OCBCipher.cpp +1 -1
- package/cpp/cipher/XSalsa20Cipher.cpp +1 -1
- package/cpp/dh/HybridDiffieHellman.cpp +438 -0
- package/cpp/dh/HybridDiffieHellman.hpp +41 -0
- package/cpp/ec/HybridEcKeyPair.cpp +1 -1
- package/cpp/ec/HybridEcKeyPair.hpp +1 -1
- package/cpp/ecdh/HybridECDH.cpp +306 -0
- package/cpp/ecdh/HybridECDH.hpp +42 -0
- package/cpp/ed25519/HybridEdKeyPair.hpp +1 -1
- package/cpp/hash/HybridHash.cpp +1 -1
- package/cpp/hkdf/HybridHkdf.cpp +1 -1
- package/cpp/keys/HybridKeyObjectHandle.cpp +1 -1
- package/cpp/keys/KeyObjectData.cpp +1 -1
- package/cpp/keys/KeyObjectData.hpp +1 -1
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +1 -1
- package/cpp/pbkdf2/HybridPbkdf2.cpp +1 -1
- package/cpp/random/HybridRandom.cpp +1 -1
- package/cpp/rsa/HybridRsaKeyPair.cpp +1 -1
- package/cpp/scrypt/HybridScrypt.cpp +1 -1
- package/cpp/sign/HybridSignHandle.cpp +1 -1
- package/cpp/sign/HybridVerifyHandle.cpp +1 -1
- package/cpp/utils/{Utils.hpp → QuickCryptoUtils.hpp} +14 -0
- package/lib/commonjs/dh-groups.js +29 -0
- package/lib/commonjs/dh-groups.js.map +1 -0
- package/lib/commonjs/diffie-hellman.js +147 -0
- package/lib/commonjs/diffie-hellman.js.map +1 -0
- package/lib/commonjs/ec.js +68 -180
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ecdh.js +71 -0
- package/lib/commonjs/ecdh.js.map +1 -0
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/keys/index.js +12 -0
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/signVerify.js +42 -0
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/specs/diffie-hellman.nitro.js +6 -0
- package/lib/commonjs/specs/diffie-hellman.nitro.js.map +1 -0
- package/lib/commonjs/specs/ecdh.nitro.js +6 -0
- package/lib/commonjs/specs/ecdh.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +2 -0
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/module/dh-groups.js +25 -0
- package/lib/module/dh-groups.js.map +1 -0
- package/lib/module/diffie-hellman.js +140 -0
- package/lib/module/diffie-hellman.js.map +1 -0
- package/lib/module/ec.js +65 -178
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ecdh.js +65 -0
- package/lib/module/ecdh.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/keys/index.js +2 -2
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/signVerify.js +40 -0
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/specs/diffie-hellman.nitro.js +4 -0
- package/lib/module/specs/diffie-hellman.nitro.js.map +1 -0
- package/lib/module/specs/ecdh.nitro.js +4 -0
- package/lib/module/specs/ecdh.nitro.js.map +1 -0
- package/lib/module/subtle.js +3 -1
- package/lib/module/subtle.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/dh-groups.d.ts +5 -0
- package/lib/typescript/dh-groups.d.ts.map +1 -0
- package/lib/typescript/diffie-hellman.d.ts +16 -0
- package/lib/typescript/diffie-hellman.d.ts.map +1 -0
- package/lib/typescript/ec.d.ts +2 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ecdh.d.ts +16 -0
- package/lib/typescript/ecdh.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +11 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +2 -2
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/signVerify.d.ts +6 -0
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts +17 -0
- package/lib/typescript/specs/diffie-hellman.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts +14 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.hpp +72 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.hpp +70 -0
- package/package.json +1 -1
- package/src/dh-groups.ts +27 -0
- package/src/diffie-hellman.ts +191 -0
- package/src/ec.ts +73 -177
- package/src/ecdh.ts +76 -0
- package/src/index.ts +6 -0
- package/src/keys/generateKeyPair.ts +11 -2
- package/src/keys/index.ts +10 -1
- package/src/keys/signVerify.ts +84 -0
- package/src/specs/diffie-hellman.nitro.ts +15 -0
- package/src/specs/ecdh.nitro.ts +11 -0
- package/src/subtle.ts +8 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dh-groups.d.ts","sourceRoot":"","sources":["../../src/dh-groups.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA0B1E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
2
|
+
export declare class DiffieHellman {
|
|
3
|
+
private _hybrid;
|
|
4
|
+
constructor(sizeOrPrime: number | Buffer | string, generator?: number | Buffer | string, encoding?: BufferEncoding);
|
|
5
|
+
generateKeys(encoding?: BufferEncoding): Buffer | string;
|
|
6
|
+
computeSecret(otherPublicKey: Buffer | string, inputEncoding?: BufferEncoding, outputEncoding?: BufferEncoding): Buffer | string;
|
|
7
|
+
getPrime(encoding?: BufferEncoding): Buffer | string;
|
|
8
|
+
getGenerator(encoding?: BufferEncoding): Buffer | string;
|
|
9
|
+
getPublicKey(encoding?: BufferEncoding): Buffer | string;
|
|
10
|
+
getPrivateKey(encoding?: BufferEncoding): Buffer | string;
|
|
11
|
+
setPublicKey(publicKey: Buffer | string, encoding?: BufferEncoding): void;
|
|
12
|
+
setPrivateKey(privateKey: Buffer | string, encoding?: BufferEncoding): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createDiffieHellman(primeOrSize: number | string | Buffer, primeEncodingOrGenerator?: string | number | Buffer, generator?: number | string | Buffer, _generatorEncoding?: string): DiffieHellman;
|
|
15
|
+
export declare function getDiffieHellman(groupName: string): DiffieHellman;
|
|
16
|
+
//# sourceMappingURL=diffie-hellman.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffie-hellman.d.ts","sourceRoot":"","sources":["../../src/diffie-hellman.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAyB;gBAGtC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EACrC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EACpC,QAAQ,CAAC,EAAE,cAAc;IAkC3B,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAMxD,aAAa,CACX,cAAc,EAAE,MAAM,GAAG,MAAM,EAC/B,aAAa,CAAC,EAAE,cAAc,EAC9B,cAAc,CAAC,EAAE,cAAc,GAC9B,MAAM,GAAG,MAAM;IAelB,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAMpD,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAMxD,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAMxD,aAAa,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAMzD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;IAUzE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;CAS5E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EACrC,wBAAwB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EACnD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EACpC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,aAAa,CA6Df;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAOjE"}
|
package/lib/typescript/ec.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EcKeyPair } from './specs/ecKeyPair.nitro';
|
|
2
2
|
import { CryptoKey, PublicKeyObject, PrivateKeyObject } from './keys';
|
|
3
3
|
import type { CryptoKeyPair, KeyPairOptions, KeyUsage, SubtleAlgorithm, BufferLike, BinaryLike, JWK, ImportFormat, GenerateKeyPairOptions, KeyPairGenConfig } from './utils/types';
|
|
4
|
-
import { Buffer } from 'buffer';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
5
|
export declare class Ec {
|
|
6
6
|
native: EcKeyPair;
|
|
7
7
|
constructor(curve: string);
|
|
@@ -19,4 +19,5 @@ export declare function ec_generateKeyPairNodeSync(options: GenerateKeyPairOptio
|
|
|
19
19
|
publicKey: PublicKeyObject | Buffer | string | ArrayBuffer;
|
|
20
20
|
privateKey: PrivateKeyObject | Buffer | string | ArrayBuffer;
|
|
21
21
|
};
|
|
22
|
+
export declare function ecDeriveBits(algorithm: SubtleAlgorithm, baseKey: CryptoKey, length: number | null): ArrayBuffer;
|
|
22
23
|
//# sourceMappingURL=ec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ec.d.ts","sourceRoot":"","sources":["../../src/ec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,SAAS,EAET,eAAe,EACf,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ec.d.ts","sourceRoot":"","sources":["../../src/ec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,SAAS,EAET,eAAe,EACf,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAYvB,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,qBAAa,EAAE;IACb,MAAM,EAAE,SAAS,CAAC;gBAEN,KAAK,EAAE,MAAM;IAKnB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC;IAQ/C,mBAAmB,IAAI,aAAa;CAOrC;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACtC,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,SAAS,CAiJX;AAGD,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,EACd,MAAM,UAAU,EAChB,UAAU,eAAe,EACzB,YAAY,UAAU,KACrB,WAAW,GAAG,OAmDhB,CAAC;AAIF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,EAErB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,CAAC,CA+ExB;AAmGD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,GAAG,SAAS,EAC3C,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC;IACT,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3D,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;CAC9D,CAAC,CAID;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,sBAAsB,GAAG,SAAS,EAC3C,QAAQ,EAAE,gBAAgB,GACzB;IACD,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3D,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;CAC9D,CAIA;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,WAAW,CA+Db"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
2
|
+
export declare class ECDH {
|
|
3
|
+
private _hybrid;
|
|
4
|
+
constructor(curveName: string);
|
|
5
|
+
generateKeys(): Buffer;
|
|
6
|
+
computeSecret(otherPublicKey: Buffer | string | {
|
|
7
|
+
code: number;
|
|
8
|
+
byteLength: number;
|
|
9
|
+
}, inputEncoding?: BufferEncoding): Buffer;
|
|
10
|
+
getPrivateKey(): Buffer;
|
|
11
|
+
setPrivateKey(privateKey: Buffer | string, encoding?: BufferEncoding): void;
|
|
12
|
+
getPublicKey(encoding?: BufferEncoding): Buffer | string;
|
|
13
|
+
setPublicKey(publicKey: Buffer | string, encoding?: BufferEncoding): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createECDH(curveName: string): ECDH;
|
|
16
|
+
//# sourceMappingURL=ecdh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdh.d.ts","sourceRoot":"","sources":["../../src/ecdh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAgB;gBAEnB,SAAS,EAAE,MAAM;IAK7B,YAAY,IAAI,MAAM;IAKtB,aAAa,CACX,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EACtE,aAAa,CAAC,EAAE,cAAc,GAC7B,MAAM;IAgBT,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;IAU3E,YAAY,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM;IAYxD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;CAS1E;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElD"}
|
|
@@ -6,6 +6,8 @@ import * as ed from './ed';
|
|
|
6
6
|
import * as hkdf from './hkdf';
|
|
7
7
|
import * as scrypt from './scrypt';
|
|
8
8
|
import * as random from './random';
|
|
9
|
+
import * as ecdh from './ecdh';
|
|
10
|
+
import * as dh from './diffie-hellman';
|
|
9
11
|
import * as utils from './utils';
|
|
10
12
|
import * as subtle from './subtle';
|
|
11
13
|
/**
|
|
@@ -78,6 +80,11 @@ declare const QuickCrypto: {
|
|
|
78
80
|
normalizeEncoding(enc: string): "ascii" | "utf8" | "utf16le" | "base64" | "latin1" | "hex" | undefined;
|
|
79
81
|
validateEncoding(data: string, encoding: string): void;
|
|
80
82
|
getUIntOption(options: Record<string, any>, key: string): any;
|
|
83
|
+
createDiffieHellman(primeOrSize: number | string | Buffer, primeEncodingOrGenerator?: string | number | Buffer, generator?: number | string | Buffer, _generatorEncoding?: string): dh.DiffieHellman;
|
|
84
|
+
getDiffieHellman(groupName: string): dh.DiffieHellman;
|
|
85
|
+
DiffieHellman: typeof dh.DiffieHellman;
|
|
86
|
+
createECDH(curveName: string): ecdh.ECDH;
|
|
87
|
+
ECDH: typeof ecdh.ECDH;
|
|
81
88
|
randomFill<T extends utils.ABV>(buffer: T, callback: utils.RandomCallback<T>): void;
|
|
82
89
|
randomFill<T extends utils.ABV>(buffer: T, offset: number, callback: utils.RandomCallback<T>): void;
|
|
83
90
|
randomFill<T extends utils.ABV>(buffer: T, offset: number, size: number, callback: utils.RandomCallback<T>): void;
|
|
@@ -141,6 +148,8 @@ declare const QuickCrypto: {
|
|
|
141
148
|
KeyObject: typeof keys.KeyObject;
|
|
142
149
|
createSign: typeof keys.createSign;
|
|
143
150
|
createVerify: typeof keys.createVerify;
|
|
151
|
+
sign: typeof keys.sign;
|
|
152
|
+
verify: typeof keys.verify;
|
|
144
153
|
Sign: typeof keys.Sign;
|
|
145
154
|
Verify: typeof keys.Verify;
|
|
146
155
|
publicEncrypt: typeof keys.publicEncrypt;
|
|
@@ -171,6 +180,8 @@ export * from './hkdf';
|
|
|
171
180
|
export * from './pbkdf2';
|
|
172
181
|
export * from './scrypt';
|
|
173
182
|
export * from './random';
|
|
183
|
+
export * from './ecdh';
|
|
184
|
+
export * from './diffie-hellman';
|
|
174
185
|
export * from './utils';
|
|
175
186
|
export * from './subtle';
|
|
176
187
|
export { subtle, isCryptoKeyPair } from './subtle';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAG3B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIvC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBAVY,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoCgB,yCAC9C,EAAC,YAAe;qBAgBnB,0BACF,EAAC,2BACF;qBAiB6C,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;;;;;;+DAJ/D,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA1CzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAMnB,CAAC;AAYF,eAAe,WAAW,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateKeyPair.d.ts","sourceRoot":"","sources":["../../../src/keys/generateKeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,
|
|
1
|
+
{"version":3,"file":"generateKeyPair.d.ts","sourceRoot":"","sources":["../../../src/keys/generateKeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAIjC,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,eAAe,GAC1B,MAAM,WAAW,EACjB,SAAS,sBAAsB,EAC/B,UAAU,uBAAuB,KAChC,IAGF,CAAC;AAIF,eAAO,MAAM,sBAAsB,GACjC,MAAM,WAAW,EACjB,SAAS,sBAAsB,KAC9B,OAAO,CAAC,4BAA4B,CAUtC,CAAC;AAGF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAAC;AACtE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,sBAAsB,GAC9B,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsymmetricKeyObject, CryptoKey, KeyObject, SecretKeyObject, PublicKeyObject, PrivateKeyObject } from './classes';
|
|
2
2
|
import { generateKeyPair, generateKeyPairSync } from './generateKeyPair';
|
|
3
|
-
import { createSign, createVerify, Sign, Verify } from './signVerify';
|
|
3
|
+
import { createSign, createVerify, sign, verify, Sign, Verify } from './signVerify';
|
|
4
4
|
import { publicEncrypt, publicDecrypt, privateEncrypt, privateDecrypt } from './publicCipher';
|
|
5
5
|
import { isCryptoKey, parseKeyEncoding, parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
|
|
6
6
|
import type { BinaryLike } from '../utils';
|
|
@@ -20,5 +20,5 @@ export interface GenerateKeyOptions {
|
|
|
20
20
|
}
|
|
21
21
|
declare function generateKeySync(type: 'aes' | 'hmac', options: GenerateKeyOptions): SecretKeyObject;
|
|
22
22
|
declare function generateKey(type: 'aes' | 'hmac', options: GenerateKeyOptions, callback: (err: Error | null, key?: SecretKeyObject) => void): void;
|
|
23
|
-
export { createSecretKey, createPublicKey, createPrivateKey, CryptoKey, generateKey, generateKeySync, generateKeyPair, generateKeyPairSync, AsymmetricKeyObject, KeyObject, createSign, createVerify, Sign, Verify, publicEncrypt, publicDecrypt, privateEncrypt, privateDecrypt, parsePublicKeyEncoding, parsePrivateKeyEncoding, parseKeyEncoding, SecretKeyObject, PublicKeyObject, PrivateKeyObject, isCryptoKey, };
|
|
23
|
+
export { createSecretKey, createPublicKey, createPrivateKey, CryptoKey, generateKey, generateKeySync, generateKeyPair, generateKeyPairSync, AsymmetricKeyObject, KeyObject, createSign, createVerify, sign, verify, Sign, Verify, publicEncrypt, publicDecrypt, privateEncrypt, privateDecrypt, parsePublicKeyEncoding, parsePrivateKeyEncoding, parseKeyEncoding, SecretKeyObject, PublicKeyObject, PrivateKeyObject, isCryptoKey, };
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keys/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C,UAAU,cAAc;IACtB,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,KAAK,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,iBAAS,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAGzD;AAyED,iBAAS,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,eAAe,CAmBvD;AAED,iBAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,gBAAgB,CAoBzD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iBAAS,eAAe,CACtB,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAsCjB;AAED,iBAAS,WAAW,CAClB,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,eAAe,KAAK,IAAI,GAC3D,IAAI,CAWN;AAED,OAAO,EAEL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EAGd,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,WAAW,GACZ,CAAC"}
|
|
@@ -25,5 +25,11 @@ export declare class Verify {
|
|
|
25
25
|
}
|
|
26
26
|
export declare function createSign(algorithm: string): Sign;
|
|
27
27
|
export declare function createVerify(algorithm: string): Verify;
|
|
28
|
+
type SignCallback = (err: Error | null, signature?: Buffer) => void;
|
|
29
|
+
type VerifyCallback = (err: Error | null, result?: boolean) => void;
|
|
30
|
+
export declare function sign(algorithm: string | null | undefined, data: BinaryLike, key: KeyInput): Buffer;
|
|
31
|
+
export declare function sign(algorithm: string | null | undefined, data: BinaryLike, key: KeyInput, callback: SignCallback): void;
|
|
32
|
+
export declare function verify(algorithm: string | null | undefined, data: BinaryLike, key: KeyInput, signature: BinaryLike): boolean;
|
|
33
|
+
export declare function verify(algorithm: string | null | undefined, data: BinaryLike, key: KeyInput, signature: BinaryLike, callback: VerifyCallback): void;
|
|
28
34
|
export {};
|
|
29
35
|
//# sourceMappingURL=signVerify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signVerify.d.ts","sourceRoot":"","sources":["../../../src/keys/signVerify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAMxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAEpE,UAAU,cAAc;IACtB,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;CACpC;AA6HD,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAiB;gBAEnB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM9B,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM;CAqBpE;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAmB;gBAErB,SAAS,EAAE,MAAM;IAM7B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM9B,MAAM,CACJ,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,UAAU,EACrB,iBAAiB,CAAC,EAAE,cAAc,GACjC,OAAO;CAuBX;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
1
|
+
{"version":3,"file":"signVerify.d.ts","sourceRoot":"","sources":["../../../src/keys/signVerify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAMxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;AAEpE,UAAU,cAAc;IACtB,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;CACpC;AA6HD,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAiB;gBAEnB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM9B,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM;CAqBpE;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAmB;gBAErB,SAAS,EAAE,MAAM;IAM7B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM9B,MAAM,CACJ,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,UAAU,EACrB,iBAAiB,CAAC,EAAE,cAAc,GACjC,OAAO;CAuBX;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AACpE,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEpE,wBAAgB,IAAI,CAClB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,QAAQ,GACZ,MAAM,CAAC;AACV,wBAAgB,IAAI,CAClB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,YAAY,GACrB,IAAI,CAAC;AA6BR,wBAAgB,MAAM,CACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC;AACX,wBAAgB,MAAM,CACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,cAAc,GACvB,IAAI,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export interface DiffieHellman extends HybridObject<{
|
|
3
|
+
ios: 'c++';
|
|
4
|
+
android: 'c++';
|
|
5
|
+
}> {
|
|
6
|
+
init(prime: ArrayBuffer, generator: ArrayBuffer): void;
|
|
7
|
+
initWithSize(primeLength: number, generator: number): void;
|
|
8
|
+
generateKeys(): ArrayBuffer;
|
|
9
|
+
computeSecret(otherPublicKey: ArrayBuffer): ArrayBuffer;
|
|
10
|
+
getPrime(): ArrayBuffer;
|
|
11
|
+
getGenerator(): ArrayBuffer;
|
|
12
|
+
getPublicKey(): ArrayBuffer;
|
|
13
|
+
getPrivateKey(): ArrayBuffer;
|
|
14
|
+
setPublicKey(publicKey: ArrayBuffer): void;
|
|
15
|
+
setPrivateKey(privateKey: ArrayBuffer): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=diffie-hellman.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diffie-hellman.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/diffie-hellman.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,aACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IACvD,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,YAAY,IAAI,WAAW,CAAC;IAC5B,aAAa,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,CAAC;IACxD,QAAQ,IAAI,WAAW,CAAC;IACxB,YAAY,IAAI,WAAW,CAAC;IAC5B,YAAY,IAAI,WAAW,CAAC;IAC5B,aAAa,IAAI,WAAW,CAAC;IAC7B,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;CAC9C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export interface ECDH extends HybridObject<{
|
|
3
|
+
ios: 'c++';
|
|
4
|
+
android: 'c++';
|
|
5
|
+
}> {
|
|
6
|
+
init(curveName: string): void;
|
|
7
|
+
generateKeys(): ArrayBuffer;
|
|
8
|
+
computeSecret(otherPublicKey: ArrayBuffer): ArrayBuffer;
|
|
9
|
+
getPrivateKey(): ArrayBuffer;
|
|
10
|
+
setPrivateKey(privateKey: ArrayBuffer): void;
|
|
11
|
+
getPublicKey(): ArrayBuffer;
|
|
12
|
+
setPublicKey(publicKey: ArrayBuffer): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ecdh.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdh.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/ecdh.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,IAAK,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IACxE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,IAAI,WAAW,CAAC;IAC5B,aAAa,CAAC,cAAc,EAAE,WAAW,GAAG,WAAW,CAAC;IACxD,aAAa,IAAI,WAAW,CAAC;IAC7B,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7C,YAAY,IAAI,WAAW,CAAC;IAC5B,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../src/subtle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EAOrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,SAAS,EAKV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"subtle.d.ts","sourceRoot":"","sources":["../../src/subtle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACV,GAAG,EACH,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EAOrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,SAAS,EAKV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAsuCnD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,GAAG,aAAa,GAChC,MAAM,IAAI,aAAa,CAEzB;AAyOD,qBAAa,MAAM;IACX,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,MAAM,CACV,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAQjB,UAAU,CACd,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;IA+BjB,SAAS,CACb,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,mBAAmB,EAAE,eAAe,EACpC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAoDf,OAAO,CACX,SAAS,EAAE,oBAAoB,EAC/B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAWjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;IAevB,OAAO,CACX,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,SAAS,EACtB,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,WAAW,CAAC;IA6CjB,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,SAAS,EACxB,eAAe,EAAE,oBAAoB,EACrC,qBAAqB,EAAE,eAAe,GAAG,YAAY,EACrD,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAmDf,WAAW,CACf,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAoG/B,SAAS,CACb,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,EACnC,SAAS,EAAE,eAAe,GAAG,YAAY,EACzC,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,CAAC;IAsHf,IAAI,CACR,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAwCjB,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;CAsDpB;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
|
@@ -30,6 +30,8 @@ target_sources(
|
|
|
30
30
|
../nitrogen/generated/shared/c++/HybridBlake3Spec.cpp
|
|
31
31
|
../nitrogen/generated/shared/c++/HybridCipherSpec.cpp
|
|
32
32
|
../nitrogen/generated/shared/c++/HybridCipherFactorySpec.cpp
|
|
33
|
+
../nitrogen/generated/shared/c++/HybridDiffieHellmanSpec.cpp
|
|
34
|
+
../nitrogen/generated/shared/c++/HybridECDHSpec.cpp
|
|
33
35
|
../nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp
|
|
34
36
|
../nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp
|
|
35
37
|
../nitrogen/generated/shared/c++/HybridHashSpec.cpp
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
#include "HybridMlDsaKeyPair.hpp"
|
|
34
34
|
#include "HybridScrypt.hpp"
|
|
35
35
|
#include "HybridUtils.hpp"
|
|
36
|
+
#include "HybridECDH.hpp"
|
|
37
|
+
#include "HybridDiffieHellman.hpp"
|
|
36
38
|
|
|
37
39
|
namespace margelo::nitro::crypto {
|
|
38
40
|
|
|
@@ -208,6 +210,24 @@ int initialize(JavaVM* vm) {
|
|
|
208
210
|
return std::make_shared<HybridUtils>();
|
|
209
211
|
}
|
|
210
212
|
);
|
|
213
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
214
|
+
"ECDH",
|
|
215
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
216
|
+
static_assert(std::is_default_constructible_v<HybridECDH>,
|
|
217
|
+
"The HybridObject \"HybridECDH\" is not default-constructible! "
|
|
218
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
219
|
+
return std::make_shared<HybridECDH>();
|
|
220
|
+
}
|
|
221
|
+
);
|
|
222
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
223
|
+
"DiffieHellman",
|
|
224
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
225
|
+
static_assert(std::is_default_constructible_v<HybridDiffieHellman>,
|
|
226
|
+
"The HybridObject \"HybridDiffieHellman\" is not default-constructible! "
|
|
227
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
228
|
+
return std::make_shared<HybridDiffieHellman>();
|
|
229
|
+
}
|
|
230
|
+
);
|
|
211
231
|
});
|
|
212
232
|
}
|
|
213
233
|
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
#include "HybridMlDsaKeyPair.hpp"
|
|
29
29
|
#include "HybridScrypt.hpp"
|
|
30
30
|
#include "HybridUtils.hpp"
|
|
31
|
+
#include "HybridECDH.hpp"
|
|
32
|
+
#include "HybridDiffieHellman.hpp"
|
|
31
33
|
|
|
32
34
|
@interface QuickCryptoAutolinking : NSObject
|
|
33
35
|
@end
|
|
@@ -200,6 +202,24 @@
|
|
|
200
202
|
return std::make_shared<HybridUtils>();
|
|
201
203
|
}
|
|
202
204
|
);
|
|
205
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
206
|
+
"ECDH",
|
|
207
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
208
|
+
static_assert(std::is_default_constructible_v<HybridECDH>,
|
|
209
|
+
"The HybridObject \"HybridECDH\" is not default-constructible! "
|
|
210
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
211
|
+
return std::make_shared<HybridECDH>();
|
|
212
|
+
}
|
|
213
|
+
);
|
|
214
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
215
|
+
"DiffieHellman",
|
|
216
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
217
|
+
static_assert(std::is_default_constructible_v<HybridDiffieHellman>,
|
|
218
|
+
"The HybridObject \"HybridDiffieHellman\" is not default-constructible! "
|
|
219
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
220
|
+
return std::make_shared<HybridDiffieHellman>();
|
|
221
|
+
}
|
|
222
|
+
);
|
|
203
223
|
}
|
|
204
224
|
|
|
205
225
|
@end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridDiffieHellmanSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridDiffieHellmanSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::crypto {
|
|
11
|
+
|
|
12
|
+
void HybridDiffieHellmanSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("init", &HybridDiffieHellmanSpec::init);
|
|
18
|
+
prototype.registerHybridMethod("initWithSize", &HybridDiffieHellmanSpec::initWithSize);
|
|
19
|
+
prototype.registerHybridMethod("generateKeys", &HybridDiffieHellmanSpec::generateKeys);
|
|
20
|
+
prototype.registerHybridMethod("computeSecret", &HybridDiffieHellmanSpec::computeSecret);
|
|
21
|
+
prototype.registerHybridMethod("getPrime", &HybridDiffieHellmanSpec::getPrime);
|
|
22
|
+
prototype.registerHybridMethod("getGenerator", &HybridDiffieHellmanSpec::getGenerator);
|
|
23
|
+
prototype.registerHybridMethod("getPublicKey", &HybridDiffieHellmanSpec::getPublicKey);
|
|
24
|
+
prototype.registerHybridMethod("getPrivateKey", &HybridDiffieHellmanSpec::getPrivateKey);
|
|
25
|
+
prototype.registerHybridMethod("setPublicKey", &HybridDiffieHellmanSpec::setPublicKey);
|
|
26
|
+
prototype.registerHybridMethod("setPrivateKey", &HybridDiffieHellmanSpec::setPrivateKey);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
} // namespace margelo::nitro::crypto
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridDiffieHellmanSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
17
|
+
namespace NitroModules { class ArrayBuffer; }
|
|
18
|
+
|
|
19
|
+
#include <NitroModules/ArrayBuffer.hpp>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::crypto {
|
|
22
|
+
|
|
23
|
+
using namespace margelo::nitro;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* An abstract base class for `DiffieHellman`
|
|
27
|
+
* Inherit this class to create instances of `HybridDiffieHellmanSpec` in C++.
|
|
28
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
29
|
+
* @example
|
|
30
|
+
* ```cpp
|
|
31
|
+
* class HybridDiffieHellman: public HybridDiffieHellmanSpec {
|
|
32
|
+
* public:
|
|
33
|
+
* HybridDiffieHellman(...): HybridObject(TAG) { ... }
|
|
34
|
+
* // ...
|
|
35
|
+
* };
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
class HybridDiffieHellmanSpec: public virtual HybridObject {
|
|
39
|
+
public:
|
|
40
|
+
// Constructor
|
|
41
|
+
explicit HybridDiffieHellmanSpec(): HybridObject(TAG) { }
|
|
42
|
+
|
|
43
|
+
// Destructor
|
|
44
|
+
~HybridDiffieHellmanSpec() override = default;
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
// Properties
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
public:
|
|
51
|
+
// Methods
|
|
52
|
+
virtual void init(const std::shared_ptr<ArrayBuffer>& prime, const std::shared_ptr<ArrayBuffer>& generator) = 0;
|
|
53
|
+
virtual void initWithSize(double primeLength, double generator) = 0;
|
|
54
|
+
virtual std::shared_ptr<ArrayBuffer> generateKeys() = 0;
|
|
55
|
+
virtual std::shared_ptr<ArrayBuffer> computeSecret(const std::shared_ptr<ArrayBuffer>& otherPublicKey) = 0;
|
|
56
|
+
virtual std::shared_ptr<ArrayBuffer> getPrime() = 0;
|
|
57
|
+
virtual std::shared_ptr<ArrayBuffer> getGenerator() = 0;
|
|
58
|
+
virtual std::shared_ptr<ArrayBuffer> getPublicKey() = 0;
|
|
59
|
+
virtual std::shared_ptr<ArrayBuffer> getPrivateKey() = 0;
|
|
60
|
+
virtual void setPublicKey(const std::shared_ptr<ArrayBuffer>& publicKey) = 0;
|
|
61
|
+
virtual void setPrivateKey(const std::shared_ptr<ArrayBuffer>& privateKey) = 0;
|
|
62
|
+
|
|
63
|
+
protected:
|
|
64
|
+
// Hybrid Setup
|
|
65
|
+
void loadHybridMethods() override;
|
|
66
|
+
|
|
67
|
+
protected:
|
|
68
|
+
// Tag for logging
|
|
69
|
+
static constexpr auto TAG = "DiffieHellman";
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
} // namespace margelo::nitro::crypto
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridECDHSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "HybridECDHSpec.hpp"
|
|
9
|
+
|
|
10
|
+
namespace margelo::nitro::crypto {
|
|
11
|
+
|
|
12
|
+
void HybridECDHSpec::loadHybridMethods() {
|
|
13
|
+
// load base methods/properties
|
|
14
|
+
HybridObject::loadHybridMethods();
|
|
15
|
+
// load custom methods/properties
|
|
16
|
+
registerHybrids(this, [](Prototype& prototype) {
|
|
17
|
+
prototype.registerHybridMethod("init", &HybridECDHSpec::init);
|
|
18
|
+
prototype.registerHybridMethod("generateKeys", &HybridECDHSpec::generateKeys);
|
|
19
|
+
prototype.registerHybridMethod("computeSecret", &HybridECDHSpec::computeSecret);
|
|
20
|
+
prototype.registerHybridMethod("getPrivateKey", &HybridECDHSpec::getPrivateKey);
|
|
21
|
+
prototype.registerHybridMethod("setPrivateKey", &HybridECDHSpec::setPrivateKey);
|
|
22
|
+
prototype.registerHybridMethod("getPublicKey", &HybridECDHSpec::getPublicKey);
|
|
23
|
+
prototype.registerHybridMethod("setPublicKey", &HybridECDHSpec::setPublicKey);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
} // namespace margelo::nitro::crypto
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridECDHSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#if __has_include(<NitroModules/HybridObject.hpp>)
|
|
11
|
+
#include <NitroModules/HybridObject.hpp>
|
|
12
|
+
#else
|
|
13
|
+
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
// Forward declaration of `ArrayBuffer` to properly resolve imports.
|
|
17
|
+
namespace NitroModules { class ArrayBuffer; }
|
|
18
|
+
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <NitroModules/ArrayBuffer.hpp>
|
|
21
|
+
|
|
22
|
+
namespace margelo::nitro::crypto {
|
|
23
|
+
|
|
24
|
+
using namespace margelo::nitro;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* An abstract base class for `ECDH`
|
|
28
|
+
* Inherit this class to create instances of `HybridECDHSpec` in C++.
|
|
29
|
+
* You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
|
|
30
|
+
* @example
|
|
31
|
+
* ```cpp
|
|
32
|
+
* class HybridECDH: public HybridECDHSpec {
|
|
33
|
+
* public:
|
|
34
|
+
* HybridECDH(...): HybridObject(TAG) { ... }
|
|
35
|
+
* // ...
|
|
36
|
+
* };
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
class HybridECDHSpec: public virtual HybridObject {
|
|
40
|
+
public:
|
|
41
|
+
// Constructor
|
|
42
|
+
explicit HybridECDHSpec(): HybridObject(TAG) { }
|
|
43
|
+
|
|
44
|
+
// Destructor
|
|
45
|
+
~HybridECDHSpec() override = default;
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
// Properties
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Methods
|
|
53
|
+
virtual void init(const std::string& curveName) = 0;
|
|
54
|
+
virtual std::shared_ptr<ArrayBuffer> generateKeys() = 0;
|
|
55
|
+
virtual std::shared_ptr<ArrayBuffer> computeSecret(const std::shared_ptr<ArrayBuffer>& otherPublicKey) = 0;
|
|
56
|
+
virtual std::shared_ptr<ArrayBuffer> getPrivateKey() = 0;
|
|
57
|
+
virtual void setPrivateKey(const std::shared_ptr<ArrayBuffer>& privateKey) = 0;
|
|
58
|
+
virtual std::shared_ptr<ArrayBuffer> getPublicKey() = 0;
|
|
59
|
+
virtual void setPublicKey(const std::shared_ptr<ArrayBuffer>& publicKey) = 0;
|
|
60
|
+
|
|
61
|
+
protected:
|
|
62
|
+
// Hybrid Setup
|
|
63
|
+
void loadHybridMethods() override;
|
|
64
|
+
|
|
65
|
+
protected:
|
|
66
|
+
// Tag for logging
|
|
67
|
+
static constexpr auto TAG = "ECDH";
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
} // namespace margelo::nitro::crypto
|
package/package.json
CHANGED
package/src/dh-groups.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const DH_GROUPS: Record<string, { prime: string; generator: string }> = {
|
|
2
|
+
modp14: {
|
|
3
|
+
prime:
|
|
4
|
+
'ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff',
|
|
5
|
+
generator: '02',
|
|
6
|
+
},
|
|
7
|
+
modp15: {
|
|
8
|
+
prime:
|
|
9
|
+
'ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff',
|
|
10
|
+
generator: '02',
|
|
11
|
+
},
|
|
12
|
+
modp16: {
|
|
13
|
+
prime:
|
|
14
|
+
'ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff',
|
|
15
|
+
generator: '02',
|
|
16
|
+
},
|
|
17
|
+
modp17: {
|
|
18
|
+
prime:
|
|
19
|
+
'ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff',
|
|
20
|
+
generator: '02',
|
|
21
|
+
},
|
|
22
|
+
modp18: {
|
|
23
|
+
prime:
|
|
24
|
+
'ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff',
|
|
25
|
+
generator: '02',
|
|
26
|
+
},
|
|
27
|
+
};
|