internxt-crypto 1.5.0 → 1.6.1
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/README.md +9 -5
- package/dist/asymmetric-crypto.d.mts.map +1 -1
- package/dist/asymmetric-crypto.d.ts.map +1 -1
- package/dist/asymmetric-crypto.js +12 -2
- package/dist/asymmetric-crypto.js.map +1 -1
- package/dist/asymmetric-crypto.mjs +12 -2
- package/dist/asymmetric-crypto.mjs.map +1 -1
- package/dist/{email-crypto-_Wcbvr_n.mjs → email-crypto-CoRbTphp.mjs} +73 -106
- package/dist/email-crypto-CoRbTphp.mjs.map +1 -0
- package/dist/{email-crypto-CPL8ept8.js → email-crypto-DJb-I1wm.js} +90 -117
- package/dist/email-crypto-DJb-I1wm.js.map +1 -0
- package/dist/email-crypto.d.mts +33 -27
- package/dist/email-crypto.d.mts.map +1 -1
- package/dist/email-crypto.d.ts +33 -27
- package/dist/email-crypto.d.ts.map +1 -1
- package/dist/email-crypto.js +4 -3
- package/dist/email-crypto.mjs +2 -2
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -3
- package/dist/index.mjs +2 -2
- package/dist/keystore-crypto.d.mts +1 -1
- package/dist/keystore-crypto.d.ts +1 -1
- package/dist/react-native/asymmetric-crypto.d.mts +21 -0
- package/dist/react-native/asymmetric-crypto.d.mts.map +1 -0
- package/dist/react-native/asymmetric-crypto.d.ts +21 -0
- package/dist/react-native/asymmetric-crypto.d.ts.map +1 -0
- package/dist/react-native/asymmetric-crypto.js +31 -0
- package/dist/react-native/asymmetric-crypto.js.map +1 -0
- package/dist/react-native/asymmetric-crypto.mjs +28 -0
- package/dist/react-native/asymmetric-crypto.mjs.map +1 -0
- package/dist/react-native/chunk-CfYAbeIz.mjs +13 -0
- package/dist/react-native/chunk-DskHE4z1.js +43 -0
- package/dist/react-native/constants.d.mts +27 -0
- package/dist/react-native/constants.d.mts.map +1 -0
- package/dist/react-native/constants.d.ts +27 -0
- package/dist/react-native/constants.d.ts.map +1 -0
- package/dist/react-native/constants.js +51 -0
- package/dist/react-native/constants.js.map +1 -0
- package/dist/react-native/constants.mjs +28 -0
- package/dist/react-native/constants.mjs.map +1 -0
- package/dist/react-native/derive-key.d.mts +32 -0
- package/dist/react-native/derive-key.d.mts.map +1 -0
- package/dist/react-native/derive-key.d.ts +32 -0
- package/dist/react-native/derive-key.d.ts.map +1 -0
- package/dist/react-native/derive-key.js +51 -0
- package/dist/react-native/derive-key.js.map +1 -0
- package/dist/react-native/derive-key.mjs +47 -0
- package/dist/react-native/derive-key.mjs.map +1 -0
- package/dist/react-native/derive-password-Bb3R3nyh.mjs +68 -0
- package/dist/react-native/derive-password-Bb3R3nyh.mjs.map +1 -0
- package/dist/react-native/derive-password-DIPrE8Mz.js +86 -0
- package/dist/react-native/derive-password-DIPrE8Mz.js.map +1 -0
- package/dist/react-native/derive-password.d.mts +28 -0
- package/dist/react-native/derive-password.d.mts.map +1 -0
- package/dist/react-native/derive-password.d.ts +28 -0
- package/dist/react-native/derive-password.d.ts.map +1 -0
- package/dist/react-native/derive-password.js +5 -0
- package/dist/react-native/derive-password.mjs +2 -0
- package/dist/react-native/email-crypto-C3ka3aAj.js +700 -0
- package/dist/react-native/email-crypto-C3ka3aAj.js.map +1 -0
- package/dist/react-native/email-crypto-CDM4iPK8.mjs +490 -0
- package/dist/react-native/email-crypto-CDM4iPK8.mjs.map +1 -0
- package/dist/react-native/email-crypto.d.mts +253 -0
- package/dist/react-native/email-crypto.d.mts.map +1 -0
- package/dist/react-native/email-crypto.d.ts +253 -0
- package/dist/react-native/email-crypto.d.ts.map +1 -0
- package/dist/react-native/email-crypto.js +35 -0
- package/dist/react-native/email-crypto.mjs +2 -0
- package/dist/react-native/hash.d.mts +50 -0
- package/dist/react-native/hash.d.mts.map +1 -0
- package/dist/react-native/hash.d.ts +50 -0
- package/dist/react-native/hash.d.ts.map +1 -0
- package/dist/react-native/hash.js +89 -0
- package/dist/react-native/hash.js.map +1 -0
- package/dist/react-native/hash.mjs +82 -0
- package/dist/react-native/hash.mjs.map +1 -0
- package/dist/react-native/index.d.mts +32 -0
- package/dist/react-native/index.d.mts.map +1 -0
- package/dist/react-native/index.d.ts +32 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +106 -0
- package/dist/react-native/index.mjs +12 -0
- package/dist/react-native/keystore-crypto-BXPEVvzq.js +238 -0
- package/dist/react-native/keystore-crypto-BXPEVvzq.js.map +1 -0
- package/dist/react-native/keystore-crypto-C6F-NQdX.mjs +185 -0
- package/dist/react-native/keystore-crypto-C6F-NQdX.mjs.map +1 -0
- package/dist/react-native/keystore-crypto.d.mts +71 -0
- package/dist/react-native/keystore-crypto.d.mts.map +1 -0
- package/dist/react-native/keystore-crypto.d.ts +71 -0
- package/dist/react-native/keystore-crypto.d.ts.map +1 -0
- package/dist/react-native/keystore-crypto.js +11 -0
- package/dist/react-native/keystore-crypto.mjs +2 -0
- package/dist/react-native/post-quantum-crypto.d.mts +32 -0
- package/dist/react-native/post-quantum-crypto.d.mts.map +1 -0
- package/dist/react-native/post-quantum-crypto.d.ts +32 -0
- package/dist/react-native/post-quantum-crypto.d.ts.map +1 -0
- package/dist/react-native/post-quantum-crypto.js +50 -0
- package/dist/react-native/post-quantum-crypto.js.map +1 -0
- package/dist/react-native/post-quantum-crypto.mjs +46 -0
- package/dist/react-native/post-quantum-crypto.mjs.map +1 -0
- package/dist/react-native/storage-service.d.mts +47 -0
- package/dist/react-native/storage-service.d.mts.map +1 -0
- package/dist/react-native/storage-service.d.ts +47 -0
- package/dist/react-native/storage-service.d.ts.map +1 -0
- package/dist/react-native/storage-service.js +66 -0
- package/dist/react-native/storage-service.js.map +1 -0
- package/dist/react-native/storage-service.mjs +54 -0
- package/dist/react-native/storage-service.mjs.map +1 -0
- package/dist/react-native/symmetric-crypto.d.mts +28 -0
- package/dist/react-native/symmetric-crypto.d.mts.map +1 -0
- package/dist/react-native/symmetric-crypto.d.ts +28 -0
- package/dist/react-native/symmetric-crypto.d.ts.map +1 -0
- package/dist/react-native/symmetric-crypto.js +52 -0
- package/dist/react-native/symmetric-crypto.js.map +1 -0
- package/dist/react-native/symmetric-crypto.mjs +48 -0
- package/dist/react-native/symmetric-crypto.mjs.map +1 -0
- package/dist/{types-fhvOo6Gw.d.ts → react-native/types-D1R4_m5r.d.mts} +6 -10
- package/dist/react-native/types-D1R4_m5r.d.mts.map +1 -0
- package/dist/{types-cEyToM9T.d.mts → react-native/types-Y0wL7HUH.d.ts} +6 -10
- package/dist/react-native/types-Y0wL7HUH.d.ts.map +1 -0
- package/dist/react-native/types.d.mts +2 -0
- package/dist/react-native/types.d.ts +2 -0
- package/dist/react-native/types.js +11 -0
- package/dist/react-native/types.js.map +1 -0
- package/dist/react-native/types.mjs +10 -0
- package/dist/react-native/types.mjs.map +1 -0
- package/dist/react-native/utils.d.mts +78 -0
- package/dist/react-native/utils.d.mts.map +1 -0
- package/dist/react-native/utils.d.ts +78 -0
- package/dist/react-native/utils.d.ts.map +1 -0
- package/dist/react-native/utils.js +123 -0
- package/dist/react-native/utils.js.map +1 -0
- package/dist/react-native/utils.mjs +109 -0
- package/dist/react-native/utils.mjs.map +1 -0
- package/dist/react-native/xwing-B34h5e3Z.mjs +15 -0
- package/dist/react-native/xwing-B34h5e3Z.mjs.map +1 -0
- package/dist/react-native/xwing-CSdiyHAt.js +33 -0
- package/dist/react-native/xwing-CSdiyHAt.js.map +1 -0
- package/dist/types-D1R4_m5r.d.mts +55 -0
- package/dist/types-D1R4_m5r.d.mts.map +1 -0
- package/dist/types-Y0wL7HUH.d.ts +55 -0
- package/dist/types-Y0wL7HUH.d.ts.map +1 -0
- package/dist/types.d.mts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/types.js.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +3 -8
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +3 -8
- package/dist/utils.mjs.map +1 -1
- package/package.json +4 -1
- package/dist/email-crypto-CPL8ept8.js.map +0 -1
- package/dist/email-crypto-_Wcbvr_n.mjs.map +0 -1
- package/dist/types-cEyToM9T.d.mts.map +0 -1
- package/dist/types-fhvOo6Gw.d.ts.map +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/hash/blake3.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Hashes the given array of data
|
|
4
|
+
*
|
|
5
|
+
* @param data - The array of data
|
|
6
|
+
* @returns The resulting hash
|
|
7
|
+
*/
|
|
8
|
+
declare function hashDataArray(data: Uint8Array[]): Uint8Array;
|
|
9
|
+
/**
|
|
10
|
+
* Hashes the given array of data with the given key
|
|
11
|
+
*
|
|
12
|
+
* @param hashKey - The key for keyed hashing
|
|
13
|
+
* @param data - The array of data
|
|
14
|
+
* @returns The resulting keyed hash
|
|
15
|
+
*/
|
|
16
|
+
declare function hashDataArrayWithKey(hashKey: Uint8Array, data: Uint8Array[]): Uint8Array;
|
|
17
|
+
/**
|
|
18
|
+
* Hashes the given array of data to the desired byte-length
|
|
19
|
+
*
|
|
20
|
+
* @param data - The array of data
|
|
21
|
+
* @param bytes - The desired output byte-length
|
|
22
|
+
* @returns The resulting hash of the desired byte-length
|
|
23
|
+
*/
|
|
24
|
+
declare function getBytesFromDataArray(data: Uint8Array[], bytes: number): Uint8Array;
|
|
25
|
+
/**
|
|
26
|
+
* Hashes the given data
|
|
27
|
+
*
|
|
28
|
+
* @param data - The data
|
|
29
|
+
* @returns The resulting hash
|
|
30
|
+
*/
|
|
31
|
+
declare function hashData(data: Uint8Array): Uint8Array;
|
|
32
|
+
/**
|
|
33
|
+
* Hashes the given data with the given key
|
|
34
|
+
*
|
|
35
|
+
* @param hashKey - The key for keyed hashing
|
|
36
|
+
* @param data - The data
|
|
37
|
+
* @returns The resulting keyed hash
|
|
38
|
+
*/
|
|
39
|
+
declare function hashDataWithKey(hashKey: Uint8Array, data: Uint8Array): Uint8Array;
|
|
40
|
+
/**
|
|
41
|
+
* Hashes the given data to the desired byte-length
|
|
42
|
+
*
|
|
43
|
+
* @param data - The data
|
|
44
|
+
* @param bytes - The desired output byte-length
|
|
45
|
+
* @returns The resulting hash of the desired byte-length
|
|
46
|
+
*/
|
|
47
|
+
declare function getBytesFromData(data: Uint8Array, bytes: number): Uint8Array;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey };
|
|
50
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","names":[],"sources":["../../src/hash/blake3.ts"],"mappings":";;AAQA;;;;;iBAAgB,aAAA,CAAc,IAAA,EAAM,UAAA,KAAe,UAAA;;;;AAmBnD;;;;iBAAgB,oBAAA,CAAqB,OAAA,EAAS,UAAA,EAAY,IAAA,EAAM,UAAA,KAAe,UAAA;;;;;;;;iBAmB/D,qBAAA,CAAsB,IAAA,EAAM,UAAA,IAAc,KAAA,WAAgB,UAAA;;;AAA1E;;;;iBAkBgB,QAAA,CAAS,IAAA,EAAM,UAAA,GAAa,UAAA;;;;;;AAA5C;;iBAWgB,eAAA,CAAgB,OAAA,EAAS,UAAA,EAAY,IAAA,EAAM,UAAA,GAAa,UAAA;;;;;;;AAAxE;iBAWgB,gBAAA,CAAiB,IAAA,EAAM,UAAA,EAAY,KAAA,WAAgB,UAAA"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("./chunk-DskHE4z1.js");
|
|
3
|
+
let _noble_hashes_blake3_js = require("@noble/hashes/blake3.js");
|
|
4
|
+
//#region src/hash/blake3.ts
|
|
5
|
+
/**
|
|
6
|
+
* Hashes the given array of data
|
|
7
|
+
*
|
|
8
|
+
* @param data - The array of data
|
|
9
|
+
* @returns The resulting hash
|
|
10
|
+
*/
|
|
11
|
+
function hashDataArray(data) {
|
|
12
|
+
try {
|
|
13
|
+
const hasher = _noble_hashes_blake3_js.blake3.create();
|
|
14
|
+
for (const d of data) hasher.update(d);
|
|
15
|
+
return hasher.digest();
|
|
16
|
+
} catch (error) {
|
|
17
|
+
throw new Error("Failed to compute hash", { cause: error });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hashes the given array of data with the given key
|
|
22
|
+
*
|
|
23
|
+
* @param hashKey - The key for keyed hashing
|
|
24
|
+
* @param data - The array of data
|
|
25
|
+
* @returns The resulting keyed hash
|
|
26
|
+
*/
|
|
27
|
+
function hashDataArrayWithKey(hashKey, data) {
|
|
28
|
+
try {
|
|
29
|
+
const hasher = _noble_hashes_blake3_js.blake3.create({ key: hashKey });
|
|
30
|
+
for (const d of data) hasher.update(d);
|
|
31
|
+
return hasher.digest();
|
|
32
|
+
} catch (error) {
|
|
33
|
+
throw new Error("Failed to compute hash", { cause: error });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Hashes the given array of data to the desired byte-length
|
|
38
|
+
*
|
|
39
|
+
* @param data - The array of data
|
|
40
|
+
* @param bytes - The desired output byte-length
|
|
41
|
+
* @returns The resulting hash of the desired byte-length
|
|
42
|
+
*/
|
|
43
|
+
function getBytesFromDataArray(data, bytes) {
|
|
44
|
+
try {
|
|
45
|
+
const hasher = _noble_hashes_blake3_js.blake3.create({ dkLen: bytes });
|
|
46
|
+
for (const chunk of data) hasher.update(chunk);
|
|
47
|
+
return hasher.digest();
|
|
48
|
+
} catch (error) {
|
|
49
|
+
throw new Error("Failed to get bytes from data", { cause: error });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Hashes the given data
|
|
54
|
+
*
|
|
55
|
+
* @param data - The data
|
|
56
|
+
* @returns The resulting hash
|
|
57
|
+
*/
|
|
58
|
+
function hashData(data) {
|
|
59
|
+
return (0, _noble_hashes_blake3_js.blake3)(data);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Hashes the given data with the given key
|
|
63
|
+
*
|
|
64
|
+
* @param hashKey - The key for keyed hashing
|
|
65
|
+
* @param data - The data
|
|
66
|
+
* @returns The resulting keyed hash
|
|
67
|
+
*/
|
|
68
|
+
function hashDataWithKey(hashKey, data) {
|
|
69
|
+
return (0, _noble_hashes_blake3_js.blake3)(data, { key: hashKey });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Hashes the given data to the desired byte-length
|
|
73
|
+
*
|
|
74
|
+
* @param data - The data
|
|
75
|
+
* @param bytes - The desired output byte-length
|
|
76
|
+
* @returns The resulting hash of the desired byte-length
|
|
77
|
+
*/
|
|
78
|
+
function getBytesFromData(data, bytes) {
|
|
79
|
+
return (0, _noble_hashes_blake3_js.blake3)(data, { dkLen: bytes });
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
exports.getBytesFromData = getBytesFromData;
|
|
83
|
+
exports.getBytesFromDataArray = getBytesFromDataArray;
|
|
84
|
+
exports.hashData = hashData;
|
|
85
|
+
exports.hashDataArray = hashDataArray;
|
|
86
|
+
exports.hashDataArrayWithKey = hashDataArrayWithKey;
|
|
87
|
+
exports.hashDataWithKey = hashDataWithKey;
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","names":["blake3"],"sources":["../../src/hash/blake3.ts"],"sourcesContent":["import { blake3 } from '@noble/hashes/blake3.js';\n\n/**\n * Hashes the given array of data\n *\n * @param data - The array of data\n * @returns The resulting hash\n */\nexport function hashDataArray(data: Uint8Array[]): Uint8Array {\n try {\n const hasher = blake3.create();\n for (const d of data) {\n hasher.update(d);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to compute hash', { cause: error });\n }\n}\n\n/**\n * Hashes the given array of data with the given key\n *\n * @param hashKey - The key for keyed hashing\n * @param data - The array of data\n * @returns The resulting keyed hash\n */\nexport function hashDataArrayWithKey(hashKey: Uint8Array, data: Uint8Array[]): Uint8Array {\n try {\n const hasher = blake3.create({ key: hashKey });\n for (const d of data) {\n hasher.update(d);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to compute hash', { cause: error });\n }\n}\n\n/**\n * Hashes the given array of data to the desired byte-length\n *\n * @param data - The array of data\n * @param bytes - The desired output byte-length\n * @returns The resulting hash of the desired byte-length\n */\nexport function getBytesFromDataArray(data: Uint8Array[], bytes: number): Uint8Array {\n try {\n const hasher = blake3.create({ dkLen: bytes });\n for (const chunk of data) {\n hasher.update(chunk);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to get bytes from data', { cause: error });\n }\n}\n\n/**\n * Hashes the given data\n *\n * @param data - The data\n * @returns The resulting hash\n */\nexport function hashData(data: Uint8Array): Uint8Array {\n return blake3(data);\n}\n\n/**\n * Hashes the given data with the given key\n *\n * @param hashKey - The key for keyed hashing\n * @param data - The data\n * @returns The resulting keyed hash\n */\nexport function hashDataWithKey(hashKey: Uint8Array, data: Uint8Array): Uint8Array {\n return blake3(data, { key: hashKey });\n}\n\n/**\n * Hashes the given data to the desired byte-length\n *\n * @param data - The data\n * @param bytes - The desired output byte-length\n * @returns The resulting hash of the desired byte-length\n */\nexport function getBytesFromData(data: Uint8Array, bytes: number): Uint8Array {\n return blake3(data, { dkLen: bytes });\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,cAAc,MAAgC;AAC5D,KAAI;EACF,MAAM,SAASA,wBAAAA,OAAO,QAAQ;AAC9B,OAAK,MAAM,KAAK,KACd,QAAO,OAAO,EAAE;AAElB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW/D,SAAgB,qBAAqB,SAAqB,MAAgC;AACxF,KAAI;EACF,MAAM,SAASA,wBAAAA,OAAO,OAAO,EAAE,KAAK,SAAS,CAAC;AAC9C,OAAK,MAAM,KAAK,KACd,QAAO,OAAO,EAAE;AAElB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW/D,SAAgB,sBAAsB,MAAoB,OAA2B;AACnF,KAAI;EACF,MAAM,SAASA,wBAAAA,OAAO,OAAO,EAAE,OAAO,OAAO,CAAC;AAC9C,OAAK,MAAM,SAAS,KAClB,QAAO,OAAO,MAAM;AAEtB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,SAAS,MAA8B;AACrD,SAAA,GAAA,wBAAA,QAAc,KAAK;;;;;;;;;AAUrB,SAAgB,gBAAgB,SAAqB,MAA8B;AACjF,SAAA,GAAA,wBAAA,QAAc,MAAM,EAAE,KAAK,SAAS,CAAC;;;;;;;;;AAUvC,SAAgB,iBAAiB,MAAkB,OAA2B;AAC5E,SAAA,GAAA,wBAAA,QAAc,MAAM,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { blake3 } from "@noble/hashes/blake3.js";
|
|
2
|
+
//#region src/hash/blake3.ts
|
|
3
|
+
/**
|
|
4
|
+
* Hashes the given array of data
|
|
5
|
+
*
|
|
6
|
+
* @param data - The array of data
|
|
7
|
+
* @returns The resulting hash
|
|
8
|
+
*/
|
|
9
|
+
function hashDataArray(data) {
|
|
10
|
+
try {
|
|
11
|
+
const hasher = blake3.create();
|
|
12
|
+
for (const d of data) hasher.update(d);
|
|
13
|
+
return hasher.digest();
|
|
14
|
+
} catch (error) {
|
|
15
|
+
throw new Error("Failed to compute hash", { cause: error });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Hashes the given array of data with the given key
|
|
20
|
+
*
|
|
21
|
+
* @param hashKey - The key for keyed hashing
|
|
22
|
+
* @param data - The array of data
|
|
23
|
+
* @returns The resulting keyed hash
|
|
24
|
+
*/
|
|
25
|
+
function hashDataArrayWithKey(hashKey, data) {
|
|
26
|
+
try {
|
|
27
|
+
const hasher = blake3.create({ key: hashKey });
|
|
28
|
+
for (const d of data) hasher.update(d);
|
|
29
|
+
return hasher.digest();
|
|
30
|
+
} catch (error) {
|
|
31
|
+
throw new Error("Failed to compute hash", { cause: error });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Hashes the given array of data to the desired byte-length
|
|
36
|
+
*
|
|
37
|
+
* @param data - The array of data
|
|
38
|
+
* @param bytes - The desired output byte-length
|
|
39
|
+
* @returns The resulting hash of the desired byte-length
|
|
40
|
+
*/
|
|
41
|
+
function getBytesFromDataArray(data, bytes) {
|
|
42
|
+
try {
|
|
43
|
+
const hasher = blake3.create({ dkLen: bytes });
|
|
44
|
+
for (const chunk of data) hasher.update(chunk);
|
|
45
|
+
return hasher.digest();
|
|
46
|
+
} catch (error) {
|
|
47
|
+
throw new Error("Failed to get bytes from data", { cause: error });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Hashes the given data
|
|
52
|
+
*
|
|
53
|
+
* @param data - The data
|
|
54
|
+
* @returns The resulting hash
|
|
55
|
+
*/
|
|
56
|
+
function hashData(data) {
|
|
57
|
+
return blake3(data);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Hashes the given data with the given key
|
|
61
|
+
*
|
|
62
|
+
* @param hashKey - The key for keyed hashing
|
|
63
|
+
* @param data - The data
|
|
64
|
+
* @returns The resulting keyed hash
|
|
65
|
+
*/
|
|
66
|
+
function hashDataWithKey(hashKey, data) {
|
|
67
|
+
return blake3(data, { key: hashKey });
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Hashes the given data to the desired byte-length
|
|
71
|
+
*
|
|
72
|
+
* @param data - The data
|
|
73
|
+
* @param bytes - The desired output byte-length
|
|
74
|
+
* @returns The resulting hash of the desired byte-length
|
|
75
|
+
*/
|
|
76
|
+
function getBytesFromData(data, bytes) {
|
|
77
|
+
return blake3(data, { dkLen: bytes });
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
export { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey };
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=hash.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.mjs","names":[],"sources":["../../src/hash/blake3.ts"],"sourcesContent":["import { blake3 } from '@noble/hashes/blake3.js';\n\n/**\n * Hashes the given array of data\n *\n * @param data - The array of data\n * @returns The resulting hash\n */\nexport function hashDataArray(data: Uint8Array[]): Uint8Array {\n try {\n const hasher = blake3.create();\n for (const d of data) {\n hasher.update(d);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to compute hash', { cause: error });\n }\n}\n\n/**\n * Hashes the given array of data with the given key\n *\n * @param hashKey - The key for keyed hashing\n * @param data - The array of data\n * @returns The resulting keyed hash\n */\nexport function hashDataArrayWithKey(hashKey: Uint8Array, data: Uint8Array[]): Uint8Array {\n try {\n const hasher = blake3.create({ key: hashKey });\n for (const d of data) {\n hasher.update(d);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to compute hash', { cause: error });\n }\n}\n\n/**\n * Hashes the given array of data to the desired byte-length\n *\n * @param data - The array of data\n * @param bytes - The desired output byte-length\n * @returns The resulting hash of the desired byte-length\n */\nexport function getBytesFromDataArray(data: Uint8Array[], bytes: number): Uint8Array {\n try {\n const hasher = blake3.create({ dkLen: bytes });\n for (const chunk of data) {\n hasher.update(chunk);\n }\n return hasher.digest();\n } catch (error) {\n throw new Error('Failed to get bytes from data', { cause: error });\n }\n}\n\n/**\n * Hashes the given data\n *\n * @param data - The data\n * @returns The resulting hash\n */\nexport function hashData(data: Uint8Array): Uint8Array {\n return blake3(data);\n}\n\n/**\n * Hashes the given data with the given key\n *\n * @param hashKey - The key for keyed hashing\n * @param data - The data\n * @returns The resulting keyed hash\n */\nexport function hashDataWithKey(hashKey: Uint8Array, data: Uint8Array): Uint8Array {\n return blake3(data, { key: hashKey });\n}\n\n/**\n * Hashes the given data to the desired byte-length\n *\n * @param data - The data\n * @param bytes - The desired output byte-length\n * @returns The resulting hash of the desired byte-length\n */\nexport function getBytesFromData(data: Uint8Array, bytes: number): Uint8Array {\n return blake3(data, { dkLen: bytes });\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,cAAc,MAAgC;AAC5D,KAAI;EACF,MAAM,SAAS,OAAO,QAAQ;AAC9B,OAAK,MAAM,KAAK,KACd,QAAO,OAAO,EAAE;AAElB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW/D,SAAgB,qBAAqB,SAAqB,MAAgC;AACxF,KAAI;EACF,MAAM,SAAS,OAAO,OAAO,EAAE,KAAK,SAAS,CAAC;AAC9C,OAAK,MAAM,KAAK,KACd,QAAO,OAAO,EAAE;AAElB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW/D,SAAgB,sBAAsB,MAAoB,OAA2B;AACnF,KAAI;EACF,MAAM,SAAS,OAAO,OAAO,EAAE,OAAO,OAAO,CAAC;AAC9C,OAAK,MAAM,SAAS,KAClB,QAAO,OAAO,MAAM;AAEtB,SAAO,OAAO,QAAQ;UACf,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,SAAS,MAA8B;AACrD,QAAO,OAAO,KAAK;;;;;;;;;AAUrB,SAAgB,gBAAgB,SAAqB,MAA8B;AACjF,QAAO,OAAO,MAAM,EAAE,KAAK,SAAS,CAAC;;;;;;;;;AAUvC,SAAgB,iBAAiB,MAAkB,OAA2B;AAC5E,QAAO,OAAO,MAAM,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { deriveSecretKey, generateEccKeys } from "./asymmetric-crypto.mjs";
|
|
2
|
+
import { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH } from "./constants.mjs";
|
|
3
|
+
import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.mjs";
|
|
4
|
+
import { generateSalt, getKeyFromPassword, getKeyFromPasswordAndSalt } from "./derive-password.mjs";
|
|
5
|
+
import { a as EncryptedKeystore, c as KeystoreType, d as PwdProtectedKey, f as RecipientWithPublicKey, i as EmailEncrypted, l as PwdProtectedEmail, n as EmailAndSubject, o as HybridEncKey, r as EmailAndSubjectEncrypted, s as HybridKeyPair, t as Email, u as PwdProtectedEmailAndSubject } from "./types-D1R4_m5r.mjs";
|
|
6
|
+
import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.mjs";
|
|
7
|
+
import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.mjs";
|
|
8
|
+
import { FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, InvalidInputKeyStore, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore } from "./keystore-crypto.mjs";
|
|
9
|
+
import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.mjs";
|
|
10
|
+
import { decryptSymmetrically, encryptSymmetrically, genSymmetricKey } from "./symmetric-crypto.mjs";
|
|
11
|
+
import { UTF8ToUint8, base64ToUint8Array, bytesToMnemonic, bytesToUuid, genMnemonic, generateUuid, hexToUint8Array, mnemonicToBytes, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, uuidToBytes } from "./utils.mjs";
|
|
12
|
+
|
|
13
|
+
//#region src/key-wrapper/aesWrapper.d.ts
|
|
14
|
+
/**
|
|
15
|
+
* Unwraps the given wrapped key
|
|
16
|
+
*
|
|
17
|
+
* @param encryptedKey - The wrapped key
|
|
18
|
+
* @param wrappingKey - The secret key used for unwrapping
|
|
19
|
+
* @returns The resulting key
|
|
20
|
+
*/
|
|
21
|
+
declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
22
|
+
/**
|
|
23
|
+
* Wraps the given key
|
|
24
|
+
*
|
|
25
|
+
* @param key - The key to be wrapped
|
|
26
|
+
* @param wrappingKey - The secret key used for wrapping
|
|
27
|
+
* @returns The resulting ciphertext
|
|
28
|
+
*/
|
|
29
|
+
declare function wrapKey(key: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
|
|
32
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/key-wrapper/aesWrapper.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;iBASsB,SAAA,CAAU,YAAA,EAAc,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;AAA5F;;iBAWsB,OAAA,CAAQ,GAAA,EAAK,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { deriveSecretKey, generateEccKeys } from "./asymmetric-crypto.js";
|
|
2
|
+
import { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH } from "./constants.js";
|
|
3
|
+
import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.js";
|
|
4
|
+
import { generateSalt, getKeyFromPassword, getKeyFromPasswordAndSalt } from "./derive-password.js";
|
|
5
|
+
import { a as EncryptedKeystore, c as KeystoreType, d as PwdProtectedKey, f as RecipientWithPublicKey, i as EmailEncrypted, l as PwdProtectedEmail, n as EmailAndSubject, o as HybridEncKey, r as EmailAndSubjectEncrypted, s as HybridKeyPair, t as Email, u as PwdProtectedEmailAndSubject } from "./types-Y0wL7HUH.js";
|
|
6
|
+
import { EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToDecryptEmail, FailedToEncryptEmail, InvalidInputEmail, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, deriveDatabaseKey, deriveEmailDraftKey, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, generateEmailKeys } from "./email-crypto.js";
|
|
7
|
+
import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.js";
|
|
8
|
+
import { FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, InvalidInputKeyStore, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore } from "./keystore-crypto.js";
|
|
9
|
+
import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.js";
|
|
10
|
+
import { decryptSymmetrically, encryptSymmetrically, genSymmetricKey } from "./symmetric-crypto.js";
|
|
11
|
+
import { UTF8ToUint8, base64ToUint8Array, bytesToMnemonic, bytesToUuid, genMnemonic, generateUuid, hexToUint8Array, mnemonicToBytes, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, uuidToBytes } from "./utils.js";
|
|
12
|
+
|
|
13
|
+
//#region src/key-wrapper/aesWrapper.d.ts
|
|
14
|
+
/**
|
|
15
|
+
* Unwraps the given wrapped key
|
|
16
|
+
*
|
|
17
|
+
* @param encryptedKey - The wrapped key
|
|
18
|
+
* @param wrappingKey - The secret key used for unwrapping
|
|
19
|
+
* @returns The resulting key
|
|
20
|
+
*/
|
|
21
|
+
declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
22
|
+
/**
|
|
23
|
+
* Wraps the given key
|
|
24
|
+
*
|
|
25
|
+
* @param key - The key to be wrapped
|
|
26
|
+
* @param wrappingKey - The secret key used for wrapping
|
|
27
|
+
* @returns The resulting ciphertext
|
|
28
|
+
*/
|
|
29
|
+
declare function wrapKey(key: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, Email, EmailAndSubject, EmailAndSubjectEncrypted, EmailEncrypted, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, EncryptedKeystore, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, HybridEncKey, HybridKeyPair, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, PwdProtectedEmail, PwdProtectedEmailAndSubject, PwdProtectedKey, RecipientWithPublicKey, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/key-wrapper/aesWrapper.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;iBASsB,SAAA,CAAU,YAAA,EAAc,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;AAA5F;;iBAWsB,OAAA,CAAQ,GAAA,EAAK,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_asymmetric_crypto = require("./asymmetric-crypto.js");
|
|
3
|
+
const require_constants = require("./constants.js");
|
|
4
|
+
const require_utils = require("./utils.js");
|
|
5
|
+
const require_derive_key = require("./derive-key.js");
|
|
6
|
+
const require_derive_password = require("./derive-password-DIPrE8Mz.js");
|
|
7
|
+
const require_symmetric_crypto = require("./symmetric-crypto.js");
|
|
8
|
+
const require_email_crypto = require("./email-crypto-C3ka3aAj.js");
|
|
9
|
+
const require_hash = require("./hash.js");
|
|
10
|
+
const require_types = require("./types.js");
|
|
11
|
+
const require_keystore_crypto = require("./keystore-crypto-BXPEVvzq.js");
|
|
12
|
+
const require_post_quantum_crypto = require("./post-quantum-crypto.js");
|
|
13
|
+
exports.AES_KEY_BYTE_LENGTH = require_constants.AES_KEY_BYTE_LENGTH;
|
|
14
|
+
exports.ARGON2ID_ITERATIONS = require_constants.ARGON2ID_ITERATIONS;
|
|
15
|
+
exports.ARGON2ID_MEMORY_SIZE = require_constants.ARGON2ID_MEMORY_SIZE;
|
|
16
|
+
exports.ARGON2ID_OUTPUT_BYTE_LENGTH = require_constants.ARGON2ID_OUTPUT_BYTE_LENGTH;
|
|
17
|
+
exports.ARGON2ID_PARALLELISM = require_constants.ARGON2ID_PARALLELISM;
|
|
18
|
+
exports.ARGON2ID_SALT_BYTE_LENGTH = require_constants.ARGON2ID_SALT_BYTE_LENGTH;
|
|
19
|
+
exports.CONTEXT_DATABASE = require_constants.CONTEXT_DATABASE;
|
|
20
|
+
exports.CONTEXT_DRAFT = require_constants.CONTEXT_DRAFT;
|
|
21
|
+
exports.CONTEXT_ENC_KEYSTORE = require_constants.CONTEXT_ENC_KEYSTORE;
|
|
22
|
+
exports.CONTEXT_RECOVERY = require_constants.CONTEXT_RECOVERY;
|
|
23
|
+
exports.CONTEXT_TWO_KEYS = require_constants.CONTEXT_TWO_KEYS;
|
|
24
|
+
exports.DB_LABEL = require_constants.DB_LABEL;
|
|
25
|
+
exports.DB_VERSION = require_constants.DB_VERSION;
|
|
26
|
+
exports.EmailHybridDecryptionError = require_email_crypto.EmailHybridDecryptionError;
|
|
27
|
+
exports.EmailHybridEncryptionError = require_email_crypto.EmailHybridEncryptionError;
|
|
28
|
+
exports.EmailPasswordOpenError = require_email_crypto.EmailPasswordOpenError;
|
|
29
|
+
exports.EmailPasswordProtectError = require_email_crypto.EmailPasswordProtectError;
|
|
30
|
+
exports.EmailSymmetricDecryptionError = require_email_crypto.EmailSymmetricDecryptionError;
|
|
31
|
+
exports.EmailSymmetricEncryptionError = require_email_crypto.EmailSymmetricEncryptionError;
|
|
32
|
+
exports.FailedToChangeMnemonicForKeyStore = require_keystore_crypto.FailedToChangeMnemonicForKeyStore;
|
|
33
|
+
exports.FailedToCreateKeyStores = require_keystore_crypto.FailedToCreateKeyStores;
|
|
34
|
+
exports.FailedToDecryptEmail = require_email_crypto.FailedToDecryptEmail;
|
|
35
|
+
exports.FailedToEncryptEmail = require_email_crypto.FailedToEncryptEmail;
|
|
36
|
+
exports.FailedToOpenEncryptionKeyStore = require_keystore_crypto.FailedToOpenEncryptionKeyStore;
|
|
37
|
+
exports.FailedToOpenRecoveryKeyStore = require_keystore_crypto.FailedToOpenRecoveryKeyStore;
|
|
38
|
+
exports.IV_LEN_BYTES = require_constants.IV_LEN_BYTES;
|
|
39
|
+
exports.InvalidInputEmail = require_email_crypto.InvalidInputEmail;
|
|
40
|
+
exports.InvalidInputKeyStore = require_keystore_crypto.InvalidInputKeyStore;
|
|
41
|
+
exports.KYBER768_PUBLIC_KEY_LENGTH = require_constants.KYBER768_PUBLIC_KEY_LENGTH;
|
|
42
|
+
exports.KYBER768_SECRET_KEY_LENGTH = require_constants.KYBER768_SECRET_KEY_LENGTH;
|
|
43
|
+
exports.KYBER_SEED_LENGTH = require_constants.KYBER_SEED_LENGTH;
|
|
44
|
+
exports.KeystoreType = require_types.KeystoreType;
|
|
45
|
+
exports.MAX_CACHE_SIZE = require_constants.MAX_CACHE_SIZE;
|
|
46
|
+
exports.MAX_EMAIL_PER_BATCH = require_constants.MAX_EMAIL_PER_BATCH;
|
|
47
|
+
exports.UTF8ToUint8 = require_utils.UTF8ToUint8;
|
|
48
|
+
exports.XWING_CIPHERTEXT_BYTE_LENGTH = require_constants.XWING_CIPHERTEXT_BYTE_LENGTH;
|
|
49
|
+
exports.XWING_PUBLIC_KEY_LENGTH = require_constants.XWING_PUBLIC_KEY_LENGTH;
|
|
50
|
+
exports.XWING_SECRET_KEY_LENGTH = require_constants.XWING_SECRET_KEY_LENGTH;
|
|
51
|
+
exports.XWING_SEED_BYTE_LENGTH = require_constants.XWING_SEED_BYTE_LENGTH;
|
|
52
|
+
exports.base64ToUint8Array = require_utils.base64ToUint8Array;
|
|
53
|
+
exports.bytesToMnemonic = require_utils.bytesToMnemonic;
|
|
54
|
+
exports.bytesToUuid = require_utils.bytesToUuid;
|
|
55
|
+
exports.changeMnemonicForEncryptionKeystore = require_keystore_crypto.changeMnemonicForEncryptionKeystore;
|
|
56
|
+
exports.createEncryptionAndRecoveryKeystores = require_keystore_crypto.createEncryptionAndRecoveryKeystores;
|
|
57
|
+
exports.createPwdProtectedEmail = require_email_crypto.createPwdProtectedEmail;
|
|
58
|
+
exports.createPwdProtectedEmailAndSubject = require_email_crypto.createPwdProtectedEmailAndSubject;
|
|
59
|
+
exports.decapsulateKyber = require_post_quantum_crypto.decapsulateKyber;
|
|
60
|
+
exports.decryptEmail = require_email_crypto.decryptEmail;
|
|
61
|
+
exports.decryptEmailAndSubject = require_email_crypto.decryptEmailAndSubject;
|
|
62
|
+
exports.decryptEmailAndSubjectHybrid = require_email_crypto.decryptEmailAndSubjectHybrid;
|
|
63
|
+
exports.decryptEmailHybrid = require_email_crypto.decryptEmailHybrid;
|
|
64
|
+
exports.decryptEmailPreviewHybrid = require_email_crypto.decryptEmailPreviewHybrid;
|
|
65
|
+
exports.decryptPwdProtectedEmail = require_email_crypto.decryptPwdProtectedEmail;
|
|
66
|
+
exports.decryptPwdProtectedEmailAndSubject = require_email_crypto.decryptPwdProtectedEmailAndSubject;
|
|
67
|
+
exports.decryptSymmetrically = require_symmetric_crypto.decryptSymmetrically;
|
|
68
|
+
exports.deriveDatabaseKey = require_email_crypto.deriveDatabaseKey;
|
|
69
|
+
exports.deriveEmailDraftKey = require_email_crypto.deriveEmailDraftKey;
|
|
70
|
+
exports.deriveKeyFromMnemonic = require_derive_key.deriveKeyFromMnemonic;
|
|
71
|
+
exports.deriveSecretKey = require_asymmetric_crypto.deriveSecretKey;
|
|
72
|
+
exports.deriveSymmetricKeyFromContext = require_derive_key.deriveSymmetricKeyFromContext;
|
|
73
|
+
exports.deriveSymmetricKeyFromTwoKeys = require_derive_key.deriveSymmetricKeyFromTwoKeys;
|
|
74
|
+
exports.encapsulateKyber = require_post_quantum_crypto.encapsulateKyber;
|
|
75
|
+
exports.encryptEmail = require_email_crypto.encryptEmail;
|
|
76
|
+
exports.encryptEmailAndSubject = require_email_crypto.encryptEmailAndSubject;
|
|
77
|
+
exports.encryptEmailAndSubjectHybridForMultipleRecipients = require_email_crypto.encryptEmailAndSubjectHybridForMultipleRecipients;
|
|
78
|
+
exports.encryptEmailAndSubjectWithKey = require_email_crypto.encryptEmailAndSubjectWithKey;
|
|
79
|
+
exports.encryptEmailHybridForMultipleRecipients = require_email_crypto.encryptEmailHybridForMultipleRecipients;
|
|
80
|
+
exports.encryptEmailWithKey = require_email_crypto.encryptEmailWithKey;
|
|
81
|
+
exports.encryptSymmetrically = require_symmetric_crypto.encryptSymmetrically;
|
|
82
|
+
exports.genMnemonic = require_utils.genMnemonic;
|
|
83
|
+
exports.genSymmetricKey = require_symmetric_crypto.genSymmetricKey;
|
|
84
|
+
exports.generateEccKeys = require_asymmetric_crypto.generateEccKeys;
|
|
85
|
+
exports.generateEmailKeys = require_email_crypto.generateEmailKeys;
|
|
86
|
+
exports.generateKyberKeys = require_post_quantum_crypto.generateKyberKeys;
|
|
87
|
+
exports.generateSalt = require_derive_password.generateSalt;
|
|
88
|
+
exports.generateUuid = require_utils.generateUuid;
|
|
89
|
+
exports.getBytesFromData = require_hash.getBytesFromData;
|
|
90
|
+
exports.getBytesFromDataArray = require_hash.getBytesFromDataArray;
|
|
91
|
+
exports.getKeyFromPassword = require_derive_password.getKeyFromPassword;
|
|
92
|
+
exports.getKeyFromPasswordAndSalt = require_derive_password.getKeyFromPasswordAndSalt;
|
|
93
|
+
exports.hashData = require_hash.hashData;
|
|
94
|
+
exports.hashDataArray = require_hash.hashDataArray;
|
|
95
|
+
exports.hashDataArrayWithKey = require_hash.hashDataArrayWithKey;
|
|
96
|
+
exports.hashDataWithKey = require_hash.hashDataWithKey;
|
|
97
|
+
exports.hexToUint8Array = require_utils.hexToUint8Array;
|
|
98
|
+
exports.mnemonicToBytes = require_utils.mnemonicToBytes;
|
|
99
|
+
exports.openEncryptionKeystore = require_keystore_crypto.openEncryptionKeystore;
|
|
100
|
+
exports.openRecoveryKeystore = require_keystore_crypto.openRecoveryKeystore;
|
|
101
|
+
exports.uint8ArrayToBase64 = require_utils.uint8ArrayToBase64;
|
|
102
|
+
exports.uint8ArrayToHex = require_utils.uint8ArrayToHex;
|
|
103
|
+
exports.uint8ToUTF8 = require_utils.uint8ToUTF8;
|
|
104
|
+
exports.unwrapKey = require_email_crypto.unwrapKey;
|
|
105
|
+
exports.uuidToBytes = require_utils.uuidToBytes;
|
|
106
|
+
exports.wrapKey = require_email_crypto.wrapKey;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { deriveSecretKey, generateEccKeys } from "./asymmetric-crypto.mjs";
|
|
2
|
+
import { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, IV_LEN_BYTES, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH } from "./constants.mjs";
|
|
3
|
+
import { UTF8ToUint8, base64ToUint8Array, bytesToMnemonic, bytesToUuid, genMnemonic, generateUuid, hexToUint8Array, mnemonicToBytes, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, uuidToBytes } from "./utils.mjs";
|
|
4
|
+
import { deriveKeyFromMnemonic, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys } from "./derive-key.mjs";
|
|
5
|
+
import { n as getKeyFromPassword, r as getKeyFromPasswordAndSalt, t as generateSalt } from "./derive-password-Bb3R3nyh.mjs";
|
|
6
|
+
import { decryptSymmetrically, encryptSymmetrically, genSymmetricKey } from "./symmetric-crypto.mjs";
|
|
7
|
+
import { A as EmailSymmetricEncryptionError, D as EmailPasswordProtectError, E as EmailPasswordOpenError, F as wrapKey, M as FailedToEncryptEmail, N as InvalidInputEmail, P as unwrapKey, T as EmailHybridEncryptionError, a as decryptPwdProtectedEmailAndSubject, b as encryptEmailWithKey, c as decryptEmailAndSubject, d as createPwdProtectedEmail, f as decryptPwdProtectedEmail, g as decryptEmail, h as encryptEmailHybridForMultipleRecipients, i as createPwdProtectedEmailAndSubject, j as FailedToDecryptEmail, k as EmailSymmetricDecryptionError, l as encryptEmailAndSubject, m as decryptEmailPreviewHybrid, n as deriveEmailDraftKey, o as decryptEmailAndSubjectHybrid, p as decryptEmailHybrid, r as generateEmailKeys, s as encryptEmailAndSubjectHybridForMultipleRecipients, t as deriveDatabaseKey, u as encryptEmailAndSubjectWithKey, w as EmailHybridDecryptionError, y as encryptEmail } from "./email-crypto-CDM4iPK8.mjs";
|
|
8
|
+
import { getBytesFromData, getBytesFromDataArray, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey } from "./hash.mjs";
|
|
9
|
+
import { KeystoreType } from "./types.mjs";
|
|
10
|
+
import { a as FailedToChangeMnemonicForKeyStore, c as FailedToOpenRecoveryKeyStore, i as openRecoveryKeystore, l as InvalidInputKeyStore, n as createEncryptionAndRecoveryKeystores, o as FailedToCreateKeyStores, r as openEncryptionKeystore, s as FailedToOpenEncryptionKeyStore, t as changeMnemonicForEncryptionKeystore } from "./keystore-crypto-C6F-NQdX.mjs";
|
|
11
|
+
import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.mjs";
|
|
12
|
+
export { AES_KEY_BYTE_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, CONTEXT_DATABASE, CONTEXT_DRAFT, CONTEXT_ENC_KEYSTORE, CONTEXT_RECOVERY, CONTEXT_TWO_KEYS, DB_LABEL, DB_VERSION, EmailHybridDecryptionError, EmailHybridEncryptionError, EmailPasswordOpenError, EmailPasswordProtectError, EmailSymmetricDecryptionError, EmailSymmetricEncryptionError, FailedToChangeMnemonicForKeyStore, FailedToCreateKeyStores, FailedToDecryptEmail, FailedToEncryptEmail, FailedToOpenEncryptionKeyStore, FailedToOpenRecoveryKeyStore, IV_LEN_BYTES, InvalidInputEmail, InvalidInputKeyStore, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, UTF8ToUint8, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, base64ToUint8Array, bytesToMnemonic, bytesToUuid, changeMnemonicForEncryptionKeystore, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, createPwdProtectedEmailAndSubject, decapsulateKyber, decryptEmail, decryptEmailAndSubject, decryptEmailAndSubjectHybrid, decryptEmailHybrid, decryptEmailPreviewHybrid, decryptPwdProtectedEmail, decryptPwdProtectedEmailAndSubject, decryptSymmetrically, deriveDatabaseKey, deriveEmailDraftKey, deriveKeyFromMnemonic, deriveSecretKey, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, encapsulateKyber, encryptEmail, encryptEmailAndSubject, encryptEmailAndSubjectHybridForMultipleRecipients, encryptEmailAndSubjectWithKey, encryptEmailHybridForMultipleRecipients, encryptEmailWithKey, encryptSymmetrically, genMnemonic, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateSalt, generateUuid, getBytesFromData, getBytesFromDataArray, getKeyFromPassword, getKeyFromPasswordAndSalt, hashData, hashDataArray, hashDataArrayWithKey, hashDataWithKey, hexToUint8Array, mnemonicToBytes, openEncryptionKeystore, openRecoveryKeystore, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, wrapKey };
|