react-native-quick-crypto 1.0.1 → 1.0.3

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 (72) hide show
  1. package/QuickCrypto.podspec +6 -47
  2. package/README.md +1 -1
  3. package/android/CMakeLists.txt +4 -0
  4. package/cpp/cipher/HybridCipher.cpp +17 -1
  5. package/cpp/ed25519/HybridEdKeyPair.cpp +8 -2
  6. package/cpp/hkdf/HybridHkdf.cpp +96 -0
  7. package/cpp/hkdf/HybridHkdf.hpp +28 -0
  8. package/cpp/scrypt/HybridScrypt.cpp +62 -0
  9. package/cpp/scrypt/HybridScrypt.hpp +28 -0
  10. package/lib/commonjs/ed.js +68 -0
  11. package/lib/commonjs/ed.js.map +1 -1
  12. package/lib/commonjs/hkdf.js +81 -0
  13. package/lib/commonjs/hkdf.js.map +1 -0
  14. package/lib/commonjs/index.js +33 -1
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/scrypt.js +98 -0
  17. package/lib/commonjs/scrypt.js.map +1 -0
  18. package/lib/commonjs/specs/hkdf.nitro.js +6 -0
  19. package/lib/commonjs/specs/hkdf.nitro.js.map +1 -0
  20. package/lib/commonjs/specs/scrypt.nitro.js +6 -0
  21. package/lib/commonjs/specs/scrypt.nitro.js.map +1 -0
  22. package/lib/commonjs/subtle.js +400 -7
  23. package/lib/commonjs/subtle.js.map +1 -1
  24. package/lib/commonjs/utils/types.js.map +1 -1
  25. package/lib/module/ed.js +66 -0
  26. package/lib/module/ed.js.map +1 -1
  27. package/lib/module/hkdf.js +75 -0
  28. package/lib/module/hkdf.js.map +1 -0
  29. package/lib/module/index.js +13 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/scrypt.js +93 -0
  32. package/lib/module/scrypt.js.map +1 -0
  33. package/lib/module/specs/hkdf.nitro.js +4 -0
  34. package/lib/module/specs/hkdf.nitro.js.map +1 -0
  35. package/lib/module/specs/scrypt.nitro.js +4 -0
  36. package/lib/module/specs/scrypt.nitro.js.map +1 -0
  37. package/lib/module/subtle.js +401 -8
  38. package/lib/module/subtle.js.map +1 -1
  39. package/lib/module/utils/types.js.map +1 -1
  40. package/lib/tsconfig.tsbuildinfo +1 -1
  41. package/lib/typescript/ed.d.ts +4 -1
  42. package/lib/typescript/ed.d.ts.map +1 -1
  43. package/lib/typescript/hkdf.d.ts +26 -0
  44. package/lib/typescript/hkdf.d.ts.map +1 -0
  45. package/lib/typescript/index.d.ts +11 -0
  46. package/lib/typescript/index.d.ts.map +1 -1
  47. package/lib/typescript/scrypt.d.ts +18 -0
  48. package/lib/typescript/scrypt.d.ts.map +1 -0
  49. package/lib/typescript/specs/hkdf.nitro.d.ts +9 -0
  50. package/lib/typescript/specs/hkdf.nitro.d.ts.map +1 -0
  51. package/lib/typescript/specs/scrypt.nitro.d.ts +9 -0
  52. package/lib/typescript/specs/scrypt.nitro.d.ts.map +1 -0
  53. package/lib/typescript/subtle.d.ts +4 -1
  54. package/lib/typescript/subtle.d.ts.map +1 -1
  55. package/lib/typescript/utils/types.d.ts +9 -3
  56. package/lib/typescript/utils/types.d.ts.map +1 -1
  57. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
  58. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
  59. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
  60. package/nitrogen/generated/shared/c++/HybridHkdfSpec.cpp +22 -0
  61. package/nitrogen/generated/shared/c++/HybridHkdfSpec.hpp +66 -0
  62. package/nitrogen/generated/shared/c++/HybridScryptSpec.cpp +22 -0
  63. package/nitrogen/generated/shared/c++/HybridScryptSpec.hpp +65 -0
  64. package/package.json +1 -1
  65. package/src/ed.ts +102 -0
  66. package/src/hkdf.ts +152 -0
  67. package/src/index.ts +13 -1
  68. package/src/scrypt.ts +134 -0
  69. package/src/specs/hkdf.nitro.ts +19 -0
  70. package/src/specs/scrypt.nitro.ts +23 -0
  71. package/src/subtle.ts +564 -9
  72. package/src/utils/types.ts +16 -3
