aegis-aead 0.1.1 → 0.2.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.
Files changed (48) hide show
  1. package/README.md +241 -60
  2. package/dist/aegis128l-bs.d.ts +162 -0
  3. package/dist/aegis128l-bs.d.ts.map +1 -0
  4. package/dist/aegis128l-bs.js +470 -0
  5. package/dist/aegis128l-bs.js.map +1 -0
  6. package/dist/aegis128l.d.ts +42 -5
  7. package/dist/aegis128l.d.ts.map +1 -1
  8. package/dist/aegis128l.js +79 -5
  9. package/dist/aegis128l.js.map +1 -1
  10. package/dist/aegis128x.d.ts +67 -12
  11. package/dist/aegis128x.d.ts.map +1 -1
  12. package/dist/aegis128x.js +102 -9
  13. package/dist/aegis128x.js.map +1 -1
  14. package/dist/aegis256-bs.d.ts +151 -0
  15. package/dist/aegis256-bs.d.ts.map +1 -0
  16. package/dist/aegis256-bs.js +398 -0
  17. package/dist/aegis256-bs.js.map +1 -0
  18. package/dist/aegis256.d.ts +42 -5
  19. package/dist/aegis256.d.ts.map +1 -1
  20. package/dist/aegis256.js +79 -5
  21. package/dist/aegis256.js.map +1 -1
  22. package/dist/aegis256x.d.ts +67 -12
  23. package/dist/aegis256x.d.ts.map +1 -1
  24. package/dist/aegis256x.js +102 -9
  25. package/dist/aegis256x.js.map +1 -1
  26. package/dist/aes-bs.d.ts +71 -0
  27. package/dist/aes-bs.d.ts.map +1 -0
  28. package/dist/aes-bs.js +399 -0
  29. package/dist/aes-bs.js.map +1 -0
  30. package/dist/index.d.ts +6 -4
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +6 -4
  33. package/dist/index.js.map +1 -1
  34. package/dist/random.d.ts +22 -0
  35. package/dist/random.d.ts.map +1 -0
  36. package/dist/random.js +36 -0
  37. package/dist/random.js.map +1 -0
  38. package/package.json +1 -1
  39. package/src/aegis128l-bs.ts +602 -0
  40. package/src/aegis128l.ts +112 -5
  41. package/src/aegis128x.ts +174 -15
  42. package/src/aegis256-bs.ts +518 -0
  43. package/src/aegis256.ts +112 -5
  44. package/src/aegis256x.ts +174 -15
  45. package/src/aes-bs.ts +459 -0
  46. package/src/index.ts +66 -0
  47. package/src/random.ts +41 -0
  48. package/README.md~ +0 -154
