internxt-crypto 0.0.10-alpha → 0.0.13
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 +3 -4
- package/dist/aes-DSDxP8uF.mjs +184 -0
- package/dist/aes-DSDxP8uF.mjs.map +1 -0
- package/dist/aes-bOrKZuUC.js +226 -0
- package/dist/aes-bOrKZuUC.js.map +1 -0
- package/dist/asymmetric-crypto.d.mts +5 -2
- package/dist/asymmetric-crypto.d.mts.map +1 -0
- package/dist/asymmetric-crypto.d.ts +5 -2
- package/dist/asymmetric-crypto.d.ts.map +1 -0
- package/dist/asymmetric-crypto.js +9 -92
- package/dist/asymmetric-crypto.mjs +2 -84
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/chunk-EbLFQX5m.js +60 -0
- package/dist/constants.d.mts +5 -11
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.d.ts +5 -11
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +33 -49
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +32 -40
- package/dist/constants.mjs.map +1 -1
- package/dist/derive-key.d.mts +11 -8
- package/dist/derive-key.d.mts.map +1 -0
- package/dist/derive-key.d.ts +11 -8
- package/dist/derive-key.d.ts.map +1 -0
- package/dist/derive-key.js +13 -795
- package/dist/derive-key.mjs +2 -783
- package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs +735 -0
- package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs.map +1 -0
- package/dist/deriveKeysFromPassword-Ko7NxkHM.js +2492 -0
- package/dist/deriveKeysFromPassword-Ko7NxkHM.js.map +1 -0
- package/dist/email-crypto.d.mts +55 -78
- package/dist/email-crypto.d.mts.map +1 -0
- package/dist/email-crypto.d.ts +55 -78
- package/dist/email-crypto.d.ts.map +1 -0
- package/dist/email-crypto.js +13 -1409
- package/dist/email-crypto.mjs +2 -1380
- package/dist/email-search.d.mts +36 -32
- package/dist/email-search.d.mts.map +1 -0
- package/dist/email-search.d.ts +36 -32
- package/dist/email-search.d.ts.map +1 -0
- package/dist/email-search.js +534 -540
- package/dist/email-search.js.map +1 -1
- package/dist/email-search.mjs +532 -538
- package/dist/email-search.mjs.map +1 -1
- package/dist/emailEncryptionKey-27mIHh18.mjs +150 -0
- package/dist/emailEncryptionKey-27mIHh18.mjs.map +1 -0
- package/dist/emailEncryptionKey-DbaDAdoW.js +167 -0
- package/dist/emailEncryptionKey-DbaDAdoW.js.map +1 -0
- package/dist/emailKeys-BJGdkLrg.js +593 -0
- package/dist/emailKeys-BJGdkLrg.js.map +1 -0
- package/dist/emailKeys-Fp9WR3wl.mjs +509 -0
- package/dist/emailKeys-Fp9WR3wl.mjs.map +1 -0
- package/dist/genID-3Er5IowC.mjs +153 -0
- package/dist/genID-3Er5IowC.mjs.map +1 -0
- package/dist/genID-YJSl3YhL.js +238 -0
- package/dist/genID-YJSl3YhL.js.map +1 -0
- package/dist/hash.d.mts +18 -15
- package/dist/hash.d.mts.map +1 -0
- package/dist/hash.d.ts +18 -15
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +12 -95
- package/dist/hash.mjs +2 -84
- package/dist/index.d.mts +15 -18
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +15 -18
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +125 -2698
- package/dist/index.mjs +13 -2538
- package/dist/keys-BfcaiAOv.mjs +90 -0
- package/dist/keys-BfcaiAOv.mjs.map +1 -0
- package/dist/keys-CinT7kEY.js +125 -0
- package/dist/keys-CinT7kEY.js.map +1 -0
- package/dist/keystore-crypto.d.mts +17 -46
- package/dist/keystore-crypto.d.mts.map +1 -0
- package/dist/keystore-crypto.d.ts +17 -46
- package/dist/keystore-crypto.d.ts.map +1 -0
- package/dist/keystore-crypto.js +5 -529
- package/dist/keystore-crypto.mjs +2 -500
- package/dist/kyber1024-PpwE1rki.mjs +144 -0
- package/dist/kyber1024-PpwE1rki.mjs.map +1 -0
- package/dist/kyber1024-jeKS8CXf.js +173 -0
- package/dist/kyber1024-jeKS8CXf.js.map +1 -0
- package/dist/{kyber768-B87rMQ7u.d.mts → kyber768-DGBB_RS7.d.ts} +8 -6
- package/dist/kyber768-DGBB_RS7.d.ts.map +1 -0
- package/dist/{kyber768-B87rMQ7u.d.ts → kyber768-DzIcGg1i.d.mts} +8 -6
- package/dist/kyber768-DzIcGg1i.d.mts.map +1 -0
- package/dist/mac-BMb1F0dN.js +170 -0
- package/dist/mac-BMb1F0dN.js.map +1 -0
- package/dist/mac-ZpRlx8Fs.mjs +116 -0
- package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
- package/dist/post-quantum-crypto.d.mts +23 -27
- package/dist/post-quantum-crypto.d.mts.map +1 -0
- package/dist/post-quantum-crypto.d.ts +23 -27
- package/dist/post-quantum-crypto.d.ts.map +1 -0
- package/dist/post-quantum-crypto.js +14 -92
- package/dist/post-quantum-crypto.mjs +2 -89
- package/dist/storage-service.d.mts +28 -34
- package/dist/storage-service.d.mts.map +1 -0
- package/dist/storage-service.d.ts +28 -34
- package/dist/storage-service.d.ts.map +1 -0
- package/dist/storage-service.js +51 -53
- package/dist/storage-service.js.map +1 -1
- package/dist/storage-service.mjs +40 -51
- package/dist/storage-service.mjs.map +1 -1
- package/dist/symmetric-crypto.d.mts +8 -7
- package/dist/symmetric-crypto.d.mts.map +1 -0
- package/dist/symmetric-crypto.d.ts +8 -7
- package/dist/symmetric-crypto.d.ts.map +1 -0
- package/dist/symmetric-crypto.js +10 -142
- package/dist/symmetric-crypto.mjs +2 -133
- package/dist/types.d.mts +71 -69
- package/dist/types.d.mts.map +1 -0
- package/dist/types.d.ts +71 -69
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -10
- package/dist/types.js.map +1 -1
- package/dist/types.mjs +7 -9
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts +34 -78
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.d.ts +34 -78
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +17 -313
- package/dist/utils.mjs +2 -272
- package/package.json +21 -87
- package/dist/asymmetric-crypto.js.map +0 -1
- package/dist/asymmetric-crypto.mjs.map +0 -1
- package/dist/derive-key.js.map +0 -1
- package/dist/derive-key.mjs.map +0 -1
- package/dist/email-crypto.js.map +0 -1
- package/dist/email-crypto.mjs.map +0 -1
- package/dist/email-service.d.mts +0 -38
- package/dist/email-service.d.ts +0 -38
- package/dist/email-service.js +0 -154
- package/dist/email-service.js.map +0 -1
- package/dist/email-service.mjs +0 -147
- package/dist/email-service.mjs.map +0 -1
- package/dist/hash.js.map +0 -1
- package/dist/hash.mjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/keystore-crypto.js.map +0 -1
- package/dist/keystore-crypto.mjs.map +0 -1
- package/dist/keystore-service.d.mts +0 -82
- package/dist/keystore-service.d.ts +0 -82
- package/dist/keystore-service.js +0 -349
- package/dist/keystore-service.js.map +0 -1
- package/dist/keystore-service.mjs +0 -342
- package/dist/keystore-service.mjs.map +0 -1
- package/dist/post-quantum-crypto.js.map +0 -1
- package/dist/post-quantum-crypto.mjs.map +0 -1
- package/dist/symmetric-crypto.js.map +0 -1
- package/dist/symmetric-crypto.mjs.map +0 -1
- package/dist/utils-BDaK_d6T.d.ts +0 -114
- package/dist/utils-v34IRTIx.d.mts +0 -114
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs.map +0 -1
|
@@ -1,85 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
var AES_KEY_BIT_LENGTH = 256;
|
|
3
|
-
var ECC_ALGORITHM = "X25519";
|
|
1
|
+
import { a as importPublicKey, i as importPrivateKey, n as exportPublicKey, o as deriveSecretKey, r as generateEccKeys, t as exportPrivateKey } from "./keys-BfcaiAOv.mjs";
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
async function deriveSecretKey(otherUserPublicKey, ownPrivateKey) {
|
|
7
|
-
try {
|
|
8
|
-
const result = await crypto.subtle.deriveBits(
|
|
9
|
-
{
|
|
10
|
-
name: ECC_ALGORITHM,
|
|
11
|
-
public: otherUserPublicKey
|
|
12
|
-
},
|
|
13
|
-
ownPrivateKey,
|
|
14
|
-
AES_KEY_BIT_LENGTH
|
|
15
|
-
);
|
|
16
|
-
return new Uint8Array(result);
|
|
17
|
-
} catch (error) {
|
|
18
|
-
throw new Error("Failed to derive elliptic curve secret key", { cause: error });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// src/asymmetric-crypto/keys.ts
|
|
23
|
-
async function generateEccKeys() {
|
|
24
|
-
try {
|
|
25
|
-
return await crypto.subtle.generateKey(
|
|
26
|
-
{
|
|
27
|
-
name: ECC_ALGORITHM
|
|
28
|
-
},
|
|
29
|
-
true,
|
|
30
|
-
["deriveBits"]
|
|
31
|
-
);
|
|
32
|
-
} catch (error) {
|
|
33
|
-
throw new Error("Failed to generate elliptic curve key pair", { cause: error });
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async function exportPublicKey(key) {
|
|
37
|
-
try {
|
|
38
|
-
const result = await crypto.subtle.exportKey("spki", key);
|
|
39
|
-
return new Uint8Array(result);
|
|
40
|
-
} catch (error) {
|
|
41
|
-
throw new Error("Failed to export public key", { cause: error });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async function importPublicKey(spkiKeyData) {
|
|
45
|
-
try {
|
|
46
|
-
return await crypto.subtle.importKey(
|
|
47
|
-
"spki",
|
|
48
|
-
spkiKeyData,
|
|
49
|
-
{
|
|
50
|
-
name: ECC_ALGORITHM
|
|
51
|
-
},
|
|
52
|
-
true,
|
|
53
|
-
[]
|
|
54
|
-
);
|
|
55
|
-
} catch (error) {
|
|
56
|
-
throw new Error("Failed to import public key", { cause: error });
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async function exportPrivateKey(key) {
|
|
60
|
-
try {
|
|
61
|
-
const result = await crypto.subtle.exportKey("pkcs8", key);
|
|
62
|
-
return new Uint8Array(result);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
throw new Error("Failed to export private key", { cause: error });
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async function importPrivateKey(pkcs8KeyData) {
|
|
68
|
-
try {
|
|
69
|
-
return await crypto.subtle.importKey(
|
|
70
|
-
"pkcs8",
|
|
71
|
-
pkcs8KeyData,
|
|
72
|
-
{
|
|
73
|
-
name: ECC_ALGORITHM
|
|
74
|
-
},
|
|
75
|
-
true,
|
|
76
|
-
["deriveBits"]
|
|
77
|
-
);
|
|
78
|
-
} catch (error) {
|
|
79
|
-
throw new Error("Failed to import private key", { cause: error });
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export { deriveSecretKey, exportPrivateKey, exportPublicKey, generateEccKeys, importPrivateKey, importPublicKey };
|
|
84
|
-
//# sourceMappingURL=asymmetric-crypto.mjs.map
|
|
85
|
-
//# sourceMappingURL=asymmetric-crypto.mjs.map
|
|
3
|
+
export { deriveSecretKey, exportPrivateKey, exportPublicKey, generateEccKeys, importPrivateKey, importPublicKey };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) {
|
|
6
|
+
__defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!no_symbols) {
|
|
12
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { __exportAll as t };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
9
|
+
var __exportAll = (all, no_symbols) => {
|
|
10
|
+
let target = {};
|
|
11
|
+
for (var name in all) {
|
|
12
|
+
__defProp(target, name, {
|
|
13
|
+
get: all[name],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
if (!no_symbols) {
|
|
18
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
19
|
+
}
|
|
20
|
+
return target;
|
|
21
|
+
};
|
|
22
|
+
var __copyProps = (to, from, except, desc) => {
|
|
23
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
24
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
25
|
+
key = keys[i];
|
|
26
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
27
|
+
__defProp(to, key, {
|
|
28
|
+
get: ((k) => from[k]).bind(null, key),
|
|
29
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return to;
|
|
35
|
+
};
|
|
36
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
37
|
+
value: mod,
|
|
38
|
+
enumerable: true
|
|
39
|
+
}) : target, mod));
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
|
|
43
|
+
Object.defineProperty(exports, '__commonJSMin', {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return __commonJSMin;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, '__exportAll', {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function () {
|
|
52
|
+
return __exportAll;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, '__toESM', {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () {
|
|
58
|
+
return __toESM;
|
|
59
|
+
}
|
|
60
|
+
});
|
package/dist/constants.d.mts
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
+
//#region src/constants.d.ts
|
|
1
2
|
declare const AES_ALGORITHM = "AES-GCM";
|
|
2
3
|
declare const AES_KEY_BIT_LENGTH = 256;
|
|
3
|
-
declare const
|
|
4
|
+
declare const AUX_BYTE_LEN = 16;
|
|
4
5
|
declare const IV_LEN_BYTES = 16;
|
|
5
6
|
declare const KEY_WRAPPING_ALGORITHM = "AES-KW";
|
|
6
7
|
declare const KEY_FORMAT = "raw";
|
|
7
8
|
declare const CONTEXT_WRAPPING = "CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets";
|
|
8
9
|
declare const ECC_ALGORITHM = "X25519";
|
|
9
|
-
declare const CONTEXT_LOGIN = "CRYPTO library 2025-07-26 16:18:03 key for opening identity keystore";
|
|
10
10
|
declare const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
|
|
11
11
|
declare const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
|
|
12
12
|
declare const CONTEXT_INDEX = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
|
|
13
13
|
declare const CONTEXT_DERIVE = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
|
|
14
|
-
declare const PREFIX_MEDIA_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:29:00 prefix for commitment to media keys";
|
|
15
|
-
declare const PREFIX_PUBLIC_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:30:00 prefix for commitment to public keys";
|
|
16
|
-
declare const PREFIX_IDENTITY_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:45:00 prefix for commitment to identity keys";
|
|
17
14
|
declare const ARGON2ID_PARALLELISM = 3;
|
|
18
15
|
declare const ARGON2ID_ITERATIONS = 4;
|
|
19
16
|
declare const ARGON2ID_MEMORY_SIZE = 65536;
|
|
20
17
|
declare const ARGON2ID_SALT_BYTE_LENGTH = 16;
|
|
21
18
|
declare const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
|
|
22
|
-
declare const IDENTITY_KEYSTORE_TAG = "Identity keystore";
|
|
23
|
-
declare const ENCRYPTION_KEYSTORE_TAG = "Encryption keystore";
|
|
24
|
-
declare const RECOVERY_KEYSTORE_TAG = "Key recovery keystroe";
|
|
25
|
-
declare const INDEX_KEYSTORE_TAG = "Current encrypted indices";
|
|
26
19
|
declare const KYBER512_PUBLIC_KEY_LENGTH = 800;
|
|
27
20
|
declare const KYBER512_SECRET_KEY_LENGTH = 1632;
|
|
28
21
|
declare const KYBER768_PUBLIC_KEY_LENGTH = 1184;
|
|
@@ -35,5 +28,6 @@ declare const MAX_CACHE_SIZE = 600000000;
|
|
|
35
28
|
declare const MAX_EMAIL_PER_BATCH = 100;
|
|
36
29
|
declare const DB_LABEL = "email";
|
|
37
30
|
declare const DB_VERSION = 1;
|
|
38
|
-
|
|
39
|
-
export { AES_ALGORITHM, AES_KEY_BIT_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH,
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AES_ALGORITHM, AES_KEY_BIT_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, AUX_BYTE_LEN, CONTEXT_DERIVE, CONTEXT_ENC_KEYSTORE, CONTEXT_INDEX, CONTEXT_RECOVERY, CONTEXT_WRAPPING, DB_LABEL, DB_VERSION, ECC_ALGORITHM, HASH_BIT_LEN, IV_LEN_BYTES, KEY_FORMAT, KEY_WRAPPING_ALGORITHM, KYBER1024_PUBLIC_KEY_LENGTH, KYBER1024_SECRET_KEY_LENGTH, KYBER512_PUBLIC_KEY_LENGTH, KYBER512_SECRET_KEY_LENGTH, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH };
|
|
33
|
+
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.mts","names":[],"sources":["../src/constants.ts"],"mappings":";cAAa,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,YAAA;AAAA,cACA,YAAA;AAAA,cAEA,sBAAA;AAAA,cACA,UAAA;AAAA,cACA,gBAAA;AAAA,cAEA,aAAA;AAAA,cAEA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,aAAA;AAAA,cACA,cAAA;AAAA,cAGA,oBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,yBAAA;AAAA,cACA,2BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cAEA,2BAAA;AAAA,cACA,2BAAA;AAAA,cAEA,iBAAA;AAAA,cAEA,YAAA;AAAA,cAEA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,QAAA;AAAA,cACA,UAAA"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
+
//#region src/constants.d.ts
|
|
1
2
|
declare const AES_ALGORITHM = "AES-GCM";
|
|
2
3
|
declare const AES_KEY_BIT_LENGTH = 256;
|
|
3
|
-
declare const
|
|
4
|
+
declare const AUX_BYTE_LEN = 16;
|
|
4
5
|
declare const IV_LEN_BYTES = 16;
|
|
5
6
|
declare const KEY_WRAPPING_ALGORITHM = "AES-KW";
|
|
6
7
|
declare const KEY_FORMAT = "raw";
|
|
7
8
|
declare const CONTEXT_WRAPPING = "CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets";
|
|
8
9
|
declare const ECC_ALGORITHM = "X25519";
|
|
9
|
-
declare const CONTEXT_LOGIN = "CRYPTO library 2025-07-26 16:18:03 key for opening identity keystore";
|
|
10
10
|
declare const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
|
|
11
11
|
declare const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
|
|
12
12
|
declare const CONTEXT_INDEX = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
|
|
13
13
|
declare const CONTEXT_DERIVE = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
|
|
14
|
-
declare const PREFIX_MEDIA_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:29:00 prefix for commitment to media keys";
|
|
15
|
-
declare const PREFIX_PUBLIC_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:30:00 prefix for commitment to public keys";
|
|
16
|
-
declare const PREFIX_IDENTITY_KEY_COMMITMENT = "CRYPTO library 2025-08-26 18:45:00 prefix for commitment to identity keys";
|
|
17
14
|
declare const ARGON2ID_PARALLELISM = 3;
|
|
18
15
|
declare const ARGON2ID_ITERATIONS = 4;
|
|
19
16
|
declare const ARGON2ID_MEMORY_SIZE = 65536;
|
|
20
17
|
declare const ARGON2ID_SALT_BYTE_LENGTH = 16;
|
|
21
18
|
declare const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
|
|
22
|
-
declare const IDENTITY_KEYSTORE_TAG = "Identity keystore";
|
|
23
|
-
declare const ENCRYPTION_KEYSTORE_TAG = "Encryption keystore";
|
|
24
|
-
declare const RECOVERY_KEYSTORE_TAG = "Key recovery keystroe";
|
|
25
|
-
declare const INDEX_KEYSTORE_TAG = "Current encrypted indices";
|
|
26
19
|
declare const KYBER512_PUBLIC_KEY_LENGTH = 800;
|
|
27
20
|
declare const KYBER512_SECRET_KEY_LENGTH = 1632;
|
|
28
21
|
declare const KYBER768_PUBLIC_KEY_LENGTH = 1184;
|
|
@@ -35,5 +28,6 @@ declare const MAX_CACHE_SIZE = 600000000;
|
|
|
35
28
|
declare const MAX_EMAIL_PER_BATCH = 100;
|
|
36
29
|
declare const DB_LABEL = "email";
|
|
37
30
|
declare const DB_VERSION = 1;
|
|
38
|
-
|
|
39
|
-
export { AES_ALGORITHM, AES_KEY_BIT_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH,
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AES_ALGORITHM, AES_KEY_BIT_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, AUX_BYTE_LEN, CONTEXT_DERIVE, CONTEXT_ENC_KEYSTORE, CONTEXT_INDEX, CONTEXT_RECOVERY, CONTEXT_WRAPPING, DB_LABEL, DB_VERSION, ECC_ALGORITHM, HASH_BIT_LEN, IV_LEN_BYTES, KEY_FORMAT, KEY_WRAPPING_ALGORITHM, KYBER1024_PUBLIC_KEY_LENGTH, KYBER1024_SECRET_KEY_LENGTH, KYBER512_PUBLIC_KEY_LENGTH, KYBER512_SECRET_KEY_LENGTH, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH };
|
|
33
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":[],"sources":["../src/constants.ts"],"mappings":";cAAa,aAAA;AAAA,cACA,kBAAA;AAAA,cACA,YAAA;AAAA,cACA,YAAA;AAAA,cAEA,sBAAA;AAAA,cACA,UAAA;AAAA,cACA,gBAAA;AAAA,cAEA,aAAA;AAAA,cAEA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,aAAA;AAAA,cACA,cAAA;AAAA,cAGA,oBAAA;AAAA,cACA,mBAAA;AAAA,cACA,oBAAA;AAAA,cACA,yBAAA;AAAA,cACA,2BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cAEA,0BAAA;AAAA,cACA,0BAAA;AAAA,cAEA,2BAAA;AAAA,cACA,2BAAA;AAAA,cAEA,iBAAA;AAAA,cAEA,YAAA;AAAA,cAEA,cAAA;AAAA,cACA,mBAAA;AAAA,cACA,QAAA;AAAA,cACA,UAAA"}
|
package/dist/constants.js
CHANGED
|
@@ -1,44 +1,37 @@
|
|
|
1
|
-
'
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var KYBER1024_PUBLIC_KEY_LENGTH = 1568;
|
|
34
|
-
var KYBER1024_SECRET_KEY_LENGTH = 3168;
|
|
35
|
-
var KYBER_SEED_LENGTH = 64;
|
|
36
|
-
var HASH_BIT_LEN = 256;
|
|
37
|
-
var MAX_CACHE_SIZE = 6e8;
|
|
38
|
-
var MAX_EMAIL_PER_BATCH = 100;
|
|
39
|
-
var DB_LABEL = "email";
|
|
40
|
-
var DB_VERSION = 1;
|
|
3
|
+
//#region src/constants.ts
|
|
4
|
+
const AES_ALGORITHM = "AES-GCM";
|
|
5
|
+
const AES_KEY_BIT_LENGTH = 256;
|
|
6
|
+
const AUX_BYTE_LEN = 16;
|
|
7
|
+
const IV_LEN_BYTES = 16;
|
|
8
|
+
const KEY_WRAPPING_ALGORITHM = "AES-KW";
|
|
9
|
+
const KEY_FORMAT = "raw";
|
|
10
|
+
const CONTEXT_WRAPPING = "CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets";
|
|
11
|
+
const ECC_ALGORITHM = "X25519";
|
|
12
|
+
const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
|
|
13
|
+
const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
|
|
14
|
+
const CONTEXT_INDEX = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
|
|
15
|
+
const CONTEXT_DERIVE = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
|
|
16
|
+
const ARGON2ID_PARALLELISM = 3;
|
|
17
|
+
const ARGON2ID_ITERATIONS = 4;
|
|
18
|
+
const ARGON2ID_MEMORY_SIZE = 65536;
|
|
19
|
+
const ARGON2ID_SALT_BYTE_LENGTH = 16;
|
|
20
|
+
const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
|
|
21
|
+
const KYBER512_PUBLIC_KEY_LENGTH = 800;
|
|
22
|
+
const KYBER512_SECRET_KEY_LENGTH = 1632;
|
|
23
|
+
const KYBER768_PUBLIC_KEY_LENGTH = 1184;
|
|
24
|
+
const KYBER768_SECRET_KEY_LENGTH = 2400;
|
|
25
|
+
const KYBER1024_PUBLIC_KEY_LENGTH = 1568;
|
|
26
|
+
const KYBER1024_SECRET_KEY_LENGTH = 3168;
|
|
27
|
+
const KYBER_SEED_LENGTH = 64;
|
|
28
|
+
const HASH_BIT_LEN = 256;
|
|
29
|
+
const MAX_CACHE_SIZE = 6e8;
|
|
30
|
+
const MAX_EMAIL_PER_BATCH = 100;
|
|
31
|
+
const DB_LABEL = "email";
|
|
32
|
+
const DB_VERSION = 1;
|
|
41
33
|
|
|
34
|
+
//#endregion
|
|
42
35
|
exports.AES_ALGORITHM = AES_ALGORITHM;
|
|
43
36
|
exports.AES_KEY_BIT_LENGTH = AES_KEY_BIT_LENGTH;
|
|
44
37
|
exports.ARGON2ID_ITERATIONS = ARGON2ID_ITERATIONS;
|
|
@@ -46,20 +39,16 @@ exports.ARGON2ID_MEMORY_SIZE = ARGON2ID_MEMORY_SIZE;
|
|
|
46
39
|
exports.ARGON2ID_OUTPUT_BYTE_LENGTH = ARGON2ID_OUTPUT_BYTE_LENGTH;
|
|
47
40
|
exports.ARGON2ID_PARALLELISM = ARGON2ID_PARALLELISM;
|
|
48
41
|
exports.ARGON2ID_SALT_BYTE_LENGTH = ARGON2ID_SALT_BYTE_LENGTH;
|
|
49
|
-
exports.
|
|
42
|
+
exports.AUX_BYTE_LEN = AUX_BYTE_LEN;
|
|
50
43
|
exports.CONTEXT_DERIVE = CONTEXT_DERIVE;
|
|
51
44
|
exports.CONTEXT_ENC_KEYSTORE = CONTEXT_ENC_KEYSTORE;
|
|
52
45
|
exports.CONTEXT_INDEX = CONTEXT_INDEX;
|
|
53
|
-
exports.CONTEXT_LOGIN = CONTEXT_LOGIN;
|
|
54
46
|
exports.CONTEXT_RECOVERY = CONTEXT_RECOVERY;
|
|
55
47
|
exports.CONTEXT_WRAPPING = CONTEXT_WRAPPING;
|
|
56
48
|
exports.DB_LABEL = DB_LABEL;
|
|
57
49
|
exports.DB_VERSION = DB_VERSION;
|
|
58
50
|
exports.ECC_ALGORITHM = ECC_ALGORITHM;
|
|
59
|
-
exports.ENCRYPTION_KEYSTORE_TAG = ENCRYPTION_KEYSTORE_TAG;
|
|
60
51
|
exports.HASH_BIT_LEN = HASH_BIT_LEN;
|
|
61
|
-
exports.IDENTITY_KEYSTORE_TAG = IDENTITY_KEYSTORE_TAG;
|
|
62
|
-
exports.INDEX_KEYSTORE_TAG = INDEX_KEYSTORE_TAG;
|
|
63
52
|
exports.IV_LEN_BYTES = IV_LEN_BYTES;
|
|
64
53
|
exports.KEY_FORMAT = KEY_FORMAT;
|
|
65
54
|
exports.KEY_WRAPPING_ALGORITHM = KEY_WRAPPING_ALGORITHM;
|
|
@@ -72,9 +61,4 @@ exports.KYBER768_SECRET_KEY_LENGTH = KYBER768_SECRET_KEY_LENGTH;
|
|
|
72
61
|
exports.KYBER_SEED_LENGTH = KYBER_SEED_LENGTH;
|
|
73
62
|
exports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;
|
|
74
63
|
exports.MAX_EMAIL_PER_BATCH = MAX_EMAIL_PER_BATCH;
|
|
75
|
-
exports.PREFIX_IDENTITY_KEY_COMMITMENT = PREFIX_IDENTITY_KEY_COMMITMENT;
|
|
76
|
-
exports.PREFIX_MEDIA_KEY_COMMITMENT = PREFIX_MEDIA_KEY_COMMITMENT;
|
|
77
|
-
exports.PREFIX_PUBLIC_KEY_COMMITMENT = PREFIX_PUBLIC_KEY_COMMITMENT;
|
|
78
|
-
exports.RECOVERY_KEYSTORE_TAG = RECOVERY_KEYSTORE_TAG;
|
|
79
|
-
//# sourceMappingURL=constants.js.map
|
|
80
64
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const AES_ALGORITHM = 'AES-GCM';\nexport const AES_KEY_BIT_LENGTH = 256;\nexport const AUX_BYTE_LEN = 16;\nexport const IV_LEN_BYTES = 16;\n\nexport const KEY_WRAPPING_ALGORITHM = 'AES-KW';\nexport const KEY_FORMAT = 'raw';\nexport const CONTEXT_WRAPPING = 'CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets';\n\nexport const ECC_ALGORITHM = 'X25519';\n\nexport const CONTEXT_ENC_KEYSTORE = 'CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore';\nexport const CONTEXT_RECOVERY = 'CRYPTO library 2025-07-30 16:20:00 key for account recovery';\nexport const CONTEXT_INDEX = 'CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices';\nexport const CONTEXT_DERIVE = 'CRYPTO library 2025-08-27 17:08:00 derive one key from two keys';\n\n// Second recommended parameter set from RFC 9106\nexport const ARGON2ID_PARALLELISM = 3;\nexport const ARGON2ID_ITERATIONS = 4;\nexport const ARGON2ID_MEMORY_SIZE = 65536;\nexport const ARGON2ID_SALT_BYTE_LENGTH = 16;\nexport const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;\n\nexport const KYBER512_PUBLIC_KEY_LENGTH = 800;\nexport const KYBER512_SECRET_KEY_LENGTH = 1632;\n\nexport const KYBER768_PUBLIC_KEY_LENGTH = 1184;\nexport const KYBER768_SECRET_KEY_LENGTH = 2400;\n\nexport const KYBER1024_PUBLIC_KEY_LENGTH = 1568;\nexport const KYBER1024_SECRET_KEY_LENGTH = 3168;\n\nexport const KYBER_SEED_LENGTH = 64;\n\nexport const HASH_BIT_LEN = 256;\n\nexport const MAX_CACHE_SIZE = 600000000; // 600 MB\nexport const MAX_EMAIL_PER_BATCH = 100;\nexport const DB_LABEL = 'email';\nexport const DB_VERSION = 1;\n"],"mappings":";;;AAAA,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,eAAe;AAC5B,MAAa,eAAe;AAE5B,MAAa,yBAAyB;AACtC,MAAa,aAAa;AAC1B,MAAa,mBAAmB;AAEhC,MAAa,gBAAgB;AAE7B,MAAa,uBAAuB;AACpC,MAAa,mBAAmB;AAChC,MAAa,gBAAgB;AAC7B,MAAa,iBAAiB;AAG9B,MAAa,uBAAuB;AACpC,MAAa,sBAAsB;AACnC,MAAa,uBAAuB;AACpC,MAAa,4BAA4B;AACzC,MAAa,8BAA8B;AAE3C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAE1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAE1C,MAAa,8BAA8B;AAC3C,MAAa,8BAA8B;AAE3C,MAAa,oBAAoB;AAEjC,MAAa,eAAe;AAE5B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,WAAW;AACxB,MAAa,aAAa"}
|
package/dist/constants.mjs
CHANGED
|
@@ -1,42 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
var KYBER1024_PUBLIC_KEY_LENGTH = 1568;
|
|
32
|
-
var KYBER1024_SECRET_KEY_LENGTH = 3168;
|
|
33
|
-
var KYBER_SEED_LENGTH = 64;
|
|
34
|
-
var HASH_BIT_LEN = 256;
|
|
35
|
-
var MAX_CACHE_SIZE = 6e8;
|
|
36
|
-
var MAX_EMAIL_PER_BATCH = 100;
|
|
37
|
-
var DB_LABEL = "email";
|
|
38
|
-
var DB_VERSION = 1;
|
|
1
|
+
//#region src/constants.ts
|
|
2
|
+
const AES_ALGORITHM = "AES-GCM";
|
|
3
|
+
const AES_KEY_BIT_LENGTH = 256;
|
|
4
|
+
const AUX_BYTE_LEN = 16;
|
|
5
|
+
const IV_LEN_BYTES = 16;
|
|
6
|
+
const KEY_WRAPPING_ALGORITHM = "AES-KW";
|
|
7
|
+
const KEY_FORMAT = "raw";
|
|
8
|
+
const CONTEXT_WRAPPING = "CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets";
|
|
9
|
+
const ECC_ALGORITHM = "X25519";
|
|
10
|
+
const CONTEXT_ENC_KEYSTORE = "CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore";
|
|
11
|
+
const CONTEXT_RECOVERY = "CRYPTO library 2025-07-30 16:20:00 key for account recovery";
|
|
12
|
+
const CONTEXT_INDEX = "CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices";
|
|
13
|
+
const CONTEXT_DERIVE = "CRYPTO library 2025-08-27 17:08:00 derive one key from two keys";
|
|
14
|
+
const ARGON2ID_PARALLELISM = 3;
|
|
15
|
+
const ARGON2ID_ITERATIONS = 4;
|
|
16
|
+
const ARGON2ID_MEMORY_SIZE = 65536;
|
|
17
|
+
const ARGON2ID_SALT_BYTE_LENGTH = 16;
|
|
18
|
+
const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;
|
|
19
|
+
const KYBER512_PUBLIC_KEY_LENGTH = 800;
|
|
20
|
+
const KYBER512_SECRET_KEY_LENGTH = 1632;
|
|
21
|
+
const KYBER768_PUBLIC_KEY_LENGTH = 1184;
|
|
22
|
+
const KYBER768_SECRET_KEY_LENGTH = 2400;
|
|
23
|
+
const KYBER1024_PUBLIC_KEY_LENGTH = 1568;
|
|
24
|
+
const KYBER1024_SECRET_KEY_LENGTH = 3168;
|
|
25
|
+
const KYBER_SEED_LENGTH = 64;
|
|
26
|
+
const HASH_BIT_LEN = 256;
|
|
27
|
+
const MAX_CACHE_SIZE = 6e8;
|
|
28
|
+
const MAX_EMAIL_PER_BATCH = 100;
|
|
29
|
+
const DB_LABEL = "email";
|
|
30
|
+
const DB_VERSION = 1;
|
|
39
31
|
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
//#endregion
|
|
33
|
+
export { AES_ALGORITHM, AES_KEY_BIT_LENGTH, ARGON2ID_ITERATIONS, ARGON2ID_MEMORY_SIZE, ARGON2ID_OUTPUT_BYTE_LENGTH, ARGON2ID_PARALLELISM, ARGON2ID_SALT_BYTE_LENGTH, AUX_BYTE_LEN, CONTEXT_DERIVE, CONTEXT_ENC_KEYSTORE, CONTEXT_INDEX, CONTEXT_RECOVERY, CONTEXT_WRAPPING, DB_LABEL, DB_VERSION, ECC_ALGORITHM, HASH_BIT_LEN, IV_LEN_BYTES, KEY_FORMAT, KEY_WRAPPING_ALGORITHM, KYBER1024_PUBLIC_KEY_LENGTH, KYBER1024_SECRET_KEY_LENGTH, KYBER512_PUBLIC_KEY_LENGTH, KYBER512_SECRET_KEY_LENGTH, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH };
|
|
42
34
|
//# sourceMappingURL=constants.mjs.map
|
package/dist/constants.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../src/constants.ts"],"sourcesContent":["export const AES_ALGORITHM = 'AES-GCM';\nexport const AES_KEY_BIT_LENGTH = 256;\nexport const AUX_BYTE_LEN = 16;\nexport const IV_LEN_BYTES = 16;\n\nexport const KEY_WRAPPING_ALGORITHM = 'AES-KW';\nexport const KEY_FORMAT = 'raw';\nexport const CONTEXT_WRAPPING = 'CRYPTO library 2025-08-22 18:10:00 key derived from ecc and kyber secrets';\n\nexport const ECC_ALGORITHM = 'X25519';\n\nexport const CONTEXT_ENC_KEYSTORE = 'CRYPTO library 2025-07-30 16:18:03 key for opening encryption keys keystore';\nexport const CONTEXT_RECOVERY = 'CRYPTO library 2025-07-30 16:20:00 key for account recovery';\nexport const CONTEXT_INDEX = 'CRYPTO library 2025-07-30 17:20:00 key for protecting current search indices';\nexport const CONTEXT_DERIVE = 'CRYPTO library 2025-08-27 17:08:00 derive one key from two keys';\n\n// Second recommended parameter set from RFC 9106\nexport const ARGON2ID_PARALLELISM = 3;\nexport const ARGON2ID_ITERATIONS = 4;\nexport const ARGON2ID_MEMORY_SIZE = 65536;\nexport const ARGON2ID_SALT_BYTE_LENGTH = 16;\nexport const ARGON2ID_OUTPUT_BYTE_LENGTH = 32;\n\nexport const KYBER512_PUBLIC_KEY_LENGTH = 800;\nexport const KYBER512_SECRET_KEY_LENGTH = 1632;\n\nexport const KYBER768_PUBLIC_KEY_LENGTH = 1184;\nexport const KYBER768_SECRET_KEY_LENGTH = 2400;\n\nexport const KYBER1024_PUBLIC_KEY_LENGTH = 1568;\nexport const KYBER1024_SECRET_KEY_LENGTH = 3168;\n\nexport const KYBER_SEED_LENGTH = 64;\n\nexport const HASH_BIT_LEN = 256;\n\nexport const MAX_CACHE_SIZE = 600000000; // 600 MB\nexport const MAX_EMAIL_PER_BATCH = 100;\nexport const DB_LABEL = 'email';\nexport const DB_VERSION = 1;\n"],"mappings":";AAAA,MAAa,gBAAgB;AAC7B,MAAa,qBAAqB;AAClC,MAAa,eAAe;AAC5B,MAAa,eAAe;AAE5B,MAAa,yBAAyB;AACtC,MAAa,aAAa;AAC1B,MAAa,mBAAmB;AAEhC,MAAa,gBAAgB;AAE7B,MAAa,uBAAuB;AACpC,MAAa,mBAAmB;AAChC,MAAa,gBAAgB;AAC7B,MAAa,iBAAiB;AAG9B,MAAa,uBAAuB;AACpC,MAAa,sBAAsB;AACnC,MAAa,uBAAuB;AACpC,MAAa,4BAA4B;AACzC,MAAa,8BAA8B;AAE3C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAE1C,MAAa,6BAA6B;AAC1C,MAAa,6BAA6B;AAE1C,MAAa,8BAA8B;AAC3C,MAAa,8BAA8B;AAE3C,MAAa,oBAAoB;AAEjC,MAAa,eAAe;AAE5B,MAAa,iBAAiB;AAC9B,MAAa,sBAAsB;AACnC,MAAa,WAAW;AACxB,MAAa,aAAa"}
|
package/dist/derive-key.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/derive-key/deriveKeysFromKey.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Derives a symmetric key from the base key and context string
|
|
3
4
|
*
|
|
@@ -40,8 +41,9 @@ declare function deriveSymmetricCryptoKeyFromTwoKeys(key1: Uint8Array, key2: Uin
|
|
|
40
41
|
* @param context - The context string
|
|
41
42
|
* @returns The derived symmetric key
|
|
42
43
|
*/
|
|
43
|
-
declare function
|
|
44
|
-
|
|
44
|
+
declare function deriveSymmetricKeyFromTwoKeysAndContext(key1: Uint8Array, key2: Uint8Array, context: string): Uint8Array;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/derive-key/deriveKeysFromPassword.d.ts
|
|
45
47
|
/**
|
|
46
48
|
* Derives a symmetric key from a user's password with a randomly sampled salt
|
|
47
49
|
*
|
|
@@ -49,8 +51,8 @@ declare function deriveKeyFromTwoKeysAndContext(key1: Uint8Array, key2: Uint8Arr
|
|
|
49
51
|
* @returns The derived secret key and randomly sampled salt
|
|
50
52
|
*/
|
|
51
53
|
declare function getKeyFromPassword(password: string): Promise<{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
key: Uint8Array;
|
|
55
|
+
salt: Uint8Array;
|
|
54
56
|
}>;
|
|
55
57
|
/**
|
|
56
58
|
* Derives a symmetric key from a user's password and salt
|
|
@@ -67,8 +69,8 @@ declare function getKeyFromPasswordAndSalt(password: string, salt: Uint8Array):
|
|
|
67
69
|
* @returns The derived HEX secret key and randomly sampled HEX salt
|
|
68
70
|
*/
|
|
69
71
|
declare function getKeyFromPasswordHex(password: string): Promise<{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
keyHex: string;
|
|
73
|
+
saltHex: string;
|
|
72
74
|
}>;
|
|
73
75
|
/**
|
|
74
76
|
* Derives a HEX symmetric key from a user's password and salt
|
|
@@ -87,5 +89,6 @@ declare function getKeyFromPasswordAndSaltHex(password: string, saltHex: string)
|
|
|
87
89
|
* @returns The result of the key verification
|
|
88
90
|
*/
|
|
89
91
|
declare function verifyKeyFromPasswordHex(password: string, saltHex: string, keyHex: string): Promise<boolean>;
|
|
90
|
-
|
|
91
|
-
export {
|
|
92
|
+
//#endregion
|
|
93
|
+
export { deriveSymmetricCryptoKeyFromContext, deriveSymmetricCryptoKeyFromTwoKeys, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, deriveSymmetricKeyFromTwoKeysAndContext, getKeyFromPassword, getKeyFromPasswordAndSalt, getKeyFromPasswordAndSaltHex, getKeyFromPasswordHex, verifyKeyFromPasswordHex };
|
|
94
|
+
//# sourceMappingURL=derive-key.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-key.d.mts","names":[],"sources":["../src/derive-key/deriveKeysFromKey.ts","../src/derive-key/deriveKeysFromPassword.ts"],"mappings":";;AAaA;;;;;;;iBAAgB,6BAAA,CAA8B,OAAA,UAAiB,OAAA,EAAS,UAAA,GAAa,UAAA;;;AAYrF;;;;;;iBAAsB,mCAAA,CAAoC,OAAA,UAAiB,OAAA,EAAS,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;;;;;iBAwBzF,6BAAA,CAA8B,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,GAAa,UAAA;AAAnF;;;;;;;AAAA,iBAWsB,mCAAA,CAAoC,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;;;;;AAAvG;iBAkBgB,uCAAA,CACd,IAAA,EAAM,UAAA,EACN,IAAA,EAAM,UAAA,EACN,OAAA,WACC,UAAA;;;;AArEH;;;;;iBCJsB,kBAAA,CAAmB,QAAA,WAAmB,OAAA;EAAU,GAAA,EAAK,UAAA;EAAY,IAAA,EAAM,UAAA;AAAA;;ADgB7F;;;;;;iBCIsB,yBAAA,CAA0B,QAAA,UAAkB,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;;iBAoBvE,qBAAA,CAAsB,QAAA,WAAmB,OAAA;EAAU,MAAA;EAAgB,OAAA;AAAA;;;;;;;;iBAgBnE,4BAAA,CAA6B,QAAA,UAAkB,OAAA,WAAkB,OAAA;;;;;;ADLvF;;;iBCuBsB,wBAAA,CAAyB,QAAA,UAAkB,OAAA,UAAiB,MAAA,WAAiB,OAAA"}
|
package/dist/derive-key.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/derive-key/deriveKeysFromKey.d.ts
|
|
1
2
|
/**
|
|
2
3
|
* Derives a symmetric key from the base key and context string
|
|
3
4
|
*
|
|
@@ -40,8 +41,9 @@ declare function deriveSymmetricCryptoKeyFromTwoKeys(key1: Uint8Array, key2: Uin
|
|
|
40
41
|
* @param context - The context string
|
|
41
42
|
* @returns The derived symmetric key
|
|
42
43
|
*/
|
|
43
|
-
declare function
|
|
44
|
-
|
|
44
|
+
declare function deriveSymmetricKeyFromTwoKeysAndContext(key1: Uint8Array, key2: Uint8Array, context: string): Uint8Array;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/derive-key/deriveKeysFromPassword.d.ts
|
|
45
47
|
/**
|
|
46
48
|
* Derives a symmetric key from a user's password with a randomly sampled salt
|
|
47
49
|
*
|
|
@@ -49,8 +51,8 @@ declare function deriveKeyFromTwoKeysAndContext(key1: Uint8Array, key2: Uint8Arr
|
|
|
49
51
|
* @returns The derived secret key and randomly sampled salt
|
|
50
52
|
*/
|
|
51
53
|
declare function getKeyFromPassword(password: string): Promise<{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
key: Uint8Array;
|
|
55
|
+
salt: Uint8Array;
|
|
54
56
|
}>;
|
|
55
57
|
/**
|
|
56
58
|
* Derives a symmetric key from a user's password and salt
|
|
@@ -67,8 +69,8 @@ declare function getKeyFromPasswordAndSalt(password: string, salt: Uint8Array):
|
|
|
67
69
|
* @returns The derived HEX secret key and randomly sampled HEX salt
|
|
68
70
|
*/
|
|
69
71
|
declare function getKeyFromPasswordHex(password: string): Promise<{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
keyHex: string;
|
|
73
|
+
saltHex: string;
|
|
72
74
|
}>;
|
|
73
75
|
/**
|
|
74
76
|
* Derives a HEX symmetric key from a user's password and salt
|
|
@@ -87,5 +89,6 @@ declare function getKeyFromPasswordAndSaltHex(password: string, saltHex: string)
|
|
|
87
89
|
* @returns The result of the key verification
|
|
88
90
|
*/
|
|
89
91
|
declare function verifyKeyFromPasswordHex(password: string, saltHex: string, keyHex: string): Promise<boolean>;
|
|
90
|
-
|
|
91
|
-
export {
|
|
92
|
+
//#endregion
|
|
93
|
+
export { deriveSymmetricCryptoKeyFromContext, deriveSymmetricCryptoKeyFromTwoKeys, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, deriveSymmetricKeyFromTwoKeysAndContext, getKeyFromPassword, getKeyFromPasswordAndSalt, getKeyFromPasswordAndSaltHex, getKeyFromPasswordHex, verifyKeyFromPasswordHex };
|
|
94
|
+
//# sourceMappingURL=derive-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive-key.d.ts","names":[],"sources":["../src/derive-key/deriveKeysFromKey.ts","../src/derive-key/deriveKeysFromPassword.ts"],"mappings":";;AAaA;;;;;;;iBAAgB,6BAAA,CAA8B,OAAA,UAAiB,OAAA,EAAS,UAAA,GAAa,UAAA;;;AAYrF;;;;;;iBAAsB,mCAAA,CAAoC,OAAA,UAAiB,OAAA,EAAS,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;;;;;iBAwBzF,6BAAA,CAA8B,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,GAAa,UAAA;AAAnF;;;;;;;AAAA,iBAWsB,mCAAA,CAAoC,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;;;;;AAAvG;iBAkBgB,uCAAA,CACd,IAAA,EAAM,UAAA,EACN,IAAA,EAAM,UAAA,EACN,OAAA,WACC,UAAA;;;;AArEH;;;;;iBCJsB,kBAAA,CAAmB,QAAA,WAAmB,OAAA;EAAU,GAAA,EAAK,UAAA;EAAY,IAAA,EAAM,UAAA;AAAA;;ADgB7F;;;;;;iBCIsB,yBAAA,CAA0B,QAAA,UAAkB,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;;iBAoBvE,qBAAA,CAAsB,QAAA,WAAmB,OAAA;EAAU,MAAA;EAAgB,OAAA;AAAA;;;;;;;;iBAgBnE,4BAAA,CAA6B,QAAA,UAAkB,OAAA,WAAkB,OAAA;;;;;;ADLvF;;;iBCuBsB,wBAAA,CAAyB,QAAA,UAAkB,OAAA,UAAiB,MAAA,WAAiB,OAAA"}
|