react-native-quick-crypto 1.0.0 → 1.0.2

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 (92) hide show
  1. package/QuickCrypto.podspec +19 -52
  2. package/android/CMakeLists.txt +4 -2
  3. package/android/build.gradle +1 -1
  4. package/cpp/cipher/HybridCipher.cpp +20 -3
  5. package/cpp/cipher/HybridRsaCipher.cpp +20 -1
  6. package/cpp/ed25519/HybridEdKeyPair.cpp +8 -2
  7. package/cpp/keys/HybridKeyObjectHandle.cpp +8 -0
  8. package/cpp/keys/KeyObjectData.hpp +1 -1
  9. package/cpp/mldsa/HybridMlDsaKeyPair.cpp +264 -0
  10. package/cpp/mldsa/HybridMlDsaKeyPair.hpp +47 -0
  11. package/cpp/sign/HybridSignHandle.cpp +97 -22
  12. package/cpp/sign/HybridVerifyHandle.cpp +90 -21
  13. package/deps/ncrypto/.bazelignore +4 -0
  14. package/deps/ncrypto/.bazelrc +2 -0
  15. package/deps/ncrypto/.bazelversion +1 -0
  16. package/deps/ncrypto/.clang-format +111 -0
  17. package/deps/ncrypto/.github/workflows/bazel.yml +58 -0
  18. package/deps/ncrypto/.github/workflows/linter.yml +38 -0
  19. package/deps/ncrypto/.github/workflows/macos.yml +43 -0
  20. package/deps/ncrypto/.github/workflows/ubuntu.yml +46 -0
  21. package/deps/ncrypto/.github/workflows/visual-studio.yml +49 -0
  22. package/deps/ncrypto/.python-version +1 -0
  23. package/deps/ncrypto/BUILD.bazel +36 -0
  24. package/deps/ncrypto/CMakeLists.txt +55 -0
  25. package/deps/ncrypto/LICENSE +21 -0
  26. package/deps/ncrypto/MODULE.bazel +1 -0
  27. package/deps/ncrypto/MODULE.bazel.lock +280 -0
  28. package/deps/ncrypto/README.md +18 -0
  29. package/deps/ncrypto/WORKSPACE +15 -0
  30. package/deps/ncrypto/cmake/CPM.cmake +1225 -0
  31. package/deps/ncrypto/cmake/ncrypto-flags.cmake +16 -0
  32. package/deps/ncrypto/include/dh-primes.h +67 -0
  33. package/deps/ncrypto/{ncrypto.h → include/ncrypto.h} +361 -89
  34. package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +28 -0
  35. package/deps/ncrypto/pyproject.toml +38 -0
  36. package/deps/ncrypto/src/CMakeLists.txt +15 -0
  37. package/deps/ncrypto/src/engine.cpp +93 -0
  38. package/deps/ncrypto/{ncrypto.cc → src/ncrypto.cpp} +1168 -234
  39. package/deps/ncrypto/tests/BUILD.bazel +9 -0
  40. package/deps/ncrypto/tests/CMakeLists.txt +7 -0
  41. package/deps/ncrypto/tests/basic.cpp +86 -0
  42. package/deps/ncrypto/tools/run-clang-format.sh +42 -0
  43. package/lib/commonjs/ed.js +68 -0
  44. package/lib/commonjs/ed.js.map +1 -1
  45. package/lib/commonjs/keys/classes.js +6 -0
  46. package/lib/commonjs/keys/classes.js.map +1 -1
  47. package/lib/commonjs/mldsa.js +69 -0
  48. package/lib/commonjs/mldsa.js.map +1 -0
  49. package/lib/commonjs/specs/mlDsaKeyPair.nitro.js +6 -0
  50. package/lib/commonjs/specs/mlDsaKeyPair.nitro.js.map +1 -0
  51. package/lib/commonjs/subtle.js +483 -13
  52. package/lib/commonjs/subtle.js.map +1 -1
  53. package/lib/commonjs/utils/types.js.map +1 -1
  54. package/lib/module/ed.js +66 -0
  55. package/lib/module/ed.js.map +1 -1
  56. package/lib/module/keys/classes.js +6 -0
  57. package/lib/module/keys/classes.js.map +1 -1
  58. package/lib/module/mldsa.js +63 -0
  59. package/lib/module/mldsa.js.map +1 -0
  60. package/lib/module/specs/mlDsaKeyPair.nitro.js +4 -0
  61. package/lib/module/specs/mlDsaKeyPair.nitro.js.map +1 -0
  62. package/lib/module/subtle.js +484 -14
  63. package/lib/module/subtle.js.map +1 -1
  64. package/lib/module/utils/types.js.map +1 -1
  65. package/lib/tsconfig.tsbuildinfo +1 -1
  66. package/lib/typescript/ed.d.ts +4 -1
  67. package/lib/typescript/ed.d.ts.map +1 -1
  68. package/lib/typescript/index.d.ts +2 -0
  69. package/lib/typescript/index.d.ts.map +1 -1
  70. package/lib/typescript/keys/classes.d.ts +2 -0
  71. package/lib/typescript/keys/classes.d.ts.map +1 -1
  72. package/lib/typescript/mldsa.d.ts +18 -0
  73. package/lib/typescript/mldsa.d.ts.map +1 -0
  74. package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts +16 -0
  75. package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts.map +1 -0
  76. package/lib/typescript/subtle.d.ts +4 -1
  77. package/lib/typescript/subtle.d.ts.map +1 -1
  78. package/lib/typescript/utils/types.d.ts +14 -6
  79. package/lib/typescript/utils/types.d.ts.map +1 -1
  80. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
  81. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
  82. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
  83. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +12 -0
  84. package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.cpp +29 -0
  85. package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.hpp +73 -0
  86. package/package.json +7 -3
  87. package/src/ed.ts +102 -0
  88. package/src/keys/classes.ts +9 -0
  89. package/src/mldsa.ts +125 -0
  90. package/src/specs/mlDsaKeyPair.nitro.ts +29 -0
  91. package/src/subtle.ts +667 -17
  92. package/src/utils/types.ts +27 -6
