aegis-aead 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +25 -20
  2. package/dist/aegis128l.d.ts +33 -33
  3. package/dist/aegis128l.js +225 -235
  4. package/dist/aegis128x.d.ts +35 -35
  5. package/dist/aegis128x.js +348 -282
  6. package/dist/aegis256.d.ts +34 -51
  7. package/dist/aegis256.js +215 -206
  8. package/dist/aegis256x.d.ts +32 -33
  9. package/dist/aegis256x.js +333 -265
  10. package/dist/aes-bs.d.ts +42 -35
  11. package/dist/aes-bs.js +2269 -401
  12. package/dist/index.d.ts +4 -7
  13. package/dist/index.js +4 -7
  14. package/dist/random.d.ts +0 -1
  15. package/dist/random.js +0 -1
  16. package/dist/utils.d.ts +14 -0
  17. package/dist/utils.js +31 -0
  18. package/package.json +5 -6
  19. package/dist/aegis128l-bs.d.ts +0 -137
  20. package/dist/aegis128l-bs.d.ts.map +0 -1
  21. package/dist/aegis128l-bs.js +0 -442
  22. package/dist/aegis128l-bs.js.map +0 -1
  23. package/dist/aegis128l.d.ts.map +0 -1
  24. package/dist/aegis128l.js.map +0 -1
  25. package/dist/aegis128x.d.ts.map +0 -1
  26. package/dist/aegis128x.js.map +0 -1
  27. package/dist/aegis256-bs.d.ts +0 -79
  28. package/dist/aegis256-bs.d.ts.map +0 -1
  29. package/dist/aegis256-bs.js +0 -366
  30. package/dist/aegis256-bs.js.map +0 -1
  31. package/dist/aegis256.d.ts.map +0 -1
  32. package/dist/aegis256.js.map +0 -1
  33. package/dist/aegis256x.d.ts.map +0 -1
  34. package/dist/aegis256x.js.map +0 -1
  35. package/dist/aes-bs.d.ts.map +0 -1
  36. package/dist/aes-bs.js.map +0 -1
  37. package/dist/aes.d.ts +0 -81
  38. package/dist/aes.d.ts.map +0 -1
  39. package/dist/aes.js +0 -232
  40. package/dist/aes.js.map +0 -1
  41. package/dist/index.d.ts.map +0 -1
  42. package/dist/index.js.map +0 -1
  43. package/dist/random.d.ts.map +0 -1
  44. package/dist/random.js.map +0 -1
  45. package/src/aegis128l-bs.ts +0 -600
  46. package/src/aegis128l.ts +0 -653
  47. package/src/aegis128x.ts +0 -932
  48. package/src/aegis256-bs.ts +0 -519
  49. package/src/aegis256.ts +0 -597
  50. package/src/aegis256x.ts +0 -893
  51. package/src/aes-bs.ts +0 -540
  52. package/src/aes.ts +0 -271
  53. package/src/index.ts +0 -126
  54. package/src/random.ts +0 -41
  55. package/src/typed-array.d.ts +0 -18