@@ -0,0 +1,470 @@
1
+ /**
2
+ * Bitsliced AEGIS-128L implementation.
3
+ * Provides constant-time operation by processing all 8 state blocks simultaneously.
4
+ */
5
+ import { constantTimeEqual, zeroPad } from "./aes.js";
6
+ import { aesRound, blockFromBytes, blocksPut, blocksRotr, blocksXor, blockToBytes, blockXor, createAesBlock, createAesBlocks, pack, pack04, unpack, wordIdx, } from "./aes-bs.js";
7
+ import { randomBytes } from "./random.js";
8
+ const RATE = 32;
9
+ const C0 = new Uint32Array([
10
+ 0x02010100, 0x0d080503, 0x59372215, 0x6279e990,
11
+ ]);
12
+ const C1 = new Uint32Array([
13
+ 0x55183ddb, 0xf12fc26d, 0x42311120, 0xdd28b573,
14
+ ]);
15
+ /**
16
+ * Bitsliced AEGIS-128L cipher state.
17
+ * Uses 8 AES blocks (128 bytes) stored in bitsliced form (32 uint32 words).
18
+ */
19
+ export class Aegis128LBsState {
20
+ constructor() {
21
+ this.st = createAesBlocks();
22
+ this.st1 = createAesBlocks();
23
+ this.tmp0 = createAesBlock();
24
+ this.tmp1 = createAesBlock();
25
+ this.z0 = createAesBlock();
26
+ this.z1 = createAesBlock();
27
+ }
28
+ /**
29
+ * AEGIS round function: applies AES round to all blocks and rotates.
30
+ * st[i] = AES(st[i]) ^ st[(i-1) mod 8]
31
+ */
32
+ aegisRound() {
33
+ const st = this.st;
34
+ const st1 = this.st1;
35
+ st1.set(st);
36
+ pack(st1);
37
+ aesRound(st1);
38
+ unpack(st1);
39
+ for (let i = 0; i < 8; i++) {
40
+ const prev = (i + 7) % 8;
41
+ st[wordIdx(i, 0)] = (st[wordIdx(i, 0)] ^ st1[wordIdx(prev, 0)]) >>> 0;
42
+ st[wordIdx(i, 1)] = (st[wordIdx(i, 1)] ^ st1[wordIdx(prev, 1)]) >>> 0;
43
+ st[wordIdx(i, 2)] = (st[wordIdx(i, 2)] ^ st1[wordIdx(prev, 2)]) >>> 0;
44
+ st[wordIdx(i, 3)] = (st[wordIdx(i, 3)] ^ st1[wordIdx(prev, 3)]) >>> 0;
45
+ }
46
+ }
47
+ /**
48
+ * AEGIS round function with constant input (used in packed mode).
49
+ */
50
+ aegisRoundPacked(constantInput) {
51
+ const st = this.st;
52
+ const st1 = this.st1;
53
+ st1.set(st);
54
+ aesRound(st1);
55
+ blocksRotr(st1);
56
+ blocksXor(st, st1);
57
+ blocksXor(st, constantInput);
58
+ }
59
+ /**
60
+ * Pack constant input for blocks 0 and 4.
61
+ */
62
+ packConstantInput(out, m0, m1) {
63
+ out.fill(0);
64
+ blocksPut(out, m0, 0);
65
+ blocksPut(out, m1, 4);
66
+ pack04(out);
67
+ }
68
+ /**
69
+ * Absorb rate: XOR message blocks into state positions 0 and 4.
70
+ */
71
+ absorbRate(m0, m1) {
72
+ const st = this.st;
73
+ st[wordIdx(0, 0)] = (st[wordIdx(0, 0)] ^ m0[0]) >>> 0;
74
+ st[wordIdx(0, 1)] = (st[wordIdx(0, 1)] ^ m0[1]) >>> 0;
75
+ st[wordIdx(0, 2)] = (st[wordIdx(0, 2)] ^ m0[2]) >>> 0;
76
+ st[wordIdx(0, 3)] = (st[wordIdx(0, 3)] ^ m0[3]) >>> 0;
77
+ st[wordIdx(4, 0)] = (st[wordIdx(4, 0)] ^ m1[0]) >>> 0;
78
+ st[wordIdx(4, 1)] = (st[wordIdx(4, 1)] ^ m1[1]) >>> 0;
79
+ st[wordIdx(4, 2)] = (st[wordIdx(4, 2)] ^ m1[2]) >>> 0;
80
+ st[wordIdx(4, 3)] = (st[wordIdx(4, 3)] ^ m1[3]) >>> 0;
81
+ }
82
+ /**
83
+ * Update state with two message blocks.
84
+ */
85
+ update(m0, m1) {
86
+ this.aegisRound();
87
+ this.absorbRate(m0, m1);
88
+ }
89
+ /**
90
+ * Initializes the state with a key and nonce.
91
+ * @param key - 16-byte encryption key
92
+ * @param nonce - 16-byte nonce (must be unique per message)
93
+ */
94
+ init(key, nonce) {
95
+ const k = createAesBlock();
96
+ const n = createAesBlock();
97
+ const kn = createAesBlock();
98
+ const kc0 = createAesBlock();
99
+ const kc1 = createAesBlock();
100
+ blockFromBytes(k, key);
101
+ blockFromBytes(n, nonce);
102
+ blockXor(kn, k, n);
103
+ blockXor(kc0, k, C0);
104
+ blockXor(kc1, k, C1);
105
+ blocksPut(this.st, kn, 0);
106
+ blocksPut(this.st, C1, 1);
107
+ blocksPut(this.st, C0, 2);
108
+ blocksPut(this.st, C1, 3);
109
+ blocksPut(this.st, kn, 4);
110
+ blocksPut(this.st, kc0, 5);
111
+ blocksPut(this.st, kc1, 6);
112
+ blocksPut(this.st, kc0, 7);
113
+ const constantInput = createAesBlocks();
114
+ this.packConstantInput(constantInput, n, k);
115
+ pack(this.st);
116
+ for (let i = 0; i < 10; i++) {
117
+ this.aegisRoundPacked(constantInput);
118
+ }
119
+ unpack(this.st);
120
+ }
121
+ /**
122
+ * Absorbs a 32-byte associated data block into the state.
123
+ * @param ai - 32-byte associated data block
124
+ */
125
+ absorb(ai) {
126
+ const msg0 = this.tmp0;
127
+ const msg1 = this.tmp1;
128
+ blockFromBytes(msg0, ai.subarray(0, 16));
129
+ blockFromBytes(msg1, ai.subarray(16, 32));
130
+ this.update(msg0, msg1);
131
+ }
132
+ /**
133
+ * Encrypts a 32-byte plaintext block and writes to output buffer.
134
+ * @param xi - 32-byte plaintext block
135
+ * @param out - 32-byte output buffer
136
+ */
137
+ encTo(xi, out) {
138
+ const st = this.st;
139
+ const z0 = this.z0;
140
+ const z1 = this.z1;
141
+ const t0 = this.tmp0;
142
+ const t1 = this.tmp1;
143
+ for (let i = 0; i < 4; i++) {
144
+ z0[i] =
145
+ (st[wordIdx(6, i)] ^
146
+ st[wordIdx(1, i)] ^
147
+ (st[wordIdx(2, i)] & st[wordIdx(3, i)])) >>>
148
+ 0;
149
+ }
150
+ for (let i = 0; i < 4; i++) {
151
+ z1[i] =
152
+ (st[wordIdx(2, i)] ^
153
+ st[wordIdx(5, i)] ^
154
+ (st[wordIdx(6, i)] & st[wordIdx(7, i)])) >>>
155
+ 0;
156
+ }
157
+ blockFromBytes(t0, xi.subarray(0, 16));
158
+ blockFromBytes(t1, xi.subarray(16, 32));
159
+ const out0 = createAesBlock();
160
+ const out1 = createAesBlock();
161
+ blockXor(out0, t0, z0);
162
+ blockXor(out1, t1, z1);
163
+ blockToBytes(out.subarray(0, 16), out0);
164
+ blockToBytes(out.subarray(16, 32), out1);
165
+ this.update(t0, t1);
166
+ }
167
+ /**
168
+ * Encrypts a 32-byte plaintext block.
169
+ * @param xi - 32-byte plaintext block
170
+ * @returns 32-byte ciphertext block
171
+ */
172
+ enc(xi) {
173
+ const out = new Uint8Array(32);
174
+ this.encTo(xi, out);
175
+ return out;
176
+ }
177
+ /**
178
+ * Decrypts a 32-byte ciphertext block and writes to output buffer.
179
+ * @param ci - 32-byte ciphertext block
180
+ * @param out - 32-byte output buffer
181
+ */
182
+ decTo(ci, out) {
183
+ const st = this.st;
184
+ const msg0 = this.tmp0;
185
+ const msg1 = this.tmp1;
186
+ blockFromBytes(msg0, ci.subarray(0, 16));
187
+ blockFromBytes(msg1, ci.subarray(16, 32));
188
+ for (let i = 0; i < 4; i++) {
189
+ msg0[i] =
190
+ (msg0[i] ^
191
+ st[wordIdx(6, i)] ^
192
+ st[wordIdx(1, i)] ^
193
+ (st[wordIdx(2, i)] & st[wordIdx(3, i)])) >>>
194
+ 0;
195
+ }
196
+ for (let i = 0; i < 4; i++) {
197
+ msg1[i] =
198
+ (msg1[i] ^
199
+ st[wordIdx(2, i)] ^
200
+ st[wordIdx(5, i)] ^
201
+ (st[wordIdx(6, i)] & st[wordIdx(7, i)])) >>>
202
+ 0;
203
+ }
204
+ this.update(msg0, msg1);
205
+ blockToBytes(out.subarray(0, 16), msg0);
206
+ blockToBytes(out.subarray(16, 32), msg1);
207
+ }
208
+ /**
209
+ * Decrypts a 32-byte ciphertext block.
210
+ * @param ci - 32-byte ciphertext block
211
+ * @returns 32-byte plaintext block
212
+ */
213
+ dec(ci) {
214
+ const out = new Uint8Array(32);
215
+ this.decTo(ci, out);
216
+ return out;
217
+ }
218
+ /**
219
+ * Decrypts a partial (final) ciphertext block smaller than 32 bytes.
220
+ * @param cn - Partial ciphertext block (1-31 bytes)
221
+ * @returns Decrypted plaintext of the same length
222
+ */
223
+ decPartial(cn) {
224
+ const st = this.st;
225
+ const msg0 = this.tmp0;
226
+ const msg1 = this.tmp1;
227
+ const padded = zeroPad(cn, RATE);
228
+ blockFromBytes(msg0, padded.subarray(0, 16));
229
+ blockFromBytes(msg1, padded.subarray(16, 32));
230
+ for (let i = 0; i < 4; i++) {
231
+ msg0[i] =
232
+ (msg0[i] ^
233
+ st[wordIdx(6, i)] ^
234
+ st[wordIdx(1, i)] ^
235
+ (st[wordIdx(2, i)] & st[wordIdx(3, i)])) >>>
236
+ 0;
237
+ }
238
+ for (let i = 0; i < 4; i++) {
239
+ msg1[i] =
240
+ (msg1[i] ^
241
+ st[wordIdx(2, i)] ^
242
+ st[wordIdx(5, i)] ^
243
+ (st[wordIdx(6, i)] & st[wordIdx(7, i)])) >>>
244
+ 0;
245
+ }
246
+ const pad = new Uint8Array(RATE);
247
+ blockToBytes(pad.subarray(0, 16), msg0);
248
+ blockToBytes(pad.subarray(16, 32), msg1);
249
+ const xn = new Uint8Array(pad.subarray(0, cn.length));
250
+ pad.fill(0, cn.length);
251
+ blockFromBytes(msg0, pad.subarray(0, 16));
252
+ blockFromBytes(msg1, pad.subarray(16, 32));
253
+ this.aegisRound();
254
+ this.absorbRate(msg0, msg1);
255
+ return xn;
256
+ }
257
+ /**
258
+ * Finalizes encryption/decryption and produces an authentication tag.
259
+ * @param adLen - Associated data length in bytes
260
+ * @param msgLen - Message length in bytes
261
+ * @param tagLen - Tag length (16 or 32 bytes)
262
+ * @returns Authentication tag
263
+ */
264
+ finalize(adLen, msgLen, tagLen = 16) {
265
+ const st = this.st;
266
+ const tmp = this.tmp0;
267
+ tmp[0] = ((adLen * 8) & 0xffffffff) >>> 0;
268
+ tmp[1] = Math.floor((adLen * 8) / 0x100000000) >>> 0;
269
+ tmp[2] = ((msgLen * 8) & 0xffffffff) >>> 0;
270
+ tmp[3] = Math.floor((msgLen * 8) / 0x100000000) >>> 0;
271
+ tmp[0] = (tmp[0] ^ st[wordIdx(2, 0)]) >>> 0;
272
+ tmp[1] = (tmp[1] ^ st[wordIdx(2, 1)]) >>> 0;
273
+ tmp[2] = (tmp[2] ^ st[wordIdx(2, 2)]) >>> 0;
274
+ tmp[3] = (tmp[3] ^ st[wordIdx(2, 3)]) >>> 0;
275
+ const constantInput = createAesBlocks();
276
+ this.packConstantInput(constantInput, tmp, tmp);
277
+ pack(this.st);
278
+ for (let i = 0; i < 7; i++) {
279
+ this.aegisRoundPacked(constantInput);
280
+ }
281
+ unpack(this.st);
282
+ if (tagLen === 16) {
283
+ const tag = new Uint8Array(16);
284
+ const tagBlock = createAesBlock();
285
+ for (let i = 0; i < 4; i++) {
286
+ tagBlock[i] =
287
+ (st[wordIdx(0, i)] ^
288
+ st[wordIdx(1, i)] ^
289
+ st[wordIdx(2, i)] ^
290
+ st[wordIdx(3, i)] ^
291
+ st[wordIdx(4, i)] ^
292
+ st[wordIdx(5, i)] ^
293
+ st[wordIdx(6, i)]) >>>
294
+ 0;
295
+ }
296
+ blockToBytes(tag, tagBlock);
297
+ return tag;
298
+ }
299
+ else {
300
+ const tag = new Uint8Array(32);
301
+ const tagBlock0 = createAesBlock();
302
+ const tagBlock1 = createAesBlock();
303
+ for (let i = 0; i < 4; i++) {
304
+ tagBlock0[i] =
305
+ (st[wordIdx(0, i)] ^
306
+ st[wordIdx(1, i)] ^
307
+ st[wordIdx(2, i)] ^
308
+ st[wordIdx(3, i)]) >>>
309
+ 0;
310
+ }
311
+ for (let i = 0; i < 4; i++) {
312
+ tagBlock1[i] =
313
+ (st[wordIdx(4, i)] ^
314
+ st[wordIdx(5, i)] ^
315
+ st[wordIdx(6, i)] ^
316
+ st[wordIdx(7, i)]) >>>
317
+ 0;
318
+ }
319
+ blockToBytes(tag.subarray(0, 16), tagBlock0);
320
+ blockToBytes(tag.subarray(16, 32), tagBlock1);
321
+ return tag;
322
+ }
323
+ }
324
+ }
325
+ /**
326
+ * Encrypts a message using bitsliced AEGIS-128L (detached mode).
327
+ * @param msg - Plaintext message
328
+ * @param ad - Associated data (authenticated but not encrypted)
329
+ * @param key - 16-byte encryption key
330
+ * @param nonce - 16-byte nonce (must be unique per message with the same key)
331
+ * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
332
+ * @returns Object containing ciphertext and authentication tag separately
333
+ */
334
+ export function aegis128LBsEncryptDetached(msg, ad, key, nonce, tagLen = 16) {
335
+ const state = new Aegis128LBsState();
336
+ state.init(key, nonce);
337
+ const adPadded = zeroPad(ad, RATE);
338
+ for (let i = 0; i + RATE <= adPadded.length; i += RATE) {
339
+ state.absorb(adPadded.subarray(i, i + RATE));
340
+ }
341
+ const ciphertext = new Uint8Array(msg.length);
342
+ const fullBlocks = Math.floor(msg.length / RATE) * RATE;
343
+ for (let i = 0; i < fullBlocks; i += RATE) {
344
+ state.encTo(msg.subarray(i, i + RATE), ciphertext.subarray(i, i + RATE));
345
+ }
346
+ if (msg.length > fullBlocks) {
347
+ const lastBlock = zeroPad(msg.subarray(fullBlocks), RATE);
348
+ const encBlock = state.enc(lastBlock);
349
+ ciphertext.set(encBlock.subarray(0, msg.length - fullBlocks), fullBlocks);
350
+ }
351
+ const tag = state.finalize(ad.length, msg.length, tagLen);
352
+ return { ciphertext, tag };
353
+ }
354
+ /**
355
+ * Decrypts a message using bitsliced AEGIS-128L (detached mode).
356
+ * @param ct - Ciphertext
357
+ * @param tag - Authentication tag (16 or 32 bytes)
358
+ * @param ad - Associated data (must match what was used during encryption)
359
+ * @param key - 16-byte encryption key
360
+ * @param nonce - 16-byte nonce (must match what was used during encryption)
361
+ * @returns Decrypted plaintext, or null if authentication fails
362
+ */
363
+ export function aegis128LBsDecryptDetached(ct, tag, ad, key, nonce) {
364
+ const tagLen = tag.length;
365
+ const state = new Aegis128LBsState();
366
+ state.init(key, nonce);
367
+ const adPadded = zeroPad(ad, RATE);
368
+ for (let i = 0; i + RATE <= adPadded.length; i += RATE) {
369
+ state.absorb(adPadded.subarray(i, i + RATE));
370
+ }
371
+ const msg = new Uint8Array(ct.length);
372
+ const fullBlocks = Math.floor(ct.length / RATE) * RATE;
373
+ for (let i = 0; i < fullBlocks; i += RATE) {
374
+ state.decTo(ct.subarray(i, i + RATE), msg.subarray(i, i + RATE));
375
+ }
376
+ if (ct.length > fullBlocks) {
377
+ msg.set(state.decPartial(ct.subarray(fullBlocks)), fullBlocks);
378
+ }
379
+ const expectedTag = state.finalize(ad.length, msg.length, tagLen);
380
+ if (!constantTimeEqual(tag, expectedTag)) {
381
+ msg.fill(0);
382
+ return null;
383
+ }
384
+ return msg;
385
+ }
386
+ export const AEGIS_128L_BS_NONCE_SIZE = 16;
387
+ export const AEGIS_128L_BS_KEY_SIZE = 16;
388
+ /**
389
+ * Encrypts a message using bitsliced AEGIS-128L.
390
+ * Returns a single buffer containing nonce || ciphertext || tag.
391
+ * @param msg - Plaintext message
392
+ * @param ad - Associated data (authenticated but not encrypted)
393
+ * @param key - 16-byte encryption key
394
+ * @param nonce - 16-byte nonce (optional, generates random nonce if not provided)
395
+ * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
396
+ * @returns Concatenated nonce || ciphertext || tag
397
+ */
398
+ export function aegis128LBsEncrypt(msg, ad, key, nonce = null, tagLen = 16) {
399
+ const actualNonce = nonce ?? randomBytes(AEGIS_128L_BS_NONCE_SIZE);
400
+ const { ciphertext, tag } = aegis128LBsEncryptDetached(msg, ad, key, actualNonce, tagLen);
401
+ const result = new Uint8Array(AEGIS_128L_BS_NONCE_SIZE + ciphertext.length + tagLen);
402
+ result.set(actualNonce, 0);
403
+ result.set(ciphertext, AEGIS_128L_BS_NONCE_SIZE);
404
+ result.set(tag, AEGIS_128L_BS_NONCE_SIZE + ciphertext.length);
405
+ return result;
406
+ }
407
+ /**
408
+ * Decrypts a message using bitsliced AEGIS-128L.
409
+ * Expects input as nonce || ciphertext || tag.
410
+ * @param sealed - Concatenated nonce || ciphertext || tag
411
+ * @param ad - Associated data (must match what was used during encryption)
412
+ * @param key - 16-byte encryption key
413
+ * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
414
+ * @returns Decrypted plaintext, or null if authentication fails
415
+ */
416
+ export function aegis128LBsDecrypt(sealed, ad, key, tagLen = 16) {
417
+ const nonceSize = AEGIS_128L_BS_NONCE_SIZE;
418
+ if (sealed.length < nonceSize + tagLen) {
419
+ return null;
420
+ }
421
+ const nonce = sealed.subarray(0, nonceSize);
422
+ const ct = sealed.subarray(nonceSize, sealed.length - tagLen);
423
+ const tag = sealed.subarray(sealed.length - tagLen);
424
+ return aegis128LBsDecryptDetached(ct, tag, ad, key, nonce);
425
+ }
426
+ /**
427
+ * Computes a MAC (Message Authentication Code) using bitsliced AEGIS-128L.
428
+ * @param data - Data to authenticate
429
+ * @param key - 16-byte key
430
+ * @param nonce - 16-byte nonce (optional, uses zero nonce if null)
431
+ * @param tagLen - Tag length: 16 or 32 bytes (default: 16)
432
+ * @returns Authentication tag
433
+ */
434
+ export function aegis128LBsMac(data, key, nonce = null, tagLen = 16) {
435
+ const state = new Aegis128LBsState();
436
+ state.init(key, nonce ?? new Uint8Array(16));
437
+ const dataPadded = zeroPad(data, RATE);
438
+ for (let i = 0; i + RATE <= dataPadded.length; i += RATE) {
439
+ state.absorb(dataPadded.subarray(i, i + RATE));
440
+ }
441
+ return state.finalize(data.length, tagLen, tagLen);
442
+ }
443
+ /**
444
+ * Verifies a MAC computed using bitsliced AEGIS-128L.
445
+ * @param data - Data to verify
446
+ * @param tag - Expected authentication tag (16 or 32 bytes)
447
+ * @param key - 16-byte key
448
+ * @param nonce - 16-byte nonce (optional, uses zero nonce if null)
449
+ * @returns True if the tag is valid, false otherwise
450
+ */
451
+ export function aegis128LBsMacVerify(data, tag, key, nonce = null) {
452
+ const tagLen = tag.length;
453
+ const expectedTag = aegis128LBsMac(data, key, nonce, tagLen);
454
+ return constantTimeEqual(tag, expectedTag);
455
+ }
456
+ /**
457
+ * Generates a random 16-byte key for bitsliced AEGIS-128L.
458
+ * @returns 16-byte encryption key
459
+ */
460
+ export function aegis128LBsCreateKey() {
461
+ return randomBytes(AEGIS_128L_BS_KEY_SIZE);
462
+ }
463
+ /**
464
+ * Generates a random 16-byte nonce for bitsliced AEGIS-128L.
465
+ * @returns 16-byte nonce
466
+ */
467
+ export function aegis128LBsCreateNonce() {
468
+ return randomBytes(AEGIS_128L_BS_NONCE_SIZE);
469
+ }
470
+ //# sourceMappingURL=aegis128l-bs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aegis128l-bs.js","sourceRoot":"","sources":["../src/aegis128l-bs.ts"],"names":[],"mappings":"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"}
@@ -77,20 +77,20 @@ export declare class Aegis128LState {
77
77
  finalize(adLenBits: bigint, msgLenBits: bigint, tagLen?: 16 | 32): Uint8Array;
78
78
  }