@@ -1,6 +1,7 @@
1
1
  import { Buffer } from '@craftzdog/react-native-buffer';
2
+ import { CryptoKey } from './keys';
2
3
  import type { EdKeyPair } from './specs/edKeyPair.nitro';
3
- import type { BinaryLike, CFRGKeyPairType, CryptoKeyPair, DiffieHellmanCallback, DiffieHellmanOptions, GenerateKeyPairCallback, GenerateKeyPairReturn, Hex, KeyPairGenConfig, KeyUsage } from './utils';
4
+ import type { BinaryLike, CFRGKeyPairType, CryptoKeyPair, DiffieHellmanCallback, DiffieHellmanOptions, GenerateKeyPairCallback, GenerateKeyPairReturn, Hex, KeyPairGenConfig, KeyUsage, SubtleAlgorithm } from './utils';
4
5
  export declare class Ed {
5
6
  type: CFRGKeyPairType;
6
7
  config: KeyPairGenConfig;
@@ -41,4 +42,6 @@ export declare class Ed {
41
42
  export declare function diffieHellman(options: DiffieHellmanOptions, callback?: DiffieHellmanCallback): Buffer | void;
42
43
  export declare function ed_generateKeyPair(isAsync: boolean, type: CFRGKeyPairType, encoding: KeyPairGenConfig, callback: GenerateKeyPairCallback | undefined): GenerateKeyPairReturn | void;
43
44
  export declare function ed_generateKeyPairWebCrypto(type: 'ed25519' | 'ed448', extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
45
+ export declare function x_generateKeyPairWebCrypto(type: 'x25519' | 'x448', extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair>;
46
+ export declare function xDeriveBits(algorithm: SubtleAlgorithm, baseKey: CryptoKey, length: number | null): ArrayBuffer;
44
47
  //# sourceMappingURL=ed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAQxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,GAAG,EACH,gBAAgB,EAChB,QAAQ,EAET,MAAM,SAAS,CAAC;AAUjB,qBAAa,EAAE;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;gBAEN,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB;IAO3D;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI;IAsCV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC,mBAAmB,IAAI,IAAI;IAW3B,YAAY,IAAI,WAAW;IAI3B,aAAa,IAAI,WAAW;IAI5B;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW;IAIvD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAMvE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW;IAMtD,MAAM,CACV,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAMnB,UAAU,CACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO;CAKX;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI,CAKf;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,uBAAuB,GAAG,SAAS,GAC5C,qBAAqB,GAAG,IAAI,CAgE9B;AAkDD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB"}
1
+ {"version":3,"file":"ed.d.ts","sourceRoot":"","sources":["../../src/ed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EACL,SAAS,EAIV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,GAAG,EACH,gBAAgB,EAChB,QAAQ,EACR,eAAe,EAChB,MAAM,SAAS,CAAC;AAUjB,qBAAa,EAAE;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;gBAEN,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB;IAO3D;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI;IAsCV,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC,mBAAmB,IAAI,IAAI;IAW3B,YAAY,IAAI,WAAW;IAI3B,aAAa,IAAI,WAAW;IAI5B;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW;IAIvD,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAMvE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,WAAW;IAMtD,MAAM,CACV,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IAMnB,UAAU,CACR,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,GAAG,CAAC,EAAE,UAAU,GACf,OAAO;CAKX;AAGD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,MAAM,GAAG,IAAI,CAKf;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,uBAAuB,GAAG,SAAS,GAC5C,qBAAqB,GAAG,IAAI,CAgE9B;AAkDD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,SAAS,GAAG,OAAO,EACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,WAAW,CAoCb"}
@@ -0,0 +1,26 @@
1
+ import { Buffer } from '@craftzdog/react-native-buffer';
2
+ import type { BinaryLike } from './utils';
3
+ type KeyMaterial = BinaryLike;
4
+ type Salt = BinaryLike;
5
+ type Info = BinaryLike;
6
+ export interface HkdfAlgorithm {
7
+ name: string;
8
+ hash: string | {
9
+ name: string;
10
+ };
11
+ salt: BinaryLike;
12
+ info: BinaryLike;
13
+ }
14
+ export interface CryptoKeyInternal {
15
+ keyObject: {
16
+ export: () => Buffer;
17
+ };
18
+ }
19
+ export interface HkdfCallback {
20
+ (err: Error | null, derivedKey?: Buffer): void;
21
+ }
22
+ export declare function hkdf(digest: string, key: KeyMaterial, salt: Salt, info: Info, keylen: number, callback: HkdfCallback): void;
23
+ export declare function hkdfSync(digest: string, key: KeyMaterial, salt: Salt, info: Info, keylen: number): Buffer;
24
+ export declare function hkdfDeriveBits(algorithm: HkdfAlgorithm, baseKey: CryptoKeyInternal, length: number): ArrayBuffer;
25
+ export {};
26
+ //# sourceMappingURL=hkdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["../../src/hkdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,WAAW,GAAG,UAAU,CAAC;AAC9B,KAAK,IAAI,GAAG,UAAU,CAAC;AACvB,KAAK,IAAI,GAAG,UAAU,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChD;AA2BD,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,GACrB,IAAI,CAiCN;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GACb,MAAM,CAoBR;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,GACb,WAAW,CAyBb"}
@@ -3,6 +3,8 @@ import * as keys from './keys';
3
3
  import * as blake3 from './blake3';
4
4
  import * as cipher from './cipher';
5
5
  import * as ed from './ed';
6
+ import * as hkdf from './hkdf';
7
+ import * as scrypt from './scrypt';
6
8
  import * as random from './random';
7
9
  import * as utils from './utils';
8
10
  import * as subtle from './subtle';
@@ -90,9 +92,14 @@ declare const QuickCrypto: {
90
92
  rng: typeof random.randomBytes;
91
93
  pseudoRandomBytes: typeof random.randomBytes;
92
94
  prng: typeof random.randomBytes;
95
+ scrypt(password: utils.BinaryLike, salt: utils.BinaryLike, keylen: number, options?: scrypt.ScryptOptions | ((err: Error | null, derivedKey?: Buffer) => void), callback?: (err: Error | null, derivedKey?: Buffer) => void): void;
96
+ scryptSync(password: utils.BinaryLike, salt: utils.BinaryLike, keylen: number, options?: scrypt.ScryptOptions): Buffer;
93
97
  pbkdf2(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest: string, callback: (err: Error | null, derivedKey?: Buffer) => void): void;
94
98
  pbkdf2Sync(password: utils.BinaryLike, salt: utils.BinaryLike, iterations: number, keylen: number, digest?: utils.HashAlgorithm): Buffer;
95
99
  pbkdf2DeriveBits(algorithm: utils.SubtleAlgorithm, baseKey: keys.CryptoKey, length: number): Promise<ArrayBuffer>;
100
+ hkdf(digest: string, key: utils.BinaryLike, salt: utils.BinaryLike, info: utils.BinaryLike, keylen: number, callback: hkdf.HkdfCallback): void;
101
+ hkdfSync(digest: string, key: utils.BinaryLike, salt: utils.BinaryLike, info: utils.BinaryLike, keylen: number): Buffer;
102
+ hkdfDeriveBits(algorithm: hkdf.HkdfAlgorithm, baseKey: hkdf.CryptoKeyInternal, length: number): ArrayBuffer;
96
103
  createHmac: typeof import("./hmac").createHmac;
97
104
  createHash: typeof import("./hash").createHash;
98
105
  getHashes: typeof import("./hash").getHashes;
@@ -100,6 +107,8 @@ declare const QuickCrypto: {
100
107
  diffieHellman(options: utils.DiffieHellmanOptions, callback?: utils.DiffieHellmanCallback): Buffer | void;
101
108
  ed_generateKeyPair(isAsync: boolean, type: utils.CFRGKeyPairType, encoding: utils.KeyPairGenConfig, callback: utils.GenerateKeyPairCallback | undefined): utils.GenerateKeyPairReturn | void;
102
109
  ed_generateKeyPairWebCrypto(type: "ed25519" | "ed448", extractable: boolean, keyUsages: utils.KeyUsage[]): Promise<utils.CryptoKeyPair>;
110
+ x_generateKeyPairWebCrypto(type: "x25519" | "x448", extractable: boolean, keyUsages: utils.KeyUsage[]): Promise<utils.CryptoKeyPair>;
111
+ xDeriveBits(algorithm: utils.SubtleAlgorithm, baseKey: keys.CryptoKey, length: number | null): ArrayBuffer;
103
112
  Ed: typeof ed.Ed;
104
113
  getCiphers(): string[];
105
114
  createDecipheriv(algorithm: import("crypto").CipherCCMTypes, key: utils.BinaryLikeNode, iv: utils.BinaryLike, options: import("crypto").CipherCCMOptions): cipher.Decipher;
@@ -157,7 +166,9 @@ export * from './ed';
157
166
  export * from './keys';
158
167
  export * from './hash';
159
168
  export * from './hmac';
169
+ export * from './hkdf';
160
170
  export * from './pbkdf2';
171
+ export * from './scrypt';
161
172
  export * from './random';
162
173
  export * from './utils';
163
174
  export * 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;AAI3B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAInC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBAHmB,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkCrC,yCACM,EAAC,YACX;qBAWuC,0BAC7B,EAAE,2BACT;qBAE6d,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;+DAAtN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CApCvU,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,YAMnB,CAAC;AAMF,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,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,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
+ {"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;AAInC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;GAGG;AACH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;uBANR,cAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAkCe,yCACL,EAAC,YACf;qBAeX,0BAAoB,EACtB,2BAAqB;qBAY+K,oCAAiC,EAAC,2BAAwB;;;;;;;;;;;+DAAtN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA5CxC,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,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Buffer } from '@craftzdog/react-native-buffer';
2
+ import type { BinaryLike } from './utils';
3
+ type Password = BinaryLike;
4
+ type Salt = BinaryLike;
5
+ export interface ScryptOptions {
6
+ N?: number;
7
+ r?: number;
8
+ p?: number;
9
+ cost?: number;
10
+ blockSize?: number;
11
+ parallelization?: number;
12
+ maxmem?: number;
13
+ }
14
+ type ScryptCallback = (err: Error | null, derivedKey?: Buffer) => void;
15
+ export declare function scrypt(password: Password, salt: Salt, keylen: number, options?: ScryptOptions | ScryptCallback, callback?: ScryptCallback): void;
16
+ export declare function scryptSync(password: Password, salt: Salt, keylen: number, options?: ScryptOptions): Buffer;
17
+ export {};
18
+ //# sourceMappingURL=scrypt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrypt.d.ts","sourceRoot":"","sources":["../../src/scrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,QAAQ,GAAG,UAAU,CAAC;AAC3B,KAAK,IAAI,GAAG,UAAU,CAAC;AAEvB,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AA2CvE,wBAAgB,MAAM,CACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GAAG,cAAc,EACxC,QAAQ,CAAC,EAAE,cAAc,GACxB,IAAI,CAqCN;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAqBR"}
@@ -0,0 +1,9 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+ export interface Hkdf extends HybridObject<{
3
+ ios: 'c++';
4
+ android: 'c++';
5
+ }> {
6
+ deriveKeySync(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number): ArrayBuffer;
7
+ deriveKey(algorithm: string, key: ArrayBuffer, salt: ArrayBuffer, info: ArrayBuffer, length: number): Promise<ArrayBuffer>;
8
+ }
9
+ //# sourceMappingURL=hkdf.nitro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hkdf.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/hkdf.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,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,GACb,WAAW,CAAC;IAEf,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB"}
@@ -0,0 +1,9 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+ export interface Scrypt extends HybridObject<{
3
+ ios: 'c++';
4
+ android: 'c++';
5
+ }> {
6
+ deriveKey(password: ArrayBuffer, salt: ArrayBuffer, N: number, r: number, p: number, maxmem: number, keylen: number): Promise<ArrayBuffer>;
7
+ deriveKeySync(password: ArrayBuffer, salt: ArrayBuffer, N: number, r: number, p: number, maxmem: number, keylen: number): ArrayBuffer;
8
+ }
9
+ //# sourceMappingURL=scrypt.nitro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrypt.nitro.d.ts","sourceRoot":"","sources":["../../../src/specs/scrypt.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,MAAO,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC1E,SAAS,CACP,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,aAAa,CACX,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,WAAW,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,WAAW,CAAC;CAChB"}
@@ -6,12 +6,15 @@ export declare class Subtle {
6
6
  decrypt(algorithm: EncryptDecryptParams, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
7
7
  digest(algorithm: SubtleAlgorithm | AnyAlgorithm, data: BufferLike): Promise<ArrayBuffer>;
8
8
  deriveBits(algorithm: SubtleAlgorithm, baseKey: CryptoKey, length: number): Promise<ArrayBuffer>;
9
+ deriveKey(algorithm: SubtleAlgorithm, baseKey: CryptoKey, derivedKeyAlgorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
9
10
  encrypt(algorithm: EncryptDecryptParams, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
10
11
  exportKey(format: ImportFormat, key: CryptoKey): Promise<ArrayBuffer | JWK>;
12
+ wrapKey(format: ImportFormat, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: EncryptDecryptParams): Promise<ArrayBuffer>;
13
+ unwrapKey(format: ImportFormat, wrappedKey: BufferLike, unwrappingKey: CryptoKey, unwrapAlgorithm: EncryptDecryptParams, unwrappedKeyAlgorithm: SubtleAlgorithm | AnyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
11
14
  generateKey(algorithm: SubtleAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey | CryptoKeyPair>;
12
15
  importKey(format: ImportFormat, data: BufferLike | BinaryLike | JWK, algorithm: SubtleAlgorithm | AnyAlgorithm, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKey>;
13
16
  sign(algorithm: SubtleAlgorithm, key: CryptoKey, data: BufferLike): Promise<ArrayBuffer>;
14
- verify(algorithm: SubtleAlgorithm, key: CryptoKey, signature: BufferLike, data: BufferLike): Promise<ArrayBuffer>;
17
+ verify(algorithm: SubtleAlgorithm, key: CryptoKey, signature: BufferLike, data: BufferLike): Promise<boolean>;
15
18
  }
16
19
  export declare const subtle: Subtle;
17
20
  //# sourceMappingURL=subtle.d.ts.map
@@ -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,EAMrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,SAAS,EAKV,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAihCnD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,GAAG,aAAa,GAChC,MAAM,IAAI,aAAa,CAEzB;AAgOD,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;IAejB,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,WAAW,CACf,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,SAAS,GAAG,aAAa,CAAC;IAsE/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;IAuGf,IAAI,CACR,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;IAIjB,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC;CAGxB;AAED,eAAO,MAAM,MAAM,QAAe,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;AAiuCnD,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;IA6BjB,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"}
@@ -43,7 +43,7 @@ export type AESAlgorithm = 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW';
43
43
  export type SecretKeyAlgorithm = 'HMAC' | AESAlgorithm;
44
44
  export type SignVerifyAlgorithm = 'RSASSA-PKCS1-v1_5' | 'RSA-PSS' | 'ECDSA' | 'HMAC' | 'Ed25519' | 'Ed448' | 'ML-DSA-44' | 'ML-DSA-65' | 'ML-DSA-87';
45
45
  export type DeriveBitsAlgorithm = 'PBKDF2' | 'HKDF' | 'ECDH' | 'X25519' | 'X448';
46
- export type EncryptDecryptAlgorithm = 'RSA-OAEP' | 'AES-CTR' | 'AES-CBC' | 'AES-GCM';
46
+ export type EncryptDecryptAlgorithm = 'RSA-OAEP' | 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW' | 'ChaCha20-Poly1305';
47
47
  export type RsaOaepParams = {
48
48
  name: 'RSA-OAEP';
49
49
  label?: BufferLike;
@@ -63,6 +63,12 @@ export type AesGcmParams = {
63
63
  tagLength?: TagLength;
64
64
  additionalData?: BufferLike;
65
65
  };
66
+ export type ChaCha20Poly1305Params = {
67
+ name: 'ChaCha20-Poly1305';
68
+ iv: BufferLike;
69
+ tagLength?: 128;
70
+ additionalData?: BufferLike;
71
+ };
66
72
  export type AesKwParams = {
67
73
  name: 'AES-KW';
68
74
  wrappingKey?: BufferLike;
@@ -73,7 +79,7 @@ export type AesKeyGenParams = {
73
79
  };
74
80
  export type TagLength = 32 | 64 | 96 | 104 | 112 | 120 | 128;
75
81
  export type AESLength = 128 | 192 | 256;
76
- export type EncryptDecryptParams = AesCbcParams | AesCtrParams | AesGcmParams | RsaOaepParams;
82
+ export type EncryptDecryptParams = AesCbcParams | AesCtrParams | AesGcmParams | AesKwParams | RsaOaepParams | ChaCha20Poly1305Params;
77
83
  export type AnyAlgorithm = DigestAlgorithm | HashAlgorithm | KeyPairAlgorithm | SecretKeyAlgorithm | SignVerifyAlgorithm | DeriveBitsAlgorithm | EncryptDecryptAlgorithm | AESAlgorithm | 'PBKDF2' | 'HKDF' | 'unknown';
78
84
  export type NamedCurve = 'P-256' | 'P-384' | 'P-521';
79
85
  export type SubtleAlgorithm = {
@@ -248,7 +254,7 @@ export type DiffieHellmanOptions = {
248
254
  export type DiffieHellmanCallback = (err: Error | null, secret?: CraftzdogBuffer) => CraftzdogBuffer | void;
249
255
  export type Hex = string | Uint8Array;
250
256
  export type ImportFormat = 'raw' | 'pkcs8' | 'spki' | 'jwk';
251
- export type Operation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'generateKey' | 'importKey' | 'exportKey' | 'deriveBits';
257
+ export type Operation = 'encrypt' | 'decrypt' | 'sign' | 'verify' | 'generateKey' | 'importKey' | 'exportKey' | 'deriveBits' | 'wrapKey' | 'unwrapKey';
252
258
  export interface KeyPairOptions {
253
259
  namedCurve: string;
254
260
  publicKeyEncoding?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ target_sources(
33
33
  ../nitrogen/generated/shared/c++/HybridEcKeyPairSpec.cpp
34
34
  ../nitrogen/generated/shared/c++/HybridEdKeyPairSpec.cpp
35
35
  ../nitrogen/generated/shared/c++/HybridHashSpec.cpp
36
+ ../nitrogen/generated/shared/c++/HybridHkdfSpec.cpp
36
37
  ../nitrogen/generated/shared/c++/HybridHmacSpec.cpp
37
38
  ../nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp
38
39
  ../nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.cpp
@@ -40,6 +41,7 @@ target_sources(
40
41
  ../nitrogen/generated/shared/c++/HybridRandomSpec.cpp
41
42
  ../nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp
42
43
  ../nitrogen/generated/shared/c++/HybridRsaKeyPairSpec.cpp
44
+ ../nitrogen/generated/shared/c++/HybridScryptSpec.cpp
43
45
  ../nitrogen/generated/shared/c++/HybridSignHandleSpec.cpp
44
46
  ../nitrogen/generated/shared/c++/HybridVerifyHandleSpec.cpp
45
47
  # Android-specific Nitrogen C++ sources
@@ -22,6 +22,7 @@
22
22
  #include "HybridEdKeyPair.hpp"
23
23
  #include "HybridHash.hpp"
24
24
  #include "HybridHmac.hpp"
25
+ #include "HybridHkdf.hpp"
25
26
  #include "HybridKeyObjectHandle.hpp"
26
27
  #include "HybridPbkdf2.hpp"
27
28
  #include "HybridRandom.hpp"
@@ -30,6 +31,7 @@
30
31
  #include "HybridSignHandle.hpp"
31
32
  #include "HybridVerifyHandle.hpp"
32
33
  #include "HybridMlDsaKeyPair.hpp"
34
+ #include "HybridScrypt.hpp"
33
35
 
34
36
  namespace margelo::nitro::crypto {
35
37
 
@@ -106,6 +108,15 @@ int initialize(JavaVM* vm) {
106
108
  return std::make_shared<HybridHmac>();
107
109
  }
108
110
  );
111
+ HybridObjectRegistry::registerHybridObjectConstructor(
112
+ "Hkdf",
113
+ []() -> std::shared_ptr<HybridObject> {
114
+ static_assert(std::is_default_constructible_v<HybridHkdf>,
115
+ "The HybridObject \"HybridHkdf\" is not default-constructible! "
116
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
117
+ return std::make_shared<HybridHkdf>();
118
+ }
119
+ );
109
120
  HybridObjectRegistry::registerHybridObjectConstructor(
110
121
  "KeyObjectHandle",
111
122
  []() -> std::shared_ptr<HybridObject> {
@@ -178,6 +189,15 @@ int initialize(JavaVM* vm) {
178
189
  return std::make_shared<HybridMlDsaKeyPair>();
179
190
  }
180
191
  );
192
+ HybridObjectRegistry::registerHybridObjectConstructor(
193
+ "Scrypt",
194
+ []() -> std::shared_ptr<HybridObject> {
195
+ static_assert(std::is_default_constructible_v<HybridScrypt>,
196
+ "The HybridObject \"HybridScrypt\" is not default-constructible! "
197
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
198
+ return std::make_shared<HybridScrypt>();
199
+ }
200
+ );
181
201
  });
182
202
  }
183
203
 
@@ -17,6 +17,7 @@
17
17
  #include "HybridEdKeyPair.hpp"
18
18
  #include "HybridHash.hpp"
19
19
  #include "HybridHmac.hpp"
20
+ #include "HybridHkdf.hpp"
20
21
  #include "HybridKeyObjectHandle.hpp"
21
22
  #include "HybridPbkdf2.hpp"
22
23
  #include "HybridRandom.hpp"
@@ -25,6 +26,7 @@
25
26
  #include "HybridSignHandle.hpp"
26
27
  #include "HybridVerifyHandle.hpp"
27
28
  #include "HybridMlDsaKeyPair.hpp"
29
+ #include "HybridScrypt.hpp"
28
30
 
29
31
  @interface QuickCryptoAutolinking : NSObject
30
32
  @end
@@ -98,6 +100,15 @@
98
100
  return std::make_shared<HybridHmac>();
99
101
  }
100
102
  );
103
+ HybridObjectRegistry::registerHybridObjectConstructor(
104
+ "Hkdf",
105
+ []() -> std::shared_ptr<HybridObject> {
106
+ static_assert(std::is_default_constructible_v<HybridHkdf>,
107
+ "The HybridObject \"HybridHkdf\" is not default-constructible! "
108
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
109
+ return std::make_shared<HybridHkdf>();
110
+ }
111
+ );
101
112
  HybridObjectRegistry::registerHybridObjectConstructor(
102
113
  "KeyObjectHandle",
103
114
  []() -> std::shared_ptr<HybridObject> {
@@ -170,6 +181,15 @@
170
181
  return std::make_shared<HybridMlDsaKeyPair>();
171
182
  }
172
183
  );
184
+ HybridObjectRegistry::registerHybridObjectConstructor(
185
+ "Scrypt",
186
+ []() -> std::shared_ptr<HybridObject> {
187
+ static_assert(std::is_default_constructible_v<HybridScrypt>,
188
+ "The HybridObject \"HybridScrypt\" is not default-constructible! "
189
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
190
+ return std::make_shared<HybridScrypt>();
191
+ }
192
+ );
173
193
  }
174
194
 
175
195
  @end
@@ -0,0 +1,22 @@
1
+ ///
2
+ /// HybridHkdfSpec.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 "HybridHkdfSpec.hpp"
9
+
10
+ namespace margelo::nitro::crypto {
11
+
12
+ void HybridHkdfSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridMethod("deriveKeySync", &HybridHkdfSpec::deriveKeySync);
18
+ prototype.registerHybridMethod("deriveKey", &HybridHkdfSpec::deriveKey);
19
+ });
20
+ }
21
+
22
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,66 @@
1
+ ///
2
+ /// HybridHkdfSpec.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
+ #include <string>
21
+ #include <NitroModules/Promise.hpp>
22
+
23
+ namespace margelo::nitro::crypto {
24
+
25
+ using namespace margelo::nitro;
26
+
27
+ /**
28
+ * An abstract base class for `Hkdf`
29
+ * Inherit this class to create instances of `HybridHkdfSpec` in C++.
30
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
31
+ * @example
32
+ * ```cpp
33
+ * class HybridHkdf: public HybridHkdfSpec {
34
+ * public:
35
+ * HybridHkdf(...): HybridObject(TAG) { ... }
36
+ * // ...
37
+ * };
38
+ * ```
39
+ */
40
+ class HybridHkdfSpec: public virtual HybridObject {
41
+ public:
42
+ // Constructor
43
+ explicit HybridHkdfSpec(): HybridObject(TAG) { }
44
+
45
+ // Destructor
46
+ ~HybridHkdfSpec() override = default;
47
+
48
+ public:
49
+ // Properties
50
+
51
+
52
+ public:
53
+ // Methods
54
+ virtual std::shared_ptr<ArrayBuffer> deriveKeySync(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length) = 0;
55
+ virtual std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> deriveKey(const std::string& algorithm, const std::shared_ptr<ArrayBuffer>& key, const std::shared_ptr<ArrayBuffer>& salt, const std::shared_ptr<ArrayBuffer>& info, double length) = 0;
56
+
57
+ protected:
58
+ // Hybrid Setup
59
+ void loadHybridMethods() override;
60
+
61
+ protected:
62
+ // Tag for logging
63
+ static constexpr auto TAG = "Hkdf";
64
+ };
65
+
66
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,22 @@
1
+ ///
2
+ /// HybridScryptSpec.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 "HybridScryptSpec.hpp"
9
+
10
+ namespace margelo::nitro::crypto {
11
+
12
+ void HybridScryptSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridMethod("deriveKey", &HybridScryptSpec::deriveKey);
18
+ prototype.registerHybridMethod("deriveKeySync", &HybridScryptSpec::deriveKeySync);
19
+ });
20
+ }
21
+
22
+ } // namespace margelo::nitro::crypto
@@ -0,0 +1,65 @@
1
+ ///
2
+ /// HybridScryptSpec.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
+ #include <NitroModules/Promise.hpp>
21
+
22
+ namespace margelo::nitro::crypto {
23
+
24
+ using namespace margelo::nitro;
25
+
26
+ /**
27
+ * An abstract base class for `Scrypt`
28
+ * Inherit this class to create instances of `HybridScryptSpec` in C++.
29
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
30
+ * @example
31
+ * ```cpp
32
+ * class HybridScrypt: public HybridScryptSpec {
33
+ * public:
34
+ * HybridScrypt(...): HybridObject(TAG) { ... }
35
+ * // ...
36
+ * };
37
+ * ```
38
+ */
39
+ class HybridScryptSpec: public virtual HybridObject {
40
+ public:
41
+ // Constructor
42
+ explicit HybridScryptSpec(): HybridObject(TAG) { }
43
+
44
+ // Destructor
45
+ ~HybridScryptSpec() override = default;
46
+
47
+ public:
48
+ // Properties
49
+
50
+
51
+ public:
52
+ // Methods
53
+ virtual std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> deriveKey(const std::shared_ptr<ArrayBuffer>& password, const std::shared_ptr<ArrayBuffer>& salt, double N, double r, double p, double maxmem, double keylen) = 0;
54
+ virtual std::shared_ptr<ArrayBuffer> deriveKeySync(const std::shared_ptr<ArrayBuffer>& password, const std::shared_ptr<ArrayBuffer>& salt, double N, double r, double p, double maxmem, double keylen) = 0;
55
+
56
+ protected:
57
+ // Hybrid Setup
58
+ void loadHybridMethods() override;
59
+
60
+ protected:
61
+ // Tag for logging
62
+ static constexpr auto TAG = "Scrypt";
63
+ };
64
+
65
+ } // namespace margelo::nitro::crypto
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-quick-crypto",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "A fast implementation of Node's `crypto` module written in C/C++ JSI",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",