package/dist/index.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- export { AEGIS_128L_KEY_SIZE, AEGIS_128L_NONCE_SIZE, aegis128LCreateKey, aegis128LCreateNonce, aegis128LDecrypt, aegis128LDecryptDetached, aegis128LDecryptDetachedInPlace, aegis128LEncrypt, aegis128LEncryptDetached, aegis128LEncryptDetachedInPlace, aegis128LMac, aegis128LMacVerify, } from "./aegis128l.js";
2
- export { AEGIS_128L_BS_KEY_SIZE, AEGIS_128L_BS_NONCE_SIZE, Aegis128LBsState, aegis128LBsCreateKey, aegis128LBsCreateNonce, aegis128LBsDecrypt, aegis128LBsDecryptDetached, aegis128LBsDecryptDetachedInPlace, aegis128LBsEncrypt, aegis128LBsEncryptDetached, aegis128LBsEncryptDetachedInPlace, aegis128LBsMac, aegis128LBsMacVerify, } from "./aegis128l-bs.js";
3
- export { AEGIS_128X_KEY_SIZE, AEGIS_128X_NONCE_SIZE, aegis128X2CreateKey, aegis128X2CreateNonce, aegis128X2Decrypt, aegis128X2DecryptDetached, aegis128X2DecryptDetachedInPlace, aegis128X2Encrypt, aegis128X2EncryptDetached, aegis128X2EncryptDetachedInPlace, aegis128X2Mac, aegis128X2MacVerify, aegis128X4CreateKey, aegis128X4CreateNonce, aegis128X4Decrypt, aegis128X4DecryptDetached, aegis128X4DecryptDetachedInPlace, aegis128X4Encrypt, aegis128X4EncryptDetached, aegis128X4EncryptDetachedInPlace, aegis128X4Mac, aegis128X4MacVerify, aegis128XCreateKey, aegis128XCreateNonce, aegis128XDecrypt, aegis128XDecryptDetached, aegis128XDecryptDetachedInPlace, aegis128XEncrypt, aegis128XEncryptDetached, aegis128XEncryptDetachedInPlace, aegis128XMac, aegis128XMacVerify, } from "./aegis128x.js";
4
- export { AEGIS_256_KEY_SIZE, AEGIS_256_NONCE_SIZE, aegis256CreateKey, aegis256CreateNonce, aegis256Decrypt, aegis256DecryptDetached, aegis256DecryptDetachedInPlace, aegis256Encrypt, aegis256EncryptDetached, aegis256EncryptDetachedInPlace, aegis256Mac, aegis256MacVerify, } from "./aegis256.js";
5
- export { AEGIS_256_BS_KEY_SIZE, AEGIS_256_BS_NONCE_SIZE, Aegis256BsState, aegis256BsCreateKey, aegis256BsCreateNonce, aegis256BsDecrypt, aegis256BsDecryptDetached, aegis256BsDecryptDetachedInPlace, aegis256BsEncrypt, aegis256BsEncryptDetached, aegis256BsEncryptDetachedInPlace, aegis256BsMac, aegis256BsMacVerify, } from "./aegis256-bs.js";
6
- export { AEGIS_256X_KEY_SIZE, AEGIS_256X_NONCE_SIZE, aegis256X2CreateKey, aegis256X2CreateNonce, aegis256X2Decrypt, aegis256X2DecryptDetached, aegis256X2DecryptDetachedInPlace, aegis256X2Encrypt, aegis256X2EncryptDetached, aegis256X2EncryptDetachedInPlace, aegis256X2Mac, aegis256X2MacVerify, aegis256X4CreateKey, aegis256X4CreateNonce, aegis256X4Decrypt, aegis256X4DecryptDetached, aegis256X4DecryptDetachedInPlace, aegis256X4Encrypt, aegis256X4EncryptDetached, aegis256X4EncryptDetachedInPlace, aegis256X4Mac, aegis256X4MacVerify, aegis256XCreateKey, aegis256XCreateNonce, aegis256XDecrypt, aegis256XDecryptDetached, aegis256XDecryptDetachedInPlace, aegis256XEncrypt, aegis256XEncryptDetached, aegis256XEncryptDetachedInPlace, aegis256XMac, aegis256XMacVerify, } from "./aegis256x.js";
7
- //# sourceMappingURL=index.d.ts.map
1
+ export { AEGIS_128L_KEY_SIZE, AEGIS_128L_NONCE_SIZE, Aegis128LState, aegis128LCreateKey, aegis128LCreateNonce, aegis128LDecrypt, aegis128LDecryptDetached, aegis128LDecryptDetachedInPlace, aegis128LEncrypt, aegis128LEncryptDetached, aegis128LEncryptDetachedInPlace, aegis128LMac, aegis128LMacVerify, } from "./aegis128l.js";
2
+ export { AEGIS_128X_KEY_SIZE, AEGIS_128X_NONCE_SIZE, Aegis128XState, aegis128X2CreateKey, aegis128X2CreateNonce, aegis128X2Decrypt, aegis128X2DecryptDetached, aegis128X2DecryptDetachedInPlace, aegis128X2Encrypt, aegis128X2EncryptDetached, aegis128X2EncryptDetachedInPlace, aegis128X2Mac, aegis128X2MacVerify, aegis128X4CreateKey, aegis128X4CreateNonce, aegis128X4Decrypt, aegis128X4DecryptDetached, aegis128X4DecryptDetachedInPlace, aegis128X4Encrypt, aegis128X4EncryptDetached, aegis128X4EncryptDetachedInPlace, aegis128X4Mac, aegis128X4MacVerify, aegis128XCreateKey, aegis128XCreateNonce, aegis128XDecrypt, aegis128XDecryptDetached, aegis128XDecryptDetachedInPlace, aegis128XEncrypt, aegis128XEncryptDetached, aegis128XEncryptDetachedInPlace, aegis128XMac, aegis128XMacVerify, } from "./aegis128x.js";
3
+ export { AEGIS_256_KEY_SIZE, AEGIS_256_NONCE_SIZE, Aegis256State, aegis256CreateKey, aegis256CreateNonce, aegis256Decrypt, aegis256DecryptDetached, aegis256DecryptDetachedInPlace, aegis256Encrypt, aegis256EncryptDetached, aegis256EncryptDetachedInPlace, aegis256Mac, aegis256MacVerify, } from "./aegis256.js";
4
+ export { AEGIS_256X_KEY_SIZE, AEGIS_256X_NONCE_SIZE, Aegis256XState, aegis256X2CreateKey, aegis256X2CreateNonce, aegis256X2Decrypt, aegis256X2DecryptDetached, aegis256X2DecryptDetachedInPlace, aegis256X2Encrypt, aegis256X2EncryptDetached, aegis256X2EncryptDetachedInPlace, aegis256X2Mac, aegis256X2MacVerify, aegis256X4CreateKey, aegis256X4CreateNonce, aegis256X4Decrypt, aegis256X4DecryptDetached, aegis256X4DecryptDetachedInPlace, aegis256X4Encrypt, aegis256X4EncryptDetached, aegis256X4EncryptDetachedInPlace, aegis256X4Mac, aegis256X4MacVerify, aegis256XCreateKey, aegis256XCreateNonce, aegis256XDecrypt, aegis256XDecryptDetached, aegis256XDecryptDetachedInPlace, aegis256XEncrypt, aegis256XEncryptDetached, aegis256XEncryptDetachedInPlace, aegis256XMac, aegis256XMacVerify, } from "./aegis256x.js";
package/dist/index.js CHANGED
@@ -1,7 +1,4 @@
1
- export { AEGIS_128L_KEY_SIZE, AEGIS_128L_NONCE_SIZE, aegis128LCreateKey, aegis128LCreateNonce, aegis128LDecrypt, aegis128LDecryptDetached, aegis128LDecryptDetachedInPlace, aegis128LEncrypt, aegis128LEncryptDetached, aegis128LEncryptDetachedInPlace, aegis128LMac, aegis128LMacVerify, } from "./aegis128l.js";
2
- export { AEGIS_128L_BS_KEY_SIZE, AEGIS_128L_BS_NONCE_SIZE, Aegis128LBsState, aegis128LBsCreateKey, aegis128LBsCreateNonce, aegis128LBsDecrypt, aegis128LBsDecryptDetached, aegis128LBsDecryptDetachedInPlace, aegis128LBsEncrypt, aegis128LBsEncryptDetached, aegis128LBsEncryptDetachedInPlace, aegis128LBsMac, aegis128LBsMacVerify, } from "./aegis128l-bs.js";
3
- export { AEGIS_128X_KEY_SIZE, AEGIS_128X_NONCE_SIZE, aegis128X2CreateKey, aegis128X2CreateNonce, aegis128X2Decrypt, aegis128X2DecryptDetached, aegis128X2DecryptDetachedInPlace, aegis128X2Encrypt, aegis128X2EncryptDetached, aegis128X2EncryptDetachedInPlace, aegis128X2Mac, aegis128X2MacVerify, aegis128X4CreateKey, aegis128X4CreateNonce, aegis128X4Decrypt, aegis128X4DecryptDetached, aegis128X4DecryptDetachedInPlace, aegis128X4Encrypt, aegis128X4EncryptDetached, aegis128X4EncryptDetachedInPlace, aegis128X4Mac, aegis128X4MacVerify, aegis128XCreateKey, aegis128XCreateNonce, aegis128XDecrypt, aegis128XDecryptDetached, aegis128XDecryptDetachedInPlace, aegis128XEncrypt, aegis128XEncryptDetached, aegis128XEncryptDetachedInPlace, aegis128XMac, aegis128XMacVerify, } from "./aegis128x.js";
4
- export { AEGIS_256_KEY_SIZE, AEGIS_256_NONCE_SIZE, aegis256CreateKey, aegis256CreateNonce, aegis256Decrypt, aegis256DecryptDetached, aegis256DecryptDetachedInPlace, aegis256Encrypt, aegis256EncryptDetached, aegis256EncryptDetachedInPlace, aegis256Mac, aegis256MacVerify, } from "./aegis256.js";
5
- export { AEGIS_256_BS_KEY_SIZE, AEGIS_256_BS_NONCE_SIZE, Aegis256BsState, aegis256BsCreateKey, aegis256BsCreateNonce, aegis256BsDecrypt, aegis256BsDecryptDetached, aegis256BsDecryptDetachedInPlace, aegis256BsEncrypt, aegis256BsEncryptDetached, aegis256BsEncryptDetachedInPlace, aegis256BsMac, aegis256BsMacVerify, } from "./aegis256-bs.js";
6
- export { AEGIS_256X_KEY_SIZE, AEGIS_256X_NONCE_SIZE, aegis256X2CreateKey, aegis256X2CreateNonce, aegis256X2Decrypt, aegis256X2DecryptDetached, aegis256X2DecryptDetachedInPlace, aegis256X2Encrypt, aegis256X2EncryptDetached, aegis256X2EncryptDetachedInPlace, aegis256X2Mac, aegis256X2MacVerify, aegis256X4CreateKey, aegis256X4CreateNonce, aegis256X4Decrypt, aegis256X4DecryptDetached, aegis256X4DecryptDetachedInPlace, aegis256X4Encrypt, aegis256X4EncryptDetached, aegis256X4EncryptDetachedInPlace, aegis256X4Mac, aegis256X4MacVerify, aegis256XCreateKey, aegis256XCreateNonce, aegis256XDecrypt, aegis256XDecryptDetached, aegis256XDecryptDetachedInPlace, aegis256XEncrypt, aegis256XEncryptDetached, aegis256XEncryptDetachedInPlace, aegis256XMac, aegis256XMacVerify, } from "./aegis256x.js";
7
- //# sourceMappingURL=index.js.map
1
+ export { AEGIS_128L_KEY_SIZE, AEGIS_128L_NONCE_SIZE, Aegis128LState, aegis128LCreateKey, aegis128LCreateNonce, aegis128LDecrypt, aegis128LDecryptDetached, aegis128LDecryptDetachedInPlace, aegis128LEncrypt, aegis128LEncryptDetached, aegis128LEncryptDetachedInPlace, aegis128LMac, aegis128LMacVerify, } from "./aegis128l.js";
2
+ export { AEGIS_128X_KEY_SIZE, AEGIS_128X_NONCE_SIZE, Aegis128XState, aegis128X2CreateKey, aegis128X2CreateNonce, aegis128X2Decrypt, aegis128X2DecryptDetached, aegis128X2DecryptDetachedInPlace, aegis128X2Encrypt, aegis128X2EncryptDetached, aegis128X2EncryptDetachedInPlace, aegis128X2Mac, aegis128X2MacVerify, aegis128X4CreateKey, aegis128X4CreateNonce, aegis128X4Decrypt, aegis128X4DecryptDetached, aegis128X4DecryptDetachedInPlace, aegis128X4Encrypt, aegis128X4EncryptDetached, aegis128X4EncryptDetachedInPlace, aegis128X4Mac, aegis128X4MacVerify, aegis128XCreateKey, aegis128XCreateNonce, aegis128XDecrypt, aegis128XDecryptDetached, aegis128XDecryptDetachedInPlace, aegis128XEncrypt, aegis128XEncryptDetached, aegis128XEncryptDetachedInPlace, aegis128XMac, aegis128XMacVerify, } from "./aegis128x.js";
3
+ export { AEGIS_256_KEY_SIZE, AEGIS_256_NONCE_SIZE, Aegis256State, aegis256CreateKey, aegis256CreateNonce, aegis256Decrypt, aegis256DecryptDetached, aegis256DecryptDetachedInPlace, aegis256Encrypt, aegis256EncryptDetached, aegis256EncryptDetachedInPlace, aegis256Mac, aegis256MacVerify, } from "./aegis256.js";
4
+ export { AEGIS_256X_KEY_SIZE, AEGIS_256X_NONCE_SIZE, Aegis256XState, aegis256X2CreateKey, aegis256X2CreateNonce, aegis256X2Decrypt, aegis256X2DecryptDetached, aegis256X2DecryptDetachedInPlace, aegis256X2Encrypt, aegis256X2EncryptDetached, aegis256X2EncryptDetachedInPlace, aegis256X2Mac, aegis256X2MacVerify, aegis256X4CreateKey, aegis256X4CreateNonce, aegis256X4Decrypt, aegis256X4DecryptDetached, aegis256X4DecryptDetachedInPlace, aegis256X4Encrypt, aegis256X4EncryptDetached, aegis256X4EncryptDetachedInPlace, aegis256X4Mac, aegis256X4MacVerify, aegis256XCreateKey, aegis256XCreateNonce, aegis256XDecrypt, aegis256XDecryptDetached, aegis256XDecryptDetachedInPlace, aegis256XEncrypt, aegis256XEncryptDetached, aegis256XEncryptDetachedInPlace, aegis256XMac, aegis256XMacVerify, } from "./aegis256x.js";
package/dist/random.d.ts CHANGED
@@ -19,4 +19,3 @@
19
19
  * @throws Error if no cryptographic random source is available