79
79
  /**
80
- * Encrypts a message using AEGIS-128L.
80
+ * Encrypts a message using AEGIS-128L (detached mode).
81
81
  * @param msg - Plaintext message
82
82
  * @param ad - Associated data (authenticated but not encrypted)
83
83
  * @param key - 16-byte encryption key
84
84
  * @param nonce - 16-byte nonce (must be unique per message with the same key)
85
85
  * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
86
- * @returns Object containing ciphertext and authentication tag
86
+ * @returns Object containing ciphertext and authentication tag separately
87
87
  */
88
- export declare function aegis128LEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): {
88
+ export declare function aegis128LEncryptDetached(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): {
89
89
  ciphertext: Uint8Array;
90
90
  tag: Uint8Array;
91
91
  };
92
92
  /**
93
- * Decrypts a message using AEGIS-128L.
93
+ * Decrypts a message using AEGIS-128L (detached mode).
94
94
  * @param ct - Ciphertext
95
95
  * @param tag - Authentication tag (16 or 32 bytes)
96
96
  * @param ad - Associated data (must match what was used during encryption)
@@ -98,7 +98,32 @@ export declare function aegis128LEncrypt(msg: Uint8Array, ad: Uint8Array, key: U
98
98
  * @param nonce - 16-byte nonce (must match what was used during encryption)
99
99
  * @returns Decrypted plaintext, or null if authentication fails
100
100
  */
101
- export declare function aegis128LDecrypt(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): Uint8Array | null;
101
+ export declare function aegis128LDecryptDetached(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): Uint8Array | null;
102
+ /** Nonce size for AEGIS-128L in bytes. */
103
+ export declare const AEGIS_128L_NONCE_SIZE = 16;
104
+ /** Key size for AEGIS-128L in bytes. */
105
+ export declare const AEGIS_128L_KEY_SIZE = 16;
106
+ /**
107
+ * Encrypts a message using AEGIS-128L.
108
+ * Returns a single buffer containing nonce || ciphertext || tag.
109
+ * @param msg - Plaintext message
110
+ * @param ad - Associated data (authenticated but not encrypted)
111
+ * @param key - 16-byte encryption key
112
+ * @param nonce - 16-byte nonce (optional, generates random nonce if not provided)
113
+ * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
114
+ * @returns Concatenated nonce || ciphertext || tag
115
+ */
116
+ export declare function aegis128LEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32): Uint8Array;
117
+ /**
118
+ * Decrypts a message using AEGIS-128L.
119
+ * Expects input as nonce || ciphertext || tag.
120
+ * @param sealed - Concatenated nonce || ciphertext || tag
121
+ * @param ad - Associated data (must match what was used during encryption)
122
+ * @param key - 16-byte encryption key
123
+ * @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
124
+ * @returns Decrypted plaintext, or null if authentication fails
125
+ */
126
+ export declare function aegis128LDecrypt(sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32): Uint8Array | null;
102
127
  /**
103
128
  * Computes a MAC (Message Authentication Code) using AEGIS-128L.
104
129
  * @param data - Data to authenticate
@@ -117,4 +142,16 @@ export declare function aegis128LMac(data: Uint8Array, key: Uint8Array, nonce?:
117
142
  * @returns True if the tag is valid, false otherwise
118
143
  */
