internxt-crypto 0.0.13 → 1.0.0
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 +44 -72
- package/dist/aes-B8TA-JKq.mjs +49 -0
- package/dist/aes-B8TA-JKq.mjs.map +1 -0
- package/dist/aes-CuW_SPl-.js +67 -0
- package/dist/aes-CuW_SPl-.js.map +1 -0
- package/dist/asymmetric-crypto.d.mts +8 -31
- package/dist/asymmetric-crypto.d.mts.map +1 -1
- package/dist/asymmetric-crypto.d.ts +8 -31
- package/dist/asymmetric-crypto.d.ts.map +1 -1
- package/dist/asymmetric-crypto.js +30 -7
- package/dist/asymmetric-crypto.js.map +1 -0
- package/dist/asymmetric-crypto.mjs +28 -2
- package/dist/asymmetric-crypto.mjs.map +1 -0
- package/dist/constants.d.mts +7 -14
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.d.ts +7 -14
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +11 -25
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +7 -14
- package/dist/constants.mjs.map +1 -1
- package/dist/core-Bj26rNdA.js +227 -0
- package/dist/core-Bj26rNdA.js.map +1 -0
- package/dist/core-pEGygy6S.mjs +173 -0
- package/dist/core-pEGygy6S.mjs.map +1 -0
- package/dist/derive-key.d.mts +1 -74
- package/dist/derive-key.d.mts.map +1 -1
- package/dist/derive-key.d.ts +1 -74
- package/dist/derive-key.d.ts.map +1 -1
- package/dist/derive-key.js +3 -11
- package/dist/derive-key.mjs +2 -2
- package/dist/derive-password.d.mts +22 -0
- package/dist/derive-password.d.mts.map +1 -0
- package/dist/derive-password.d.ts +22 -0
- package/dist/derive-password.d.ts.map +1 -0
- package/dist/derive-password.js +5 -0
- package/dist/derive-password.mjs +3 -0
- package/dist/deriveKeysFromKey-C4McqO6_.js +47 -0
- package/dist/deriveKeysFromKey-C4McqO6_.js.map +1 -0
- package/dist/deriveKeysFromKey-DPU_h7wr.mjs +35 -0
- package/dist/deriveKeysFromKey-DPU_h7wr.mjs.map +1 -0
- package/dist/{deriveKeysFromPassword-Ko7NxkHM.js → deriveKeysFromPassword-C7xAGGsh.js} +5 -177
- package/dist/deriveKeysFromPassword-C7xAGGsh.js.map +1 -0
- package/dist/{deriveKeysFromPassword-DJRWZ8Rw.mjs → deriveKeysFromPassword-DXgSvTNC.mjs} +7 -131
- package/dist/deriveKeysFromPassword-DXgSvTNC.mjs.map +1 -0
- package/dist/email-crypto.d.mts +24 -46
- package/dist/email-crypto.d.mts.map +1 -1
- package/dist/email-crypto.d.ts +24 -46
- package/dist/email-crypto.d.ts.map +1 -1
- package/dist/email-crypto.js +121 -12
- package/dist/email-crypto.js.map +1 -0
- package/dist/email-crypto.mjs +115 -2
- package/dist/email-crypto.mjs.map +1 -0
- package/dist/email-search.d.mts +18 -18
- package/dist/email-search.d.mts.map +1 -1
- package/dist/email-search.d.ts +18 -18
- package/dist/email-search.d.ts.map +1 -1
- package/dist/email-search.js +25 -597
- package/dist/email-search.mjs +2 -573
- package/dist/{emailEncryptionKey-27mIHh18.mjs → emailEncryptionKey-BtSPYd9M.mjs} +23 -46
- package/dist/emailEncryptionKey-BtSPYd9M.mjs.map +1 -0
- package/dist/{emailEncryptionKey-DbaDAdoW.js → emailEncryptionKey-C4X1Bwy4.js} +22 -45
- package/dist/emailEncryptionKey-C4X1Bwy4.js.map +1 -0
- package/dist/{genID-3Er5IowC.mjs → genID-D08K7JPr.mjs} +4 -40
- package/dist/genID-D08K7JPr.mjs.map +1 -0
- package/dist/{genID-YJSl3YhL.js → genID-cWOPmspk.js} +2 -50
- package/dist/genID-cWOPmspk.js.map +1 -0
- package/dist/hash.d.mts +24 -36
- package/dist/hash.d.mts.map +1 -1
- package/dist/hash.d.ts +24 -36
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +88 -10
- package/dist/hash.js.map +1 -0
- package/dist/hash.mjs +82 -2
- package/dist/hash.mjs.map +1 -0
- package/dist/index.d.mts +17 -16
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +17 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -83
- package/dist/index.mjs +13 -11
- package/dist/keystore-crypto.d.mts +6 -6
- package/dist/keystore-crypto.d.mts.map +1 -1
- package/dist/keystore-crypto.d.ts +6 -6
- package/dist/keystore-crypto.d.ts.map +1 -1
- package/dist/keystore-crypto.js +1 -1
- package/dist/keystore-crypto.mjs +1 -1
- package/dist/post-quantum-crypto.d.mts +5 -41
- package/dist/post-quantum-crypto.d.mts.map +1 -1
- package/dist/post-quantum-crypto.d.ts +5 -41
- package/dist/post-quantum-crypto.d.ts.map +1 -1
- package/dist/post-quantum-crypto.js +49 -16
- package/dist/post-quantum-crypto.js.map +1 -0
- package/dist/post-quantum-crypto.mjs +46 -2
- package/dist/post-quantum-crypto.mjs.map +1 -0
- package/dist/search-B9YM3XAA.mjs +587 -0
- package/dist/search-B9YM3XAA.mjs.map +1 -0
- package/dist/search-DUTm4-rN.js +731 -0
- package/dist/search-DUTm4-rN.js.map +1 -0
- package/dist/symmetric-crypto.d.mts +13 -42
- package/dist/symmetric-crypto.d.mts.map +1 -1
- package/dist/symmetric-crypto.d.ts +13 -42
- package/dist/symmetric-crypto.d.ts.map +1 -1
- package/dist/symmetric-crypto.js +2 -6
- package/dist/symmetric-crypto.mjs +2 -2
- package/dist/types.d.mts +16 -39
- package/dist/types.d.mts.map +1 -1
- package/dist/types.d.ts +16 -39
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts +1 -19
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.d.ts +1 -19
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -3
- package/dist/utils.mjs +2 -2
- package/dist/xwing-CQmQX6hn.mjs +16 -0
- package/dist/xwing-CQmQX6hn.mjs.map +1 -0
- package/dist/xwing-iRWVRtNE.js +34 -0
- package/dist/xwing-iRWVRtNE.js.map +1 -0
- package/package.json +4 -2
- package/dist/aes-DSDxP8uF.mjs +0 -184
- package/dist/aes-DSDxP8uF.mjs.map +0 -1
- package/dist/aes-bOrKZuUC.js +0 -226
- package/dist/aes-bOrKZuUC.js.map +0 -1
- package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs.map +0 -1
- package/dist/deriveKeysFromPassword-Ko7NxkHM.js.map +0 -1
- package/dist/email-search.js.map +0 -1
- package/dist/email-search.mjs.map +0 -1
- package/dist/emailEncryptionKey-27mIHh18.mjs.map +0 -1
- package/dist/emailEncryptionKey-DbaDAdoW.js.map +0 -1
- package/dist/emailKeys-BJGdkLrg.js +0 -593
- package/dist/emailKeys-BJGdkLrg.js.map +0 -1
- package/dist/emailKeys-Fp9WR3wl.mjs +0 -509
- package/dist/emailKeys-Fp9WR3wl.mjs.map +0 -1
- package/dist/genID-3Er5IowC.mjs.map +0 -1
- package/dist/genID-YJSl3YhL.js.map +0 -1
- package/dist/keys-BfcaiAOv.mjs +0 -90
- package/dist/keys-BfcaiAOv.mjs.map +0 -1
- package/dist/keys-CinT7kEY.js +0 -125
- package/dist/keys-CinT7kEY.js.map +0 -1
- package/dist/kyber1024-PpwE1rki.mjs +0 -144
- package/dist/kyber1024-PpwE1rki.mjs.map +0 -1
- package/dist/kyber1024-jeKS8CXf.js +0 -173
- package/dist/kyber1024-jeKS8CXf.js.map +0 -1
- package/dist/kyber768-DGBB_RS7.d.ts +0 -32
- package/dist/kyber768-DGBB_RS7.d.ts.map +0 -1
- package/dist/kyber768-DzIcGg1i.d.mts +0 -32
- package/dist/kyber768-DzIcGg1i.d.mts.map +0 -1
- package/dist/mac-BMb1F0dN.js +0 -170
- package/dist/mac-BMb1F0dN.js.map +0 -1
- package/dist/mac-ZpRlx8Fs.mjs +0 -116
- package/dist/mac-ZpRlx8Fs.mjs.map +0 -1
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//#region src/post-quantum-crypto/kyber512.d.ts
|
|
4
|
-
declare namespace kyber512_d_exports {
|
|
5
|
-
export { decapsulateKyber$2 as decapsulateKyber, encapsulateKyber$2 as encapsulateKyber, generateKyberKeys$2 as generateKyberKeys };
|
|
6
|
-
}
|
|
1
|
+
//#region src/post-quantum-crypto/kyber768.d.ts
|
|
7
2
|
/**
|
|
8
3
|
* Generates public and secret Kyber keys
|
|
9
4
|
*
|
|
10
5
|
* @param seed - The optional seed
|
|
11
6
|
* @returns The generated Kyber key pair.
|
|
12
7
|
*/
|
|
13
|
-
declare function generateKyberKeys
|
|
8
|
+
declare function generateKyberKeys(seed?: Uint8Array): {
|
|
14
9
|
publicKey: Uint8Array;
|
|
15
10
|
secretKey: Uint8Array;
|
|
16
11
|
};
|
|
@@ -20,7 +15,7 @@ declare function generateKyberKeys$2(seed?: Uint8Array): {
|
|
|
20
15
|
* @param publicKey - The public Kyber key
|
|
21
16
|
* @returns The resulting encapsulation and the generated shared secret.
|
|
22
17
|
*/
|
|
23
|
-
declare function encapsulateKyber
|
|
18
|
+
declare function encapsulateKyber(publicKey: Uint8Array): {
|
|
24
19
|
cipherText: Uint8Array;
|
|
25
20
|
sharedSecret: Uint8Array;
|
|
26
21
|
};
|
|
@@ -31,38 +26,7 @@ declare function encapsulateKyber$2(publicKey: Uint8Array): {
|
|
|
31
26
|
* @param secretKey - The private Kyber key
|
|
32
27
|
* @returns The resulting decapsulated shared secret.
|
|
33
28
|
*/
|
|
34
|
-
declare function decapsulateKyber
|
|
35
|
-
declare namespace kyber1024_d_exports {
|
|
36
|
-
export { decapsulateKyber$1 as decapsulateKyber, encapsulateKyber$1 as encapsulateKyber, generateKyberKeys$1 as generateKyberKeys };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generates public and secret Kyber keys
|
|
40
|
-
*
|
|
41
|
-
* @param seed - The optional seed
|
|
42
|
-
* @returns The generated Kyber key pair.
|
|
43
|
-
*/
|
|
44
|
-
declare function generateKyberKeys$1(seed?: Uint8Array): {
|
|
45
|
-
publicKey: Uint8Array;
|
|
46
|
-
secretKey: Uint8Array;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
50
|
-
*
|
|
51
|
-
* @param publicKey - The public Kyber key
|
|
52
|
-
* @returns The resulting encapsulation and the generated shared secret.
|
|
53
|
-
*/
|
|
54
|
-
declare function encapsulateKyber$1(publicKey: Uint8Array): {
|
|
55
|
-
cipherText: Uint8Array;
|
|
56
|
-
sharedSecret: Uint8Array;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
60
|
-
*
|
|
61
|
-
* @param cipherText - The encapsulated key
|
|
62
|
-
* @param secretKey - The private Kyber key
|
|
63
|
-
* @returns The resulting decapsulated shared secret.
|
|
64
|
-
*/
|
|
65
|
-
declare function decapsulateKyber$1(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
29
|
+
declare function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
66
30
|
//#endregion
|
|
67
|
-
export { decapsulateKyber, encapsulateKyber, generateKyberKeys
|
|
31
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
68
32
|
//# sourceMappingURL=post-quantum-crypto.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-quantum-crypto.d.mts","names":[],"sources":["../src/post-quantum-crypto/
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.d.mts","names":[],"sources":["../src/post-quantum-crypto/kyber768.ts"],"mappings":";;AAQA;;;;;iBAAgB,iBAAA,CAAkB,IAAA,GAAO,UAAA;EACvC,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,UAAA;AAAA;;;;;;;iBAeG,gBAAA,CAAiB,SAAA,EAAW,UAAA;EAC1C,UAAA,EAAY,UAAA;EACZ,YAAA,EAAc,UAAA;AAAA;;;;;;;;iBAgBA,gBAAA,CAAiB,UAAA,EAAY,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,UAAA"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
//#region src/post-quantum-crypto/kyber512.d.ts
|
|
4
|
-
declare namespace kyber512_d_exports {
|
|
5
|
-
export { decapsulateKyber$2 as decapsulateKyber, encapsulateKyber$2 as encapsulateKyber, generateKyberKeys$2 as generateKyberKeys };
|
|
6
|
-
}
|
|
1
|
+
//#region src/post-quantum-crypto/kyber768.d.ts
|
|
7
2
|
/**
|
|
8
3
|
* Generates public and secret Kyber keys
|
|
9
4
|
*
|
|
10
5
|
* @param seed - The optional seed
|
|
11
6
|
* @returns The generated Kyber key pair.
|
|
12
7
|
*/
|
|
13
|
-
declare function generateKyberKeys
|
|
8
|
+
declare function generateKyberKeys(seed?: Uint8Array): {
|
|
14
9
|
publicKey: Uint8Array;
|
|
15
10
|
secretKey: Uint8Array;
|
|
16
11
|
};
|
|
@@ -20,7 +15,7 @@ declare function generateKyberKeys$2(seed?: Uint8Array): {
|
|
|
20
15
|
* @param publicKey - The public Kyber key
|
|
21
16
|
* @returns The resulting encapsulation and the generated shared secret.
|
|
22
17
|
*/
|
|
23
|
-
declare function encapsulateKyber
|
|
18
|
+
declare function encapsulateKyber(publicKey: Uint8Array): {
|
|
24
19
|
cipherText: Uint8Array;
|
|
25
20
|
sharedSecret: Uint8Array;
|
|
26
21
|
};
|
|
@@ -31,38 +26,7 @@ declare function encapsulateKyber$2(publicKey: Uint8Array): {
|
|
|
31
26
|
* @param secretKey - The private Kyber key
|
|
32
27
|
* @returns The resulting decapsulated shared secret.
|
|
33
28
|
*/
|
|
34
|
-
declare function decapsulateKyber
|
|
35
|
-
declare namespace kyber1024_d_exports {
|
|
36
|
-
export { decapsulateKyber$1 as decapsulateKyber, encapsulateKyber$1 as encapsulateKyber, generateKyberKeys$1 as generateKyberKeys };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generates public and secret Kyber keys
|
|
40
|
-
*
|
|
41
|
-
* @param seed - The optional seed
|
|
42
|
-
* @returns The generated Kyber key pair.
|
|
43
|
-
*/
|
|
44
|
-
declare function generateKyberKeys$1(seed?: Uint8Array): {
|
|
45
|
-
publicKey: Uint8Array;
|
|
46
|
-
secretKey: Uint8Array;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
50
|
-
*
|
|
51
|
-
* @param publicKey - The public Kyber key
|
|
52
|
-
* @returns The resulting encapsulation and the generated shared secret.
|
|
53
|
-
*/
|
|
54
|
-
declare function encapsulateKyber$1(publicKey: Uint8Array): {
|
|
55
|
-
cipherText: Uint8Array;
|
|
56
|
-
sharedSecret: Uint8Array;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
60
|
-
*
|
|
61
|
-
* @param cipherText - The encapsulated key
|
|
62
|
-
* @param secretKey - The private Kyber key
|
|
63
|
-
* @returns The resulting decapsulated shared secret.
|
|
64
|
-
*/
|
|
65
|
-
declare function decapsulateKyber$1(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
29
|
+
declare function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array;
|
|
66
30
|
//#endregion
|
|
67
|
-
export { decapsulateKyber, encapsulateKyber, generateKyberKeys
|
|
31
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
68
32
|
//# sourceMappingURL=post-quantum-crypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-quantum-crypto.d.ts","names":[],"sources":["../src/post-quantum-crypto/
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.d.ts","names":[],"sources":["../src/post-quantum-crypto/kyber768.ts"],"mappings":";;AAQA;;;;;iBAAgB,iBAAA,CAAkB,IAAA,GAAO,UAAA;EACvC,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,UAAA;AAAA;;;;;;;iBAeG,gBAAA,CAAiB,SAAA,EAAW,UAAA;EAC1C,UAAA,EAAY,UAAA;EACZ,YAAA,EAAc,UAAA;AAAA;;;;;;;;iBAgBA,gBAAA,CAAiB,UAAA,EAAY,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,UAAA"}
|
|
@@ -1,18 +1,51 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const
|
|
2
|
+
const require_chunk = require('./chunk-EbLFQX5m.js');
|
|
3
|
+
let _noble_post_quantum_ml_kem_js = require("@noble/post-quantum/ml-kem.js");
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
5
|
+
//#region src/post-quantum-crypto/kyber768.ts
|
|
6
|
+
/**
|
|
7
|
+
* Generates public and secret Kyber keys
|
|
8
|
+
*
|
|
9
|
+
* @param seed - The optional seed
|
|
10
|
+
* @returns The generated Kyber key pair.
|
|
11
|
+
*/
|
|
12
|
+
function generateKyberKeys(seed) {
|
|
13
|
+
try {
|
|
14
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.keygen(seed);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
throw new Error("Failed to generate Kyber keys", { cause: error });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
21
|
+
*
|
|
22
|
+
* @param publicKey - The public Kyber key
|
|
23
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
24
|
+
*/
|
|
25
|
+
function encapsulateKyber(publicKey) {
|
|
26
|
+
try {
|
|
27
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.encapsulate(publicKey);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw new Error("Failed to encapsulate", { cause: error });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
34
|
+
*
|
|
35
|
+
* @param cipherText - The encapsulated key
|
|
36
|
+
* @param secretKey - The private Kyber key
|
|
37
|
+
* @returns The resulting decapsulated shared secret.
|
|
38
|
+
*/
|
|
39
|
+
function decapsulateKyber(cipherText, secretKey) {
|
|
40
|
+
try {
|
|
41
|
+
return _noble_post_quantum_ml_kem_js.ml_kem768.decapsulate(cipherText, secretKey);
|
|
42
|
+
} catch (error) {
|
|
43
|
+
throw new Error("Failed to decapsulate", { cause: error });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.decapsulateKyber = decapsulateKyber;
|
|
49
|
+
exports.encapsulateKyber = encapsulateKyber;
|
|
50
|
+
exports.generateKyberKeys = generateKyberKeys;
|
|
51
|
+
//# sourceMappingURL=post-quantum-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.js","names":["kyber"],"sources":["../src/post-quantum-crypto/kyber768.ts"],"sourcesContent":["import { ml_kem768 as kyber } from '@noble/post-quantum/ml-kem.js';\n\n/**\n * Generates public and secret Kyber keys\n *\n * @param seed - The optional seed\n * @returns The generated Kyber key pair.\n */\nexport function generateKyberKeys(seed?: Uint8Array): {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n} {\n try {\n return kyber.keygen(seed);\n } catch (error) {\n throw new Error('Failed to generate Kyber keys', { cause: error });\n }\n}\n\n/**\n * Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms\n *\n * @param publicKey - The public Kyber key\n * @returns The resulting encapsulation and the generated shared secret.\n */\nexport function encapsulateKyber(publicKey: Uint8Array): {\n cipherText: Uint8Array;\n sharedSecret: Uint8Array;\n} {\n try {\n return kyber.encapsulate(publicKey);\n } catch (error) {\n throw new Error('Failed to encapsulate', { cause: error });\n }\n}\n\n/**\n * Decapsulates the encapsulated shared secret using Kyber algorithms\n *\n * @param cipherText - The encapsulated key\n * @param secretKey - The private Kyber key\n * @returns The resulting decapsulated shared secret.\n */\nexport function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array {\n try {\n return kyber.decapsulate(cipherText, secretKey);\n } catch (error) {\n throw new Error('Failed to decapsulate', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;;;;AAQA,SAAgB,kBAAkB,MAGhC;AACA,KAAI;AACF,SAAOA,wCAAM,OAAO,KAAK;UAClB,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,iBAAiB,WAG/B;AACA,KAAI;AACF,SAAOA,wCAAM,YAAY,UAAU;UAC5B,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW9D,SAAgB,iBAAiB,YAAwB,WAAmC;AAC1F,KAAI;AACF,SAAOA,wCAAM,YAAY,YAAY,UAAU;UACxC,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -1,3 +1,47 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ml_kem768 } from "@noble/post-quantum/ml-kem.js";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
//#region src/post-quantum-crypto/kyber768.ts
|
|
4
|
+
/**
|
|
5
|
+
* Generates public and secret Kyber keys
|
|
6
|
+
*
|
|
7
|
+
* @param seed - The optional seed
|
|
8
|
+
* @returns The generated Kyber key pair.
|
|
9
|
+
*/
|
|
10
|
+
function generateKyberKeys(seed) {
|
|
11
|
+
try {
|
|
12
|
+
return ml_kem768.keygen(seed);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
throw new Error("Failed to generate Kyber keys", { cause: error });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms
|
|
19
|
+
*
|
|
20
|
+
* @param publicKey - The public Kyber key
|
|
21
|
+
* @returns The resulting encapsulation and the generated shared secret.
|
|
22
|
+
*/
|
|
23
|
+
function encapsulateKyber(publicKey) {
|
|
24
|
+
try {
|
|
25
|
+
return ml_kem768.encapsulate(publicKey);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
throw new Error("Failed to encapsulate", { cause: error });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Decapsulates the encapsulated shared secret using Kyber algorithms
|
|
32
|
+
*
|
|
33
|
+
* @param cipherText - The encapsulated key
|
|
34
|
+
* @param secretKey - The private Kyber key
|
|
35
|
+
* @returns The resulting decapsulated shared secret.
|
|
36
|
+
*/
|
|
37
|
+
function decapsulateKyber(cipherText, secretKey) {
|
|
38
|
+
try {
|
|
39
|
+
return ml_kem768.decapsulate(cipherText, secretKey);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
throw new Error("Failed to decapsulate", { cause: error });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { decapsulateKyber, encapsulateKyber, generateKyberKeys };
|
|
47
|
+
//# sourceMappingURL=post-quantum-crypto.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-quantum-crypto.mjs","names":["kyber"],"sources":["../src/post-quantum-crypto/kyber768.ts"],"sourcesContent":["import { ml_kem768 as kyber } from '@noble/post-quantum/ml-kem.js';\n\n/**\n * Generates public and secret Kyber keys\n *\n * @param seed - The optional seed\n * @returns The generated Kyber key pair.\n */\nexport function generateKyberKeys(seed?: Uint8Array): {\n publicKey: Uint8Array;\n secretKey: Uint8Array;\n} {\n try {\n return kyber.keygen(seed);\n } catch (error) {\n throw new Error('Failed to generate Kyber keys', { cause: error });\n }\n}\n\n/**\n * Generates a shared secret of 256-bits and encapsulates it to the given public key using Kyber algorithms\n *\n * @param publicKey - The public Kyber key\n * @returns The resulting encapsulation and the generated shared secret.\n */\nexport function encapsulateKyber(publicKey: Uint8Array): {\n cipherText: Uint8Array;\n sharedSecret: Uint8Array;\n} {\n try {\n return kyber.encapsulate(publicKey);\n } catch (error) {\n throw new Error('Failed to encapsulate', { cause: error });\n }\n}\n\n/**\n * Decapsulates the encapsulated shared secret using Kyber algorithms\n *\n * @param cipherText - The encapsulated key\n * @param secretKey - The private Kyber key\n * @returns The resulting decapsulated shared secret.\n */\nexport function decapsulateKyber(cipherText: Uint8Array, secretKey: Uint8Array): Uint8Array {\n try {\n return kyber.decapsulate(cipherText, secretKey);\n } catch (error) {\n throw new Error('Failed to decapsulate', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,kBAAkB,MAGhC;AACA,KAAI;AACF,SAAOA,UAAM,OAAO,KAAK;UAClB,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,iBAAiB,WAG/B;AACA,KAAI;AACF,SAAOA,UAAM,YAAY,UAAU;UAC5B,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW9D,SAAgB,iBAAiB,YAAwB,WAAmC;AAC1F,KAAI;AACF,SAAOA,UAAM,YAAY,YAAY,UAAU;UACxC,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC"}
|