20
20
  */
21
21
  export declare function randomBytes(length: number): Uint8Array;
22
- //# sourceMappingURL=random.d.ts.map
package/dist/random.js CHANGED
@@ -33,4 +33,3 @@ export function randomBytes(length) {
33
33
  crypto.getRandomValues(bytes);
34
34
  return bytes;
35
35
  }
36
- //# sourceMappingURL=random.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Pads data with zeros to a multiple of the block size.
3
+ * @param data - Input data
4
+ * @param blockSizeBytes - Block size in bytes
5
+ * @returns Padded data (or empty array if data is empty)
6
+ */
7
+ export declare function zeroPad(data: ArrayLike<number>, blockSizeBytes: number): Uint8Array;
8
+ /**
9
+ * Compares two byte arrays in constant time to prevent timing attacks.
10
+ * @param a - First byte array
11
+ * @param b - Second byte array
12
+ * @returns True if arrays are equal, false otherwise
13
+ */
14
+ export declare function constantTimeEqual(a: ArrayLike<number>, b: ArrayLike<number>): boolean;
package/dist/utils.js ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Pads data with zeros to a multiple of the block size.
3
+ * @param data - Input data
4
+ * @param blockSizeBytes - Block size in bytes
5
+ * @returns Padded data (or empty array if data is empty)
6
+ */
7
+ export function zeroPad(data, blockSizeBytes) {
8
+ if (data.length === 0)
9
+ return new Uint8Array(0);
10
+ const paddedLen = Math.ceil(data.length / blockSizeBytes) * blockSizeBytes;
11
+ if (paddedLen === data.length)
12
+ return new Uint8Array(data);
13
+ const padded = new Uint8Array(paddedLen);
14
+ padded.set(data);
15
+ return padded;
16
+ }
17
+ /**
18
+ * Compares two byte arrays in constant time to prevent timing attacks.
19
+ * @param a - First byte array
20
+ * @param b - Second byte array
21
+ * @returns True if arrays are equal, false otherwise
22
+ */
23
+ export function constantTimeEqual(a, b) {
24
+ if (a.length !== b.length)
25
+ return false;
26
+ let diff = 0;
27
+ for (let i = 0; i < a.length; i++) {
28
+ diff |= a[i] ^ b[i];
29
+ }
30
+ return diff === 0;
31
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aegis-aead",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "AEGIS authenticated encryption algorithms",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,7 +15,6 @@
15
15
  },