119
144
  export declare function aegis128LMacVerify(data: Uint8Array, tag: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null): boolean;
145
+ /**
146
+ * Generates a random 16-byte key for AEGIS-128L.
147
+ * @returns 16-byte encryption key
148
+ * @throws Error if no cryptographic random source is available
149
+ */
150
+ export declare function aegis128LCreateKey(): Uint8Array;
151
+ /**
152
+ * Generates a random 16-byte nonce for AEGIS-128L.
153
+ * @returns 16-byte nonce
154
+ * @throws Error if no cryptographic random source is available
155
+ */
156
+ export declare function aegis128LCreateNonce(): Uint8Array;
120
157
  //# sourceMappingURL=aegis128l.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aegis128l.d.ts","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,IAAI,CAAa;;IAmBzB,IAAI,CAAC,IAAI,UAAU,EAAE,CAWpB;IAED,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EASzB;IAED;;;;OAIG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAe9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI;IAwB1D;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAI5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAsB5C;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IAM/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAsB5C;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IAM/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU;IA6BtC;;;;;;OAMG;IACH,QAAQ,CACP,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB,UAAU;CAkCb;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAuB7C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,GACf,UAAU,GAAG,IAAI,CAkCnB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,EACf,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB,UAAU,CAUZ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,KAAK,GAAE,UAAU,GAAG,IAAW,GAC7B,OAAO,CAIT"}
1
+ {"version":3,"file":"aegis128l.d.ts","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"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"}