@@ -65,6 +65,9 @@ export type ECKeyPairAlgorithm = 'ECDSA' | 'ECDH';
65
65
  export type CFRGKeyPairAlgorithm = 'Ed25519' | 'Ed448' | 'X25519' | 'X448';
66
66
  export type CFRGKeyPairType = 'ed25519' | 'ed448' | 'x25519' | 'x448';
67
67
 
68
+ export type PQCKeyPairAlgorithm = 'ML-DSA-44' | 'ML-DSA-65' | 'ML-DSA-87';
69
+ export type PQCKeyPairType = 'ml-dsa-44' | 'ml-dsa-65' | 'ml-dsa-87';
70
+
68
71
  // Node.js style key pair types (lowercase)
69
72
  export type RSAKeyPairType = 'rsa' | 'rsa-pss';
70
73
  export type ECKeyPairType = 'ec';
@@ -74,7 +77,8 @@ export type DHKeyPairType = 'dh';
74
77
  export type KeyPairAlgorithm =
75
78
  | RSAKeyPairAlgorithm
76
79
  | ECKeyPairAlgorithm
77
- | CFRGKeyPairAlgorithm;
80
+ | CFRGKeyPairAlgorithm
81
+ | PQCKeyPairAlgorithm;
78
82
 
79
83
  export type AESAlgorithm = 'AES-CTR' | 'AES-CBC' | 'AES-GCM' | 'AES-KW';
80
84
 
@@ -86,7 +90,10 @@ export type SignVerifyAlgorithm =
86
90
  | 'ECDSA'
87
91
  | 'HMAC'
88
92
  | 'Ed25519'
89
- | 'Ed448';
93
+ | 'Ed448'
94
+ | 'ML-DSA-44'
95
+ | 'ML-DSA-65'
96
+ | 'ML-DSA-87';
90
97
 
91
98
  export type DeriveBitsAlgorithm =
92
99
  | 'PBKDF2'
@@ -99,7 +106,9 @@ export type EncryptDecryptAlgorithm =
99
106
  | 'RSA-OAEP'
100
107
  | 'AES-CTR'
101
108
  | 'AES-CBC'
102
- | 'AES-GCM';
109
+ | 'AES-GCM'
110
+ | 'AES-KW'
111
+ | 'ChaCha20-Poly1305';
103
112
 
104
113
  export type RsaOaepParams = {
105
114
  name: 'RSA-OAEP';
@@ -124,6 +133,13 @@ export type AesGcmParams = {
124
133
  additionalData?: BufferLike;
125
134
  };
126
135
 
136
+ export type ChaCha20Poly1305Params = {
137
+ name: 'ChaCha20-Poly1305';
138
+ iv: BufferLike;
139
+ tagLength?: 128;
140
+ additionalData?: BufferLike;
141
+ };
142
+
127
143
  export type AesKwParams = {
128
144
  name: 'AES-KW';
129
145
  wrappingKey?: BufferLike;
@@ -142,7 +158,9 @@ export type EncryptDecryptParams =
142
158
  | AesCbcParams
143
159
  | AesCtrParams
144
160
  | AesGcmParams
145
- | RsaOaepParams;
161
+ | AesKwParams
162
+ | RsaOaepParams
163
+ | ChaCha20Poly1305Params;
146
164
 
147
165
  export type AnyAlgorithm =
148
166
  | DigestAlgorithm
@@ -243,7 +261,8 @@ export type AsymmetricKeyType =
243
261
  | 'dsa'
244
262
  | 'ec'
245
263
  | 'dh'
246
- | CFRGKeyPairType;
264
+ | CFRGKeyPairType
265
+ | PQCKeyPairType;
247
266
 
248
267
  type JWKkty = 'AES' | 'RSA' | 'EC' | 'oct';
249
268
  type JWKuse = 'sig' | 'enc';
@@ -438,7 +457,9 @@ export type Operation =
438
457
  | 'generateKey'
439
458
  | 'importKey'
440
459
  | 'exportKey'
441
- | 'deriveBits';
460
+ | 'deriveBits'
461
+ | 'wrapKey'
462
+ | 'unwrapKey';
442
463
 
443
464
  export interface KeyPairOptions {
444
465
  namedCurve: string;