16
16
  "files": [
17
17
  "dist",
18
- "src",
19
18
  "LICENSE",
20
19
  "README.md"
21
20
  ],
@@ -31,10 +30,10 @@
31
30
  "bench": "bun run bench/benchmark.ts"
32
31
  },
33
32
  "devDependencies": {
34
- "@biomejs/biome": "^2.3.10",
35
- "@noble/ciphers": "^2.1.1",
36
- "@types/bun": "^1.3.5",
37
- "typescript": "^5.9.3"
33
+ "@biomejs/biome": "^2.4.16",
34
+ "@noble/ciphers": "^2.2.0",
35
+ "@types/bun": "^1.3.14",
36
+ "typescript": "^6.0.3"
38
37
  },
39
38
  "keywords": [
40
39
  "aegis",
@@ -1,137 +0,0 @@
1
- /**
2
- * Bitsliced AEGIS-128L implementation.
3
- * Provides constant-time operation by processing all 8 state blocks simultaneously.
4
- */
5
- /**
6
- * Bitsliced AEGIS-128L cipher state.
7
- * The state is kept in packed bitsliced form between operations so that
8
- * pack/unpack does not need to be applied at every round.
9
- */
10
- export declare class Aegis128LBsState {
11
- private st;
12
- private st1;
13
- private constantInput;
14
- private tmp0;
15
- private tmp1;
16
- private z0;
17
- private z1;
18
- constructor();
19
- private aegisRoundPacked;
20
- private packConstantInput;
21
- /**
22
- * Extract the keystream blocks z0 and z1 directly from the packed state.
23
- *
24
- * z0 = S6 ^ S1 ^ (S2 & S3)
25
- * z1 = S2 ^ S5 ^ (S6 & S7)
26
- *
27
- * The formula is evaluated lane-wise on the packed state, the result is
28
- * placed in positions 0 (z0) and 4 (z1), then unpack04 extracts the two
29
- * AES blocks.
30
- */
31
- private keystreamPacked;
32
- /**
33
- * Initializes the state with a key and nonce.
34
- * @param key - 16-byte encryption key
35
- * @param nonce - 16-byte nonce (must be unique per message)
36
- */
37
- init(key: Uint8Array, nonce: Uint8Array): void;
38
- /**
39
- * Absorbs a 32-byte associated data block into the state.
40
- * @param ai - 32-byte associated data block
41
- */
42
- absorb(ai: Uint8Array): void;
43
- /**
44
- * Encrypts a 32-byte plaintext block and writes to output buffer.
45
- * @param xi - 32-byte plaintext block
46
- * @param out - 32-byte output buffer
47
- */
48
- encTo(xi: Uint8Array, out: Uint8Array): void;
49
- /**
50
- * Encrypts a 32-byte plaintext block.
51
- * @param xi - 32-byte plaintext block
52
- * @returns 32-byte ciphertext block
53
- */
54
- enc(xi: Uint8Array): Uint8Array;
55
- /**
56
- * Decrypts a 32-byte ciphertext block and writes to output buffer.
57
- * @param ci - 32-byte ciphertext block
58
- * @param out - 32-byte output buffer
59
- */
60
- decTo(ci: Uint8Array, out: Uint8Array): void;
61
- /**
62
- * Decrypts a 32-byte ciphertext block.
63
- * @param ci - 32-byte ciphertext block
64
- * @returns 32-byte plaintext block
65
- */
66
- dec(ci: Uint8Array): Uint8Array;
67
- encInPlace(block: Uint8Array): void;
68
- decInPlace(block: Uint8Array): void;
69
- /**
70
- * Decrypts a partial (final) ciphertext block smaller than 32 bytes.
71
- * @param cn - Partial ciphertext block (1-31 bytes)
72
- * @returns Decrypted plaintext of the same length
73
- */
74
- decPartial(cn: Uint8Array): Uint8Array;
75
- /**
76
- * Finalizes encryption/decryption and produces an authentication tag.
77
- * @param adLen - Associated data length in bytes
78
- * @param msgLen - Message length in bytes
79
- * @param tagLen - Tag length (16 or 32 bytes)
80
- * @returns Authentication tag
81
- */
82
- finalize(adLen: number, msgLen: number, tagLen?: 16 | 32): Uint8Array;
83
- }
84
- /**
85
- * Encrypts a message using bitsliced AEGIS-128L (detached mode).
86
- * @param msg - Plaintext message
87
- * @param ad - Associated data (authenticated but not encrypted)
88
- * @param key - 16-byte encryption key
89
- * @param nonce - 16-byte nonce (must be unique per message with the same key)
90
- * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
91
- * @returns Object containing ciphertext and authentication tag separately
92
- */
93
- export declare function aegis128LBsEncryptDetached(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): {
94
- ciphertext: Uint8Array;
95
- tag: Uint8Array;
96
- };
97
- /**
98
- * Decrypts a message using bitsliced AEGIS-128L (detached mode).
99
- * @param ct - Ciphertext
100
- * @param tag - Authentication tag (16 or 32 bytes)
101
- * @param ad - Associated data (must match what was used during encryption)
102
- * @param key - 16-byte encryption key
103
- * @param nonce - 16-byte nonce (must match what was used during encryption)
104
- * @returns Decrypted plaintext, or null if authentication fails
105
- */
106
- export declare function aegis128LBsDecryptDetached(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): Uint8Array | null;
107
- /**
108
- * Encrypts a message in-place using bitsliced AEGIS-128L (detached mode).
109
- */
110
- export declare function aegis128LBsEncryptDetachedInPlace(data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): Uint8Array;
111
- /**
112
- * Decrypts a message in-place using bitsliced AEGIS-128L (detached mode).
113
- */
114
- export declare function aegis128LBsDecryptDetachedInPlace(data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): boolean;
115
- export declare const AEGIS_128L_BS_NONCE_SIZE = 16;
116
- export declare const AEGIS_128L_BS_KEY_SIZE = 16;
117
- /**
118
- * Encrypts a message using bitsliced AEGIS-128L.
119
- * Returns a single buffer containing nonce || ciphertext || tag.
120
- */
121
- export declare function aegis128LBsEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32): Uint8Array;
122
- /**
123
- * Decrypts a message using bitsliced AEGIS-128L.
124
- * Expects input as nonce || ciphertext || tag.
125
- */
126
- export declare function aegis128LBsDecrypt(sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32): Uint8Array | null;
127
- /**
128
- * Computes a MAC using bitsliced AEGIS-128L.
129
- */
130
- export declare function aegis128LBsMac(data: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32): Uint8Array;
131
- /**
132
- * Verifies a MAC computed using bitsliced AEGIS-128L.
133
- */
134
- export declare function aegis128LBsMacVerify(data: Uint8Array, tag: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null): boolean;
135
- export declare function aegis128LBsCreateKey(): Uint8Array;
136
- export declare function aegis128LBsCreateNonce(): Uint8Array;
137
- //# sourceMappingURL=aegis128l-bs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aegis128l-bs.d.ts","sourceRoot":"","sources":["../src/aegis128l-bs.ts"],"names":[],"mappings":"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"}