internxt-crypto 0.0.11 → 0.0.14
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/dist/{symmetric-crypto-CrdS1Che.mjs → aes-DCb9dJqb.mjs} +10 -46
- package/dist/aes-DCb9dJqb.mjs.map +1 -0
- package/dist/{symmetric-crypto-D65zB396.js → aes-DQo1MyCz.js} +13 -54
- package/dist/aes-DQo1MyCz.js.map +1 -0
- package/dist/asymmetric-crypto.d.mts +1 -4
- package/dist/asymmetric-crypto.d.mts.map +1 -0
- package/dist/asymmetric-crypto.d.ts +1 -4
- package/dist/asymmetric-crypto.d.ts.map +1 -0
- package/dist/asymmetric-crypto.js +8 -7
- package/dist/asymmetric-crypto.mjs +1 -1
- package/dist/{chunk-DWirmd9C.mjs → chunk-DQk6qfdC.mjs} +3 -3
- package/dist/{chunk-Dt-PWiN7.js → chunk-EbLFQX5m.js} +3 -3
- package/dist/constants.d.mts +5 -5
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.d.ts +5 -5
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +63 -30
- package/dist/constants.js.map +1 -0
- package/dist/constants.mjs +33 -2
- package/dist/constants.mjs.map +1 -0
- package/dist/derive-key.d.mts +1 -4
- package/dist/derive-key.d.mts.map +1 -0
- package/dist/derive-key.d.ts +1 -4
- package/dist/derive-key.d.ts.map +1 -0
- package/dist/derive-key.js +12 -14
- package/dist/derive-key.mjs +1 -4
- package/dist/{derive-key-CBf2WxJd.js → deriveKeysFromPassword-BYaiSGKL.js} +26 -52
- package/dist/deriveKeysFromPassword-BYaiSGKL.js.map +1 -0
- package/dist/{derive-key-Be7hS-cN.mjs → deriveKeysFromPassword-XIwzErlL.mjs} +7 -28
- package/dist/deriveKeysFromPassword-XIwzErlL.mjs.map +1 -0
- package/dist/email-crypto.d.mts +2 -5
- package/dist/email-crypto.d.mts.map +1 -0
- package/dist/email-crypto.d.ts +2 -5
- package/dist/email-crypto.d.ts.map +1 -0
- package/dist/email-crypto.js +12 -16
- package/dist/email-crypto.mjs +1 -6
- package/dist/email-search.d.mts +20 -23
- package/dist/email-search.d.mts.map +1 -0
- package/dist/email-search.d.ts +20 -23
- package/dist/email-search.d.ts.map +1 -0
- package/dist/email-search.js +25 -63
- package/dist/email-search.js.map +1 -1
- package/dist/email-search.mjs +17 -51
- package/dist/email-search.mjs.map +1 -1
- package/dist/{keystore-crypto-Bjgriq9h.mjs → emailEncryptionKey-B9xHw1h_.mjs} +12 -21
- package/dist/emailEncryptionKey-B9xHw1h_.mjs.map +1 -0
- package/dist/{keystore-crypto-B4yCVo9l.js → emailEncryptionKey-CQNe5W_T.js} +25 -40
- package/dist/emailEncryptionKey-CQNe5W_T.js.map +1 -0
- package/dist/{email-crypto-BrT98taw.js → emailKeys-C0KhtfNP.js} +67 -112
- package/dist/emailKeys-C0KhtfNP.js.map +1 -0
- package/dist/{email-crypto-DJUEjTxA.mjs → emailKeys-D4lp9NRv.mjs} +29 -75
- package/dist/emailKeys-D4lp9NRv.mjs.map +1 -0
- package/dist/{utils-DS04iUcX.mjs → genID-3Er5IowC.mjs} +4 -24
- package/dist/genID-3Er5IowC.mjs.map +1 -0
- package/dist/{utils-CNs3cyDj.js → genID-YJSl3YhL.js} +6 -31
- package/dist/genID-YJSl3YhL.js.map +1 -0
- package/dist/hash.d.mts +1 -4
- package/dist/hash.d.mts.map +1 -0
- package/dist/hash.d.ts +1 -4
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +11 -10
- package/dist/hash.mjs +1 -1
- package/dist/index.d.mts +19 -39
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +19 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +97 -88
- package/dist/index.mjs +12 -14
- package/dist/{asymmetric-crypto-CyXsV4XT.mjs → keys-BfcaiAOv.mjs} +3 -15
- package/dist/keys-BfcaiAOv.mjs.map +1 -0
- package/dist/{asymmetric-crypto-BORmLhnx.js → keys-CinT7kEY.js} +2 -20
- package/dist/keys-CinT7kEY.js.map +1 -0
- package/dist/keystore-crypto.d.mts +2 -5
- package/dist/keystore-crypto.d.mts.map +1 -0
- package/dist/keystore-crypto.d.ts +2 -5
- package/dist/keystore-crypto.d.ts.map +1 -0
- package/dist/keystore-crypto.js +5 -10
- package/dist/keystore-crypto.mjs +1 -7
- package/dist/kyber768-SXnIo-Nw.mjs +47 -0
- package/dist/kyber768-SXnIo-Nw.mjs.map +1 -0
- package/dist/kyber768-WUVc2fIR.js +65 -0
- package/dist/kyber768-WUVc2fIR.js.map +1 -0
- package/dist/{hash-BoqwNkcd.js → mac-BMb1F0dN.js} +3 -23
- package/dist/mac-BMb1F0dN.js.map +1 -0
- package/dist/{hash-CXeGAwai.mjs → mac-ZpRlx8Fs.mjs} +3 -18
- package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
- package/dist/post-quantum-crypto.d.mts +32 -2
- package/dist/post-quantum-crypto.d.mts.map +1 -0
- package/dist/post-quantum-crypto.d.ts +32 -2
- package/dist/post-quantum-crypto.d.ts.map +1 -0
- package/dist/post-quantum-crypto.js +5 -16
- package/dist/post-quantum-crypto.mjs +2 -2
- package/dist/storage-service.d.mts +47 -2
- package/dist/storage-service.d.mts.map +1 -0
- package/dist/storage-service.d.ts +47 -2
- package/dist/storage-service.d.ts.map +1 -0
- package/dist/storage-service.js +58 -4
- package/dist/storage-service.js.map +1 -0
- package/dist/storage-service.mjs +55 -2
- package/dist/storage-service.mjs.map +1 -0
- package/dist/symmetric-crypto.d.mts +5 -8
- package/dist/symmetric-crypto.d.mts.map +1 -0
- package/dist/symmetric-crypto.d.ts +5 -8
- package/dist/symmetric-crypto.d.ts.map +1 -0
- package/dist/symmetric-crypto.js +9 -9
- package/dist/symmetric-crypto.mjs +1 -2
- package/dist/types.d.mts +108 -2
- package/dist/types.d.mts.map +1 -0
- package/dist/types.d.ts +108 -2
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -2
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +9 -2
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +2 -5
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.d.ts +2 -5
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +16 -15
- package/dist/utils.mjs +1 -1
- package/package.json +24 -14
- package/dist/asymmetric-crypto-BORmLhnx.js.map +0 -1
- package/dist/asymmetric-crypto-CyXsV4XT.mjs.map +0 -1
- package/dist/constants-Ccp21E03.js +0 -208
- package/dist/constants-Ccp21E03.js.map +0 -1
- package/dist/constants-kTeX-2T0.mjs +0 -34
- package/dist/constants-kTeX-2T0.mjs.map +0 -1
- package/dist/derive-key-Be7hS-cN.mjs.map +0 -1
- package/dist/derive-key-CBf2WxJd.js.map +0 -1
- package/dist/email-crypto-BrT98taw.js.map +0 -1
- package/dist/email-crypto-DJUEjTxA.mjs.map +0 -1
- package/dist/hash-BoqwNkcd.js.map +0 -1
- package/dist/hash-CXeGAwai.mjs.map +0 -1
- package/dist/index-CQqgKsbX.d.ts +0 -50
- package/dist/index-CintVUbp.d.ts +0 -97
- package/dist/index-D5pBU_A5.d.mts +0 -50
- package/dist/index-MaOov-ag.d.mts +0 -97
- package/dist/keystore-crypto-B4yCVo9l.js.map +0 -1
- package/dist/keystore-crypto-Bjgriq9h.mjs.map +0 -1
- package/dist/keystore-service.d.mts +0 -48
- package/dist/keystore-service.d.ts +0 -48
- package/dist/keystore-service.js +0 -122
- package/dist/keystore-service.js.map +0 -1
- package/dist/keystore-service.mjs +0 -114
- package/dist/keystore-service.mjs.map +0 -1
- package/dist/post-quantum-crypto-CAi-cEkV.js +0 -189
- package/dist/post-quantum-crypto-CAi-cEkV.js.map +0 -1
- package/dist/post-quantum-crypto-Vv34t6gX.mjs +0 -154
- package/dist/post-quantum-crypto-Vv34t6gX.mjs.map +0 -1
- package/dist/storage-service-BgIK2aYZ.js +0 -82
- package/dist/storage-service-BgIK2aYZ.js.map +0 -1
- package/dist/storage-service-CubCbhY2.mjs +0 -65
- package/dist/storage-service-CubCbhY2.mjs.map +0 -1
- package/dist/symmetric-crypto-CrdS1Che.mjs.map +0 -1
- package/dist/symmetric-crypto-D65zB396.js.map +0 -1
- package/dist/types-52g887Zi.js +0 -16
- package/dist/types-52g887Zi.js.map +0 -1
- package/dist/types-BiEoleqw.mjs +0 -10
- package/dist/types-BiEoleqw.mjs.map +0 -1
- package/dist/types-Ds3ivE9W.d.ts +0 -104
- package/dist/types-DwQJtrTx.d.mts +0 -104
- package/dist/utils-CNs3cyDj.js.map +0 -1
- package/dist/utils-DS04iUcX.mjs.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,52 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { 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,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { t as index_d_exports$10 } from "./symmetric-crypto.js";
|
|
13
|
-
import { t as index_d_exports$11 } from "./utils.js";
|
|
1
|
+
import { deriveSecretKey, exportPrivateKey, exportPublicKey, generateEccKeys, importPrivateKey, importPublicKey } from "./asymmetric-crypto.js";
|
|
2
|
+
import { 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, 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 { deriveSymmetricCryptoKeyFromContext, deriveSymmetricCryptoKeyFromTwoKeys, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, deriveSymmetricKeyFromTwoKeysAndContext, getKeyFromPassword, getKeyFromPasswordAndSalt, getKeyFromPasswordAndSaltHex, getKeyFromPasswordHex, verifyKeyFromPasswordHex } from "./derive-key.js";
|
|
4
|
+
import { Email, EmailBody, EmailBodyEncrypted, EmailKeys, EmailKeysEncrypted, EmailPublicParameters, EmailSearchResult, EncryptedKeystore, HybridEncKey, HybridEncryptedEmail, HybridKeyPair, KeystoreType, MailCache, PrivateKeys, PrivateKeysEncrypted, PublicKeys, PublicKeysBase64, PwdProtectedEmail, PwdProtectedKey, StoredEmail, User, UserWithPublicKeys } from "./types.js";
|
|
5
|
+
import { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys } from "./email-crypto.js";
|
|
6
|
+
import { addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails } from "./email-search.js";
|
|
7
|
+
import { computeMac, getBytesFromData, getBytesFromDataArrayHex, getBytesFromDataHex, hashDataArray, hashDataArrayHex, hashDataArrayWithKey, hashDataArrayWithKeyHex } from "./hash.js";
|
|
8
|
+
import { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore } from "./keystore-crypto.js";
|
|
9
|
+
import { decapsulateKyber, encapsulateKyber, generateKyberKeys } from "./post-quantum-crypto.js";
|
|
10
|
+
import { decryptSymmetrically, deriveSymmetricCryptoKey, encryptSymmetrically, exportSymmetricCryptoKey, genSymmetricCryptoKey, genSymmetricKey, importSymmetricCryptoKey } from "./symmetric-crypto.js";
|
|
11
|
+
import { UTF8ToUint8, base64ToPublicKey, base64ToUint8Array, bytesToMnemonic, bytesToUuid, genMnemonic, generateUuid, hexToUint8Array, mnemonicToBytes, publicKeyToBase64, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, uuidToBytes } from "./utils.js";
|
|
14
12
|
|
|
15
13
|
//#region src/key-wrapper/aesWrapper.d.ts
|
|
16
|
-
/**
|
|
17
|
-
* Converts wrapping key in Uint8Array into CryptoKey
|
|
18
|
-
*
|
|
19
|
-
* @param key - The wrapping key in Uint8Array representation
|
|
20
|
-
* @returns The resulting CryptoKey
|
|
21
|
-
*/
|
|
22
|
-
declare function importWrappingKey(key: Uint8Array): Promise<CryptoKey>;
|
|
23
|
-
/**
|
|
24
|
-
* Derives wrapping key from two secrets
|
|
25
|
-
*
|
|
26
|
-
* @param eccSecret - The secret exchanged via elliptic curves
|
|
27
|
-
* @param kyberSecret - The secret exchanged via Kyber KEM
|
|
28
|
-
* @returns The resulting wrapping CryptoKey
|
|
29
|
-
*/
|
|
30
|
-
declare function deriveWrappingKey(eccSecret: Uint8Array, kyberSecret: Uint8Array): Promise<CryptoKey>;
|
|
31
14
|
/**
|
|
32
15
|
* Unwraps the given wrapped key
|
|
33
16
|
*
|
|
34
|
-
* @param encryptedKey - The
|
|
35
|
-
* @param wrappingKey - The secret key used for
|
|
36
|
-
* @returns The resulting
|
|
17
|
+
* @param encryptedKey - The wrapped key
|
|
18
|
+
* @param wrappingKey - The secret key used for unwrapping
|
|
19
|
+
* @returns The resulting key
|
|
37
20
|
*/
|
|
38
|
-
declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey:
|
|
21
|
+
declare function unwrapKey(encryptedKey: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
39
22
|
/**
|
|
40
|
-
* Wraps the given
|
|
23
|
+
* Wraps the given key
|
|
41
24
|
*
|
|
42
|
-
* @param
|
|
25
|
+
* @param key - The key to be wrapped
|
|
43
26
|
* @param wrappingKey - The secret key used for wrapping
|
|
44
27
|
* @returns The resulting ciphertext
|
|
45
28
|
*/
|
|
46
|
-
declare function wrapKey(
|
|
47
|
-
declare namespace index_d_exports$5 {
|
|
48
|
-
export { deriveWrappingKey, importWrappingKey, unwrapKey, wrapKey };
|
|
49
|
-
}
|
|
29
|
+
declare function wrapKey(key: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
50
30
|
//#endregion
|
|
51
|
-
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, Email, EmailBody, EmailBodyEncrypted, EmailKeys, EmailKeysEncrypted, EmailPublicParameters, EmailSearchResult, EncryptedKeystore, HASH_BIT_LEN, HybridEncKey, HybridEncryptedEmail, IV_LEN_BYTES, KEY_FORMAT, KEY_WRAPPING_ALGORITHM,
|
|
31
|
+
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, Email, EmailBody, EmailBodyEncrypted, EmailKeys, EmailKeysEncrypted, EmailPublicParameters, EmailSearchResult, EncryptedKeystore, HASH_BIT_LEN, HybridEncKey, HybridEncryptedEmail, HybridKeyPair, IV_LEN_BYTES, KEY_FORMAT, KEY_WRAPPING_ALGORITHM, KYBER768_PUBLIC_KEY_LENGTH, KYBER768_SECRET_KEY_LENGTH, KYBER_SEED_LENGTH, KeystoreType, MAX_CACHE_SIZE, MAX_EMAIL_PER_BATCH, MailCache, PrivateKeys, PrivateKeysEncrypted, PublicKeys, PublicKeysBase64, PwdProtectedEmail, PwdProtectedKey, StoredEmail, UTF8ToUint8, User, UserWithPublicKeys, XWING_CIPHERTEXT_BYTE_LENGTH, XWING_PUBLIC_KEY_LENGTH, XWING_SECRET_KEY_LENGTH, XWING_SEED_BYTE_LENGTH, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, base64ToPublicKey, base64ToUint8Array, buildSearchIndexFromCache, bytesToMnemonic, bytesToUuid, closeDatabase, computeMac, createCacheFromDB, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, decapsulateKyber, decryptEmailHybrid, decryptPwdProtectedEmail, decryptSymmetrically, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, deriveSecretKey, deriveSymmetricCryptoKey, deriveSymmetricCryptoKeyFromContext, deriveSymmetricCryptoKeyFromTwoKeys, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, deriveSymmetricKeyFromTwoKeysAndContext, encapsulateKyber, encryptAndStoreEmail, encryptAndStoreManyEmail, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptSymmetrically, enforceMaxEmailNumber, exportPrivateKey, exportPublicKey, exportSymmetricCryptoKey, genMnemonic, genSymmetricCryptoKey, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateUuid, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getBytesFromData, getBytesFromDataArrayHex, getBytesFromDataHex, getEmailBatch, getEmailCount, getEmailFromCache, getKeyFromPassword, getKeyFromPasswordAndSalt, getKeyFromPasswordAndSaltHex, getKeyFromPasswordHex, hashDataArray, hashDataArrayHex, hashDataArrayWithKey, hashDataArrayWithKeyHex, hexToUint8Array, importPrivateKey, importPublicKey, importSymmetricCryptoKey, mnemonicToBytes, openDatabase, openEncryptionKeystore, openRecoveryKeystore, publicKeyToBase64, removeEmailFromSearchIndex, searchEmails, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, verifyKeyFromPasswordHex, wrapKey };
|
|
52
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/key-wrapper/aesWrapper.ts"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA;;iBAAsB,SAAA,CAAU,YAAA,EAAc,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA;;;;;;;;iBAWtE,OAAA,CAAQ,GAAA,EAAK,UAAA,EAAY,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,UAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_constants = require('./constants.js');
|
|
3
|
+
const require_keys = require('./keys-CinT7kEY.js');
|
|
4
|
+
const require_genID = require('./genID-YJSl3YhL.js');
|
|
5
|
+
const require_mac = require('./mac-BMb1F0dN.js');
|
|
6
|
+
const require_aes = require('./aes-DQo1MyCz.js');
|
|
7
|
+
const require_deriveKeysFromPassword = require('./deriveKeysFromPassword-BYaiSGKL.js');
|
|
8
|
+
const require_kyber768 = require('./kyber768-WUVc2fIR.js');
|
|
9
|
+
const require_emailKeys = require('./emailKeys-C0KhtfNP.js');
|
|
9
10
|
const require_email_search = require('./email-search.js');
|
|
10
|
-
const require_types = require('./types
|
|
11
|
-
const
|
|
12
|
-
const require_keystore_service = require('./keystore-service.js');
|
|
13
|
-
const require_storage_service = require('./storage-service-BgIK2aYZ.js');
|
|
11
|
+
const require_types = require('./types.js');
|
|
12
|
+
const require_emailEncryptionKey = require('./emailEncryptionKey-CQNe5W_T.js');
|
|
14
13
|
|
|
15
14
|
exports.AES_ALGORITHM = require_constants.AES_ALGORITHM;
|
|
16
15
|
exports.AES_KEY_BIT_LENGTH = require_constants.AES_KEY_BIT_LENGTH;
|
|
@@ -32,85 +31,95 @@ exports.HASH_BIT_LEN = require_constants.HASH_BIT_LEN;
|
|
|
32
31
|
exports.IV_LEN_BYTES = require_constants.IV_LEN_BYTES;
|
|
33
32
|
exports.KEY_FORMAT = require_constants.KEY_FORMAT;
|
|
34
33
|
exports.KEY_WRAPPING_ALGORITHM = require_constants.KEY_WRAPPING_ALGORITHM;
|
|
35
|
-
exports.KYBER1024_PUBLIC_KEY_LENGTH = require_constants.KYBER1024_PUBLIC_KEY_LENGTH;
|
|
36
|
-
exports.KYBER1024_SECRET_KEY_LENGTH = require_constants.KYBER1024_SECRET_KEY_LENGTH;
|
|
37
|
-
exports.KYBER512_PUBLIC_KEY_LENGTH = require_constants.KYBER512_PUBLIC_KEY_LENGTH;
|
|
38
|
-
exports.KYBER512_SECRET_KEY_LENGTH = require_constants.KYBER512_SECRET_KEY_LENGTH;
|
|
39
34
|
exports.KYBER768_PUBLIC_KEY_LENGTH = require_constants.KYBER768_PUBLIC_KEY_LENGTH;
|
|
40
35
|
exports.KYBER768_SECRET_KEY_LENGTH = require_constants.KYBER768_SECRET_KEY_LENGTH;
|
|
41
36
|
exports.KYBER_SEED_LENGTH = require_constants.KYBER_SEED_LENGTH;
|
|
42
37
|
exports.KeystoreType = require_types.KeystoreType;
|
|
43
38
|
exports.MAX_CACHE_SIZE = require_constants.MAX_CACHE_SIZE;
|
|
44
39
|
exports.MAX_EMAIL_PER_BATCH = require_constants.MAX_EMAIL_PER_BATCH;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
40
|
+
exports.UTF8ToUint8 = require_genID.UTF8ToUint8;
|
|
41
|
+
exports.XWING_CIPHERTEXT_BYTE_LENGTH = require_constants.XWING_CIPHERTEXT_BYTE_LENGTH;
|
|
42
|
+
exports.XWING_PUBLIC_KEY_LENGTH = require_constants.XWING_PUBLIC_KEY_LENGTH;
|
|
43
|
+
exports.XWING_SECRET_KEY_LENGTH = require_constants.XWING_SECRET_KEY_LENGTH;
|
|
44
|
+
exports.XWING_SEED_BYTE_LENGTH = require_constants.XWING_SEED_BYTE_LENGTH;
|
|
45
|
+
exports.addEmailToCache = require_email_search.addEmailToCache;
|
|
46
|
+
exports.addEmailToSearchIndex = require_email_search.addEmailToSearchIndex;
|
|
47
|
+
exports.addEmailsToCache = require_email_search.addEmailsToCache;
|
|
48
|
+
exports.base64ToPublicKey = require_genID.base64ToPublicKey;
|
|
49
|
+
exports.base64ToUint8Array = require_genID.base64ToUint8Array;
|
|
50
|
+
exports.buildSearchIndexFromCache = require_email_search.buildSearchIndexFromCache;
|
|
51
|
+
exports.bytesToMnemonic = require_genID.bytesToMnemonic;
|
|
52
|
+
exports.bytesToUuid = require_genID.bytesToUuid;
|
|
53
|
+
exports.closeDatabase = require_email_search.closeDatabase;
|
|
54
|
+
exports.computeMac = require_mac.computeMac;
|
|
55
|
+
exports.createCacheFromDB = require_email_search.createCacheFromDB;
|
|
56
|
+
exports.createEncryptionAndRecoveryKeystores = require_emailEncryptionKey.createEncryptionAndRecoveryKeystores;
|
|
57
|
+
exports.createPwdProtectedEmail = require_emailKeys.createPwdProtectedEmail;
|
|
58
|
+
exports.decapsulateKyber = require_kyber768.decapsulateKyber;
|
|
59
|
+
exports.decryptEmailHybrid = require_emailKeys.decryptEmailHybrid;
|
|
60
|
+
exports.decryptPwdProtectedEmail = require_emailKeys.decryptPwdProtectedEmail;
|
|
61
|
+
exports.decryptSymmetrically = require_aes.decryptSymmetrically;
|
|
62
|
+
exports.deleteEmail = require_email_search.deleteEmail;
|
|
63
|
+
exports.deleteEmailFromCache = require_email_search.deleteEmailFromCache;
|
|
64
|
+
exports.deleteOldestEmails = require_email_search.deleteOldestEmails;
|
|
65
|
+
exports.deriveIndexKey = require_email_search.deriveIndexKey;
|
|
66
|
+
exports.deriveSecretKey = require_keys.deriveSecretKey;
|
|
67
|
+
exports.deriveSymmetricCryptoKey = require_aes.deriveSymmetricCryptoKey;
|
|
68
|
+
exports.deriveSymmetricCryptoKeyFromContext = require_deriveKeysFromPassword.deriveSymmetricCryptoKeyFromContext;
|
|
69
|
+
exports.deriveSymmetricCryptoKeyFromTwoKeys = require_deriveKeysFromPassword.deriveSymmetricCryptoKeyFromTwoKeys;
|
|
70
|
+
exports.deriveSymmetricKeyFromContext = require_deriveKeysFromPassword.deriveSymmetricKeyFromContext;
|
|
71
|
+
exports.deriveSymmetricKeyFromTwoKeys = require_deriveKeysFromPassword.deriveSymmetricKeyFromTwoKeys;
|
|
72
|
+
exports.deriveSymmetricKeyFromTwoKeysAndContext = require_deriveKeysFromPassword.deriveSymmetricKeyFromTwoKeysAndContext;
|
|
73
|
+
exports.encapsulateKyber = require_kyber768.encapsulateKyber;
|
|
74
|
+
exports.encryptAndStoreEmail = require_email_search.encryptAndStoreEmail;
|
|
75
|
+
exports.encryptAndStoreManyEmail = require_email_search.encryptAndStoreManyEmail;
|
|
76
|
+
exports.encryptEmailHybrid = require_emailKeys.encryptEmailHybrid;
|
|
77
|
+
exports.encryptEmailHybridForMultipleRecipients = require_emailKeys.encryptEmailHybridForMultipleRecipients;
|
|
78
|
+
exports.encryptSymmetrically = require_aes.encryptSymmetrically;
|
|
79
|
+
exports.enforceMaxEmailNumber = require_email_search.enforceMaxEmailNumber;
|
|
80
|
+
exports.exportPrivateKey = require_keys.exportPrivateKey;
|
|
81
|
+
exports.exportPublicKey = require_keys.exportPublicKey;
|
|
82
|
+
exports.exportSymmetricCryptoKey = require_aes.exportSymmetricCryptoKey;
|
|
83
|
+
exports.genMnemonic = require_genID.genMnemonic;
|
|
84
|
+
exports.genSymmetricCryptoKey = require_aes.genSymmetricCryptoKey;
|
|
85
|
+
exports.genSymmetricKey = require_aes.genSymmetricKey;
|
|
86
|
+
exports.generateEccKeys = require_keys.generateEccKeys;
|
|
87
|
+
exports.generateEmailKeys = require_emailKeys.generateEmailKeys;
|
|
88
|
+
exports.generateKyberKeys = require_kyber768.generateKyberKeys;
|
|
89
|
+
exports.generateUuid = require_genID.generateUuid;
|
|
90
|
+
exports.getAllEmailsSortedNewestFirst = require_email_search.getAllEmailsSortedNewestFirst;
|
|
91
|
+
exports.getAllEmailsSortedOldestFirst = require_email_search.getAllEmailsSortedOldestFirst;
|
|
92
|
+
exports.getAndDecryptAllEmails = require_email_search.getAndDecryptAllEmails;
|
|
93
|
+
exports.getAndDecryptEmail = require_email_search.getAndDecryptEmail;
|
|
94
|
+
exports.getBytesFromData = require_mac.getBytesFromData;
|
|
95
|
+
exports.getBytesFromDataArrayHex = require_mac.getBytesFromDataArrayHex;
|
|
96
|
+
exports.getBytesFromDataHex = require_mac.getBytesFromDataHex;
|
|
97
|
+
exports.getEmailBatch = require_email_search.getEmailBatch;
|
|
98
|
+
exports.getEmailCount = require_email_search.getEmailCount;
|
|
99
|
+
exports.getEmailFromCache = require_email_search.getEmailFromCache;
|
|
100
|
+
exports.getKeyFromPassword = require_deriveKeysFromPassword.getKeyFromPassword;
|
|
101
|
+
exports.getKeyFromPasswordAndSalt = require_deriveKeysFromPassword.getKeyFromPasswordAndSalt;
|
|
102
|
+
exports.getKeyFromPasswordAndSaltHex = require_deriveKeysFromPassword.getKeyFromPasswordAndSaltHex;
|
|
103
|
+
exports.getKeyFromPasswordHex = require_deriveKeysFromPassword.getKeyFromPasswordHex;
|
|
104
|
+
exports.hashDataArray = require_mac.hashDataArray;
|
|
105
|
+
exports.hashDataArrayHex = require_mac.hashDataArrayHex;
|
|
106
|
+
exports.hashDataArrayWithKey = require_mac.hashDataArrayWithKey;
|
|
107
|
+
exports.hashDataArrayWithKeyHex = require_mac.hashDataArrayWithKeyHex;
|
|
108
|
+
exports.hexToUint8Array = require_genID.hexToUint8Array;
|
|
109
|
+
exports.importPrivateKey = require_keys.importPrivateKey;
|
|
110
|
+
exports.importPublicKey = require_keys.importPublicKey;
|
|
111
|
+
exports.importSymmetricCryptoKey = require_aes.importSymmetricCryptoKey;
|
|
112
|
+
exports.mnemonicToBytes = require_genID.mnemonicToBytes;
|
|
113
|
+
exports.openDatabase = require_email_search.openDatabase;
|
|
114
|
+
exports.openEncryptionKeystore = require_emailEncryptionKey.openEncryptionKeystore;
|
|
115
|
+
exports.openRecoveryKeystore = require_emailEncryptionKey.openRecoveryKeystore;
|
|
116
|
+
exports.publicKeyToBase64 = require_genID.publicKeyToBase64;
|
|
117
|
+
exports.removeEmailFromSearchIndex = require_email_search.removeEmailFromSearchIndex;
|
|
118
|
+
exports.searchEmails = require_email_search.searchEmails;
|
|
119
|
+
exports.uint8ArrayToBase64 = require_genID.uint8ArrayToBase64;
|
|
120
|
+
exports.uint8ArrayToHex = require_genID.uint8ArrayToHex;
|
|
121
|
+
exports.uint8ToUTF8 = require_genID.uint8ToUTF8;
|
|
122
|
+
exports.unwrapKey = require_emailKeys.unwrapKey;
|
|
123
|
+
exports.uuidToBytes = require_genID.uuidToBytes;
|
|
124
|
+
exports.verifyKeyFromPasswordHex = require_deriveKeysFromPassword.verifyKeyFromPasswordHex;
|
|
125
|
+
exports.wrapKey = require_emailKeys.wrapKey;
|
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import { m as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as keystore_service_exports } from "./keystore-service.mjs";
|
|
13
|
-
import { t as storage_service_exports } from "./storage-service-CubCbhY2.mjs";
|
|
1
|
+
import { 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, 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";
|
|
2
|
+
import { a as importPublicKey, i as importPrivateKey, n as exportPublicKey, o as deriveSecretKey, r as generateEccKeys, t as exportPrivateKey } from "./keys-BfcaiAOv.mjs";
|
|
3
|
+
import { a as genMnemonic, c as publicKeyToBase64, d as hexToUint8Array, f as uint8ArrayToBase64, i as bytesToMnemonic, l as UTF8ToUint8, m as uint8ToUTF8, n as generateUuid, o as mnemonicToBytes, p as uint8ArrayToHex, r as uuidToBytes, s as base64ToPublicKey, t as bytesToUuid, u as base64ToUint8Array } from "./genID-3Er5IowC.mjs";
|
|
4
|
+
import { a as getBytesFromDataHex, c as hashDataArrayWithKey, i as getBytesFromDataArrayHex, l as hashDataArrayWithKeyHex, n as getBytesFromData, o as hashDataArray, s as hashDataArrayHex, t as computeMac } from "./mac-ZpRlx8Fs.mjs";
|
|
5
|
+
import { a as genSymmetricCryptoKey, i as exportSymmetricCryptoKey, n as encryptSymmetrically, o as genSymmetricKey, r as deriveSymmetricCryptoKey, s as importSymmetricCryptoKey, t as decryptSymmetrically } from "./aes-DCb9dJqb.mjs";
|
|
6
|
+
import { a as verifyKeyFromPasswordHex, c as deriveSymmetricKeyFromContext, i as getKeyFromPasswordHex, l as deriveSymmetricKeyFromTwoKeys, n as getKeyFromPasswordAndSalt, o as deriveSymmetricCryptoKeyFromContext, r as getKeyFromPasswordAndSaltHex, s as deriveSymmetricCryptoKeyFromTwoKeys, t as getKeyFromPassword, u as deriveSymmetricKeyFromTwoKeysAndContext } from "./deriveKeysFromPassword-XIwzErlL.mjs";
|
|
7
|
+
import { n as encapsulateKyber, r as generateKyberKeys, t as decapsulateKyber } from "./kyber768-SXnIo-Nw.mjs";
|
|
8
|
+
import { a as encryptEmailHybrid, i as decryptEmailHybrid, m as wrapKey, n as createPwdProtectedEmail, o as encryptEmailHybridForMultipleRecipients, p as unwrapKey, r as decryptPwdProtectedEmail, t as generateEmailKeys } from "./emailKeys-D4lp9NRv.mjs";
|
|
9
|
+
import { addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails } from "./email-search.mjs";
|
|
10
|
+
import { KeystoreType } from "./types.mjs";
|
|
11
|
+
import { n as openEncryptionKeystore, r as openRecoveryKeystore, t as createEncryptionAndRecoveryKeystores } from "./emailEncryptionKey-B9xHw1h_.mjs";
|
|
14
12
|
|
|
15
|
-
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,
|
|
13
|
+
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, 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, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, base64ToPublicKey, base64ToUint8Array, buildSearchIndexFromCache, bytesToMnemonic, bytesToUuid, closeDatabase, computeMac, createCacheFromDB, createEncryptionAndRecoveryKeystores, createPwdProtectedEmail, decapsulateKyber, decryptEmailHybrid, decryptPwdProtectedEmail, decryptSymmetrically, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, deriveSecretKey, deriveSymmetricCryptoKey, deriveSymmetricCryptoKeyFromContext, deriveSymmetricCryptoKeyFromTwoKeys, deriveSymmetricKeyFromContext, deriveSymmetricKeyFromTwoKeys, deriveSymmetricKeyFromTwoKeysAndContext, encapsulateKyber, encryptAndStoreEmail, encryptAndStoreManyEmail, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, encryptSymmetrically, enforceMaxEmailNumber, exportPrivateKey, exportPublicKey, exportSymmetricCryptoKey, genMnemonic, genSymmetricCryptoKey, genSymmetricKey, generateEccKeys, generateEmailKeys, generateKyberKeys, generateUuid, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getBytesFromData, getBytesFromDataArrayHex, getBytesFromDataHex, getEmailBatch, getEmailCount, getEmailFromCache, getKeyFromPassword, getKeyFromPasswordAndSalt, getKeyFromPasswordAndSaltHex, getKeyFromPasswordHex, hashDataArray, hashDataArrayHex, hashDataArrayWithKey, hashDataArrayWithKeyHex, hexToUint8Array, importPrivateKey, importPublicKey, importSymmetricCryptoKey, mnemonicToBytes, openDatabase, openEncryptionKeystore, openRecoveryKeystore, publicKeyToBase64, removeEmailFromSearchIndex, searchEmails, uint8ArrayToBase64, uint8ArrayToHex, uint8ToUTF8, unwrapKey, uuidToBytes, verifyKeyFromPasswordHex, wrapKey };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as ECC_ALGORITHM, n as AES_KEY_BIT_LENGTH } from "./constants-kTeX-2T0.mjs";
|
|
1
|
+
import { AES_KEY_BIT_LENGTH, ECC_ALGORITHM } from "./constants.mjs";
|
|
3
2
|
|
|
4
3
|
//#region src/asymmetric-crypto/ellipticCurve.ts
|
|
5
4
|
/**
|
|
@@ -87,16 +86,5 @@ async function importPrivateKey(pkcs8KeyData) {
|
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
//#endregion
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
deriveSecretKey: () => deriveSecretKey,
|
|
93
|
-
exportPrivateKey: () => exportPrivateKey,
|
|
94
|
-
exportPublicKey: () => exportPublicKey,
|
|
95
|
-
generateEccKeys: () => generateEccKeys,
|
|
96
|
-
importPrivateKey: () => importPrivateKey,
|
|
97
|
-
importPublicKey: () => importPublicKey
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
//#endregion
|
|
101
|
-
export { importPrivateKey as a, generateEccKeys as i, exportPrivateKey as n, importPublicKey as o, exportPublicKey as r, deriveSecretKey as s, asymmetric_crypto_exports as t };
|
|
102
|
-
//# sourceMappingURL=asymmetric-crypto-CyXsV4XT.mjs.map
|
|
89
|
+
export { importPublicKey as a, importPrivateKey as i, exportPublicKey as n, deriveSecretKey as o, generateEccKeys as r, exportPrivateKey as t };
|
|
90
|
+
//# sourceMappingURL=keys-BfcaiAOv.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys-BfcaiAOv.mjs","names":[],"sources":["../src/asymmetric-crypto/ellipticCurve.ts","../src/asymmetric-crypto/keys.ts"],"sourcesContent":["import { ECC_ALGORITHM, AES_KEY_BIT_LENGTH } from '../constants';\n\n/**\n * Derives secret key from the other user's public key and own private key\n *\n * @param otherUserPublicKey - The public key of the other user\n * @param ownPrivateKey - The private key\n * @returns The derived secret key bits\n */\nexport async function deriveSecretKey(otherUserPublicKey: CryptoKey, ownPrivateKey: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.deriveBits(\n {\n name: ECC_ALGORITHM,\n public: otherUserPublicKey,\n },\n ownPrivateKey,\n AES_KEY_BIT_LENGTH,\n );\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to derive elliptic curve secret key', { cause: error });\n }\n}\n","import { ECC_ALGORITHM } from '../constants';\n\n/**\n * Generates elliptic curve key pair\n *\n * @returns The generated key pair\n */\nexport async function generateEccKeys(): Promise<CryptoKeyPair> {\n try {\n return (await crypto.subtle.generateKey(\n {\n name: ECC_ALGORITHM,\n },\n true,\n ['deriveBits'],\n )) as CryptoKeyPair;\n } catch (error) {\n throw new Error('Failed to generate elliptic curve key pair', { cause: error });\n }\n}\n\n/**\n * Converts public CryptoKey into Uint8Array using SubjectPublicKeyInfo format (RFC 5280)\n *\n * @returns The Uint8Array representation of the public key\n */\nexport async function exportPublicKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.exportKey('spki', key);\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to export public key', { cause: error });\n }\n}\n\n/**\n * Converts public key in SubjectPublicKeyInfo format (RFC 5280) to CryptoKey\n *\n * @returns The CryptoKey representation of the public key\n */\nexport async function importPublicKey(spkiKeyData: Uint8Array): Promise<CryptoKey> {\n try {\n return await crypto.subtle.importKey(\n 'spki',\n spkiKeyData as BufferSource,\n {\n name: ECC_ALGORITHM,\n },\n true,\n [],\n );\n } catch (error) {\n throw new Error('Failed to import public key', { cause: error });\n }\n}\n\n/**\n * Converts private key in CryptoKey to PKCS #8 format (RFC 5208)\n *\n * @returns The Uint8Array representation of the private key\n */\nexport async function exportPrivateKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.exportKey('pkcs8', key);\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to export private key', { cause: error });\n }\n}\n\n/**\n * Converts private key in PKCS #8 format (RFC 5208) to CryptoKey\n *\n * @returns The CryptoKey representation of the private key\n */\nexport async function importPrivateKey(pkcs8KeyData: Uint8Array): Promise<CryptoKey> {\n try {\n return await crypto.subtle.importKey(\n 'pkcs8',\n pkcs8KeyData as BufferSource,\n {\n name: ECC_ALGORITHM,\n },\n true,\n ['deriveBits'],\n );\n } catch (error) {\n throw new Error('Failed to import private key', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;;;AASA,eAAsB,gBAAgB,oBAA+B,eAA+C;AAClH,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,WACjC;GACE,MAAM;GACN,QAAQ;GACT,EACD,eACA,mBACD;AACD,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;ACdnF,eAAsB,kBAA0C;AAC9D,KAAI;AACF,SAAQ,MAAM,OAAO,OAAO,YAC1B,EACE,MAAM,eACP,EACD,MACA,CAAC,aAAa,CACf;UACM,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASnF,eAAsB,gBAAgB,KAAqC;AACzE,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,UAAU,QAAQ,IAAI;AACzD,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,+BAA+B,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASpE,eAAsB,gBAAgB,aAA6C;AACjF,KAAI;AACF,SAAO,MAAM,OAAO,OAAO,UACzB,QACA,aACA,EACE,MAAM,eACP,EACD,MACA,EAAE,CACH;UACM,OAAO;AACd,QAAM,IAAI,MAAM,+BAA+B,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASpE,eAAsB,iBAAiB,KAAqC;AAC1E,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,UAAU,SAAS,IAAI;AAC1D,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,gCAAgC,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASrE,eAAsB,iBAAiB,cAA8C;AACnF,KAAI;AACF,SAAO,MAAM,OAAO,OAAO,UACzB,SACA,cACA,EACE,MAAM,eACP,EACD,MACA,CAAC,aAAa,CACf;UACM,OAAO;AACd,QAAM,IAAI,MAAM,gCAAgC,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
const
|
|
2
|
-
const require_constants = require('./constants-Ccp21E03.js');
|
|
1
|
+
const require_constants = require('./constants.js');
|
|
3
2
|
|
|
4
3
|
//#region src/asymmetric-crypto/ellipticCurve.ts
|
|
5
4
|
/**
|
|
@@ -87,23 +86,6 @@ async function importPrivateKey(pkcs8KeyData) {
|
|
|
87
86
|
}
|
|
88
87
|
|
|
89
88
|
//#endregion
|
|
90
|
-
//#region src/asymmetric-crypto/index.ts
|
|
91
|
-
var asymmetric_crypto_exports = /* @__PURE__ */ require_chunk.__exportAll({
|
|
92
|
-
deriveSecretKey: () => deriveSecretKey,
|
|
93
|
-
exportPrivateKey: () => exportPrivateKey,
|
|
94
|
-
exportPublicKey: () => exportPublicKey,
|
|
95
|
-
generateEccKeys: () => generateEccKeys,
|
|
96
|
-
importPrivateKey: () => importPrivateKey,
|
|
97
|
-
importPublicKey: () => importPublicKey
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
//#endregion
|
|
101
|
-
Object.defineProperty(exports, 'asymmetric_crypto_exports', {
|
|
102
|
-
enumerable: true,
|
|
103
|
-
get: function () {
|
|
104
|
-
return asymmetric_crypto_exports;
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
89
|
Object.defineProperty(exports, 'deriveSecretKey', {
|
|
108
90
|
enumerable: true,
|
|
109
91
|
get: function () {
|
|
@@ -140,4 +122,4 @@ Object.defineProperty(exports, 'importPublicKey', {
|
|
|
140
122
|
return importPublicKey;
|
|
141
123
|
}
|
|
142
124
|
});
|
|
143
|
-
//# sourceMappingURL=
|
|
125
|
+
//# sourceMappingURL=keys-CinT7kEY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys-CinT7kEY.js","names":["ECC_ALGORITHM","AES_KEY_BIT_LENGTH","ECC_ALGORITHM"],"sources":["../src/asymmetric-crypto/ellipticCurve.ts","../src/asymmetric-crypto/keys.ts"],"sourcesContent":["import { ECC_ALGORITHM, AES_KEY_BIT_LENGTH } from '../constants';\n\n/**\n * Derives secret key from the other user's public key and own private key\n *\n * @param otherUserPublicKey - The public key of the other user\n * @param ownPrivateKey - The private key\n * @returns The derived secret key bits\n */\nexport async function deriveSecretKey(otherUserPublicKey: CryptoKey, ownPrivateKey: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.deriveBits(\n {\n name: ECC_ALGORITHM,\n public: otherUserPublicKey,\n },\n ownPrivateKey,\n AES_KEY_BIT_LENGTH,\n );\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to derive elliptic curve secret key', { cause: error });\n }\n}\n","import { ECC_ALGORITHM } from '../constants';\n\n/**\n * Generates elliptic curve key pair\n *\n * @returns The generated key pair\n */\nexport async function generateEccKeys(): Promise<CryptoKeyPair> {\n try {\n return (await crypto.subtle.generateKey(\n {\n name: ECC_ALGORITHM,\n },\n true,\n ['deriveBits'],\n )) as CryptoKeyPair;\n } catch (error) {\n throw new Error('Failed to generate elliptic curve key pair', { cause: error });\n }\n}\n\n/**\n * Converts public CryptoKey into Uint8Array using SubjectPublicKeyInfo format (RFC 5280)\n *\n * @returns The Uint8Array representation of the public key\n */\nexport async function exportPublicKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.exportKey('spki', key);\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to export public key', { cause: error });\n }\n}\n\n/**\n * Converts public key in SubjectPublicKeyInfo format (RFC 5280) to CryptoKey\n *\n * @returns The CryptoKey representation of the public key\n */\nexport async function importPublicKey(spkiKeyData: Uint8Array): Promise<CryptoKey> {\n try {\n return await crypto.subtle.importKey(\n 'spki',\n spkiKeyData as BufferSource,\n {\n name: ECC_ALGORITHM,\n },\n true,\n [],\n );\n } catch (error) {\n throw new Error('Failed to import public key', { cause: error });\n }\n}\n\n/**\n * Converts private key in CryptoKey to PKCS #8 format (RFC 5208)\n *\n * @returns The Uint8Array representation of the private key\n */\nexport async function exportPrivateKey(key: CryptoKey): Promise<Uint8Array> {\n try {\n const result = await crypto.subtle.exportKey('pkcs8', key);\n return new Uint8Array(result);\n } catch (error) {\n throw new Error('Failed to export private key', { cause: error });\n }\n}\n\n/**\n * Converts private key in PKCS #8 format (RFC 5208) to CryptoKey\n *\n * @returns The CryptoKey representation of the private key\n */\nexport async function importPrivateKey(pkcs8KeyData: Uint8Array): Promise<CryptoKey> {\n try {\n return await crypto.subtle.importKey(\n 'pkcs8',\n pkcs8KeyData as BufferSource,\n {\n name: ECC_ALGORITHM,\n },\n true,\n ['deriveBits'],\n );\n } catch (error) {\n throw new Error('Failed to import private key', { cause: error });\n }\n}\n"],"mappings":";;;;;;;;;;AASA,eAAsB,gBAAgB,oBAA+B,eAA+C;AAClH,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,WACjC;GACE,MAAMA;GACN,QAAQ;GACT,EACD,eACAC,qCACD;AACD,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;;ACdnF,eAAsB,kBAA0C;AAC9D,KAAI;AACF,SAAQ,MAAM,OAAO,OAAO,YAC1B,EACE,MAAMC,iCACP,EACD,MACA,CAAC,aAAa,CACf;UACM,OAAO;AACd,QAAM,IAAI,MAAM,8CAA8C,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASnF,eAAsB,gBAAgB,KAAqC;AACzE,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,UAAU,QAAQ,IAAI;AACzD,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,+BAA+B,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASpE,eAAsB,gBAAgB,aAA6C;AACjF,KAAI;AACF,SAAO,MAAM,OAAO,OAAO,UACzB,QACA,aACA,EACE,MAAMA,iCACP,EACD,MACA,EAAE,CACH;UACM,OAAO;AACd,QAAM,IAAI,MAAM,+BAA+B,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASpE,eAAsB,iBAAiB,KAAqC;AAC1E,KAAI;EACF,MAAM,SAAS,MAAM,OAAO,OAAO,UAAU,SAAS,IAAI;AAC1D,SAAO,IAAI,WAAW,OAAO;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,gCAAgC,EAAE,OAAO,OAAO,CAAC;;;;;;;;AASrE,eAAsB,iBAAiB,cAA8C;AACnF,KAAI;AACF,SAAO,MAAM,OAAO,OAAO,UACzB,SACA,cACA,EACE,MAAMA,iCACP,EACD,MACA,CAAC,aAAa,CACf;UACM,OAAO;AACd,QAAM,IAAI,MAAM,gCAAgC,EAAE,OAAO,OAAO,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EmailKeys, EncryptedKeystore } from "./types.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/keystore-crypto/emailEncryptionKey.d.ts
|
|
4
4
|
/**
|
|
@@ -32,9 +32,6 @@ declare function openEncryptionKeystore(encryptedKeystore: EncryptedKeystore, ba
|
|
|
32
32
|
* @returns The encryption keys
|
|
33
33
|
*/
|
|
34
34
|
declare function openRecoveryKeystore(recoveryCodes: string, encryptedKeystore: EncryptedKeystore): Promise<EmailKeys>;
|
|
35
|
-
declare namespace index_d_exports {
|
|
36
|
-
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore };
|
|
37
|
-
}
|
|
38
35
|
//#endregion
|
|
39
|
-
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore
|
|
36
|
+
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore };
|
|
40
37
|
//# sourceMappingURL=keystore-crypto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystore-crypto.d.mts","names":[],"sources":["../src/keystore-crypto/emailEncryptionKey.ts"],"mappings":";;;;;AAYA;;;;;iBAAsB,oCAAA,CACpB,SAAA,UACA,OAAA,EAAS,UAAA,GACR,OAAA;EACD,kBAAA,EAAoB,iBAAA;EACpB,gBAAA,EAAkB,iBAAA;EAClB,aAAA;EACA,IAAA,EAAM,SAAA;AAAA;;;;;;;;;iBA0Bc,sBAAA,CACpB,iBAAA,EAAmB,iBAAA,EACnB,OAAA,EAAS,UAAA,GACR,OAAA,CAAQ,SAAA;;;;AAHX;;;;;iBAwBsB,oBAAA,CACpB,aAAA,UACA,iBAAA,EAAmB,iBAAA,GAClB,OAAA,CAAQ,SAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EmailKeys, EncryptedKeystore } from "./types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/keystore-crypto/emailEncryptionKey.d.ts
|
|
4
4
|
/**
|
|
@@ -32,9 +32,6 @@ declare function openEncryptionKeystore(encryptedKeystore: EncryptedKeystore, ba
|
|
|
32
32
|
* @returns The encryption keys
|
|
33
33
|
*/
|
|
34
34
|
declare function openRecoveryKeystore(recoveryCodes: string, encryptedKeystore: EncryptedKeystore): Promise<EmailKeys>;
|
|
35
|
-
declare namespace index_d_exports {
|
|
36
|
-
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore };
|
|
37
|
-
}
|
|
38
35
|
//#endregion
|
|
39
|
-
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore
|
|
36
|
+
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore };
|
|
40
37
|
//# sourceMappingURL=keystore-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystore-crypto.d.ts","names":[],"sources":["../src/keystore-crypto/emailEncryptionKey.ts"],"mappings":";;;;;AAYA;;;;;iBAAsB,oCAAA,CACpB,SAAA,UACA,OAAA,EAAS,UAAA,GACR,OAAA;EACD,kBAAA,EAAoB,iBAAA;EACpB,gBAAA,EAAkB,iBAAA;EAClB,aAAA;EACA,IAAA,EAAM,SAAA;AAAA;;;;;;;;;iBA0Bc,sBAAA,CACpB,iBAAA,EAAmB,iBAAA,EACnB,OAAA,EAAS,UAAA,GACR,OAAA,CAAQ,SAAA;;;;AAHX;;;;;iBAwBsB,oBAAA,CACpB,aAAA,UACA,iBAAA,EAAmB,iBAAA,GAClB,OAAA,CAAQ,SAAA"}
|
package/dist/keystore-crypto.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
require('./
|
|
3
|
-
require('./symmetric-crypto-D65zB396.js');
|
|
4
|
-
require('./derive-key-CBf2WxJd.js');
|
|
5
|
-
require('./post-quantum-crypto-CAi-cEkV.js');
|
|
6
|
-
require('./email-crypto-BrT98taw.js');
|
|
7
|
-
const require_keystore_crypto = require('./keystore-crypto-B4yCVo9l.js');
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_emailEncryptionKey = require('./emailEncryptionKey-CQNe5W_T.js');
|
|
8
3
|
|
|
9
|
-
exports.createEncryptionAndRecoveryKeystores =
|
|
10
|
-
exports.openEncryptionKeystore =
|
|
11
|
-
exports.openRecoveryKeystore =
|
|
4
|
+
exports.createEncryptionAndRecoveryKeystores = require_emailEncryptionKey.createEncryptionAndRecoveryKeystores;
|
|
5
|
+
exports.openEncryptionKeystore = require_emailEncryptionKey.openEncryptionKeystore;
|
|
6
|
+
exports.openRecoveryKeystore = require_emailEncryptionKey.openRecoveryKeystore;
|
package/dist/keystore-crypto.mjs
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./hash-CXeGAwai.mjs";
|
|
3
|
-
import "./symmetric-crypto-CrdS1Che.mjs";
|
|
4
|
-
import "./derive-key-Be7hS-cN.mjs";
|
|
5
|
-
import "./post-quantum-crypto-Vv34t6gX.mjs";
|
|
6
|
-
import "./email-crypto-DJUEjTxA.mjs";
|
|
7
|
-
import { i as openRecoveryKeystore, n as createEncryptionAndRecoveryKeystores, r as openEncryptionKeystore } from "./keystore-crypto-Bjgriq9h.mjs";
|
|
1
|
+
import { n as openEncryptionKeystore, r as openRecoveryKeystore, t as createEncryptionAndRecoveryKeystores } from "./emailEncryptionKey-B9xHw1h_.mjs";
|
|
8
2
|
|
|
9
3
|
export { createEncryptionAndRecoveryKeystores, openEncryptionKeystore, openRecoveryKeystore };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ml_kem768 } from "@noble/post-quantum/ml-kem.js";
|
|
2
|
+
|
|
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 { encapsulateKyber as n, generateKyberKeys as r, decapsulateKyber as t };
|
|
47
|
+
//# sourceMappingURL=kyber768-SXnIo-Nw.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kyber768-SXnIo-Nw.mjs","names":[],"sources":["../src/post-quantum-crypto/kyber768.ts"],"sourcesContent":["import { ml_kem768 } 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 ml_kem768.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 ml_kem768.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 ml_kem768.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,SAAO,UAAU,OAAO,KAAK;UACtB,OAAO;AACd,QAAM,IAAI,MAAM,iCAAiC,EAAE,OAAO,OAAO,CAAC;;;;;;;;;AAUtE,SAAgB,iBAAiB,WAG/B;AACA,KAAI;AACF,SAAO,UAAU,YAAY,UAAU;UAChC,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC;;;;;;;;;;AAW9D,SAAgB,iBAAiB,YAAwB,WAAmC;AAC1F,KAAI;AACF,SAAO,UAAU,YAAY,YAAY,UAAU;UAC5C,OAAO;AACd,QAAM,IAAI,MAAM,yBAAyB,EAAE,OAAO,OAAO,CAAC"}
|