aegis-aead 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +195 -89
- package/dist/aegis128l-bs.d.ts +194 -0
- package/dist/aegis128l-bs.d.ts.map +1 -0
- package/dist/aegis128l-bs.js +549 -0
- package/dist/aegis128l-bs.js.map +1 -0
- package/dist/aegis128l.d.ts +74 -5
- package/dist/aegis128l.d.ts.map +1 -1
- package/dist/aegis128l.js +173 -5
- package/dist/aegis128l.js.map +1 -1
- package/dist/aegis128x.d.ts +109 -12
- package/dist/aegis128x.d.ts.map +1 -1
- package/dist/aegis128x.js +202 -9
- package/dist/aegis128x.js.map +1 -1
- package/dist/aegis256-bs.d.ts +183 -0
- package/dist/aegis256-bs.d.ts.map +1 -0
- package/dist/aegis256-bs.js +477 -0
- package/dist/aegis256-bs.js.map +1 -0
- package/dist/aegis256.d.ts +74 -5
- package/dist/aegis256.d.ts.map +1 -1
- package/dist/aegis256.js +158 -5
- package/dist/aegis256.js.map +1 -1
- package/dist/aegis256x.d.ts +109 -12
- package/dist/aegis256x.d.ts.map +1 -1
- package/dist/aegis256x.js +193 -9
- package/dist/aegis256x.js.map +1 -1
- package/dist/aes-bs.d.ts +71 -0
- package/dist/aes-bs.d.ts.map +1 -0
- package/dist/aes-bs.js +399 -0
- package/dist/aes-bs.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/random.d.ts +22 -0
- package/dist/random.d.ts.map +1 -0
- package/dist/random.js +36 -0
- package/dist/random.js.map +1 -0
- package/package.json +1 -1
- package/src/aegis128l-bs.ts +709 -0
- package/src/aegis128l.ts +238 -5
- package/src/aegis128x.ts +342 -15
- package/src/aegis256-bs.ts +625 -0
- package/src/aegis256.ts +223 -5
- package/src/aegis256x.ts +329 -15
- package/src/aes-bs.ts +459 -0
- package/src/index.ts +86 -0
- package/src/random.ts +41 -0
- package/README.md~ +0 -154
package/dist/aegis256.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { aesRoundTo, andBlocksTo, C0, C1, constantTimeEqual, le64To, xorBlocksTo, zeroPad, } from "./aes.js";
|
|
2
|
+
import { randomBytes } from "./random.js";
|
|
2
3
|
/**
|
|
3
4
|
* AEGIS-256 cipher state.
|
|
4
5
|
* Uses 6 AES blocks (96 bytes) of internal state and processes 16-byte blocks.
|
|
@@ -137,6 +138,20 @@ export class Aegis256State {
|
|
|
137
138
|
this.decTo(ci, out);
|
|
138
139
|
return out;
|
|
139
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Encrypts a 16-byte plaintext block in-place.
|
|
143
|
+
* @param block - 16-byte buffer (plaintext in, ciphertext out)
|
|
144
|
+
*/
|
|
145
|
+
encInPlace(block) {
|
|
146
|
+
this.encTo(block, block);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Decrypts a 16-byte ciphertext block in-place.
|
|
150
|
+
* @param block - 16-byte buffer (ciphertext in, plaintext out)
|
|
151
|
+
*/
|
|
152
|
+
decInPlace(block) {
|
|
153
|
+
this.decTo(block, block);
|
|
154
|
+
}
|
|
140
155
|
/**
|
|
141
156
|
* Decrypts a partial (final) ciphertext block smaller than 16 bytes.
|
|
142
157
|
* @param cn - Partial ciphertext block (1-15 bytes)
|
|
@@ -202,15 +217,15 @@ export class Aegis256State {
|
|
|
202
217
|
}
|
|
203
218
|
}
|
|
204
219
|
/**
|
|
205
|
-
* Encrypts a message using AEGIS-256.
|
|
220
|
+
* Encrypts a message using AEGIS-256 (detached mode).
|
|
206
221
|
* @param msg - Plaintext message
|
|
207
222
|
* @param ad - Associated data (authenticated but not encrypted)
|
|
208
223
|
* @param key - 32-byte encryption key
|
|
209
224
|
* @param nonce - 32-byte nonce (must be unique per message with the same key)
|
|
210
225
|
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
211
|
-
* @returns Object containing ciphertext and authentication tag
|
|
226
|
+
* @returns Object containing ciphertext and authentication tag separately
|
|
212
227
|
*/
|
|
213
|
-
export function
|
|
228
|
+
export function aegis256EncryptDetached(msg, ad, key, nonce, tagLen = 16) {
|
|
214
229
|
const state = new Aegis256State();
|
|
215
230
|
state.init(key, nonce);
|
|
216
231
|
const adPadded = zeroPad(ad, 16);
|
|
@@ -227,7 +242,7 @@ export function aegis256Encrypt(msg, ad, key, nonce, tagLen = 16) {
|
|
|
227
242
|
return { ciphertext, tag };
|
|
228
243
|
}
|
|
229
244
|
/**
|
|
230
|
-
* Decrypts a message using AEGIS-256.
|
|
245
|
+
* Decrypts a message using AEGIS-256 (detached mode).
|
|
231
246
|
* @param ct - Ciphertext
|
|
232
247
|
* @param tag - Authentication tag (16 or 32 bytes)
|
|
233
248
|
* @param ad - Associated data (must match what was used during encryption)
|
|
@@ -235,7 +250,7 @@ export function aegis256Encrypt(msg, ad, key, nonce, tagLen = 16) {
|
|
|
235
250
|
* @param nonce - 32-byte nonce (must match what was used during encryption)
|
|
236
251
|
* @returns Decrypted plaintext, or null if authentication fails
|
|
237
252
|
*/
|
|
238
|
-
export function
|
|
253
|
+
export function aegis256DecryptDetached(ct, tag, ad, key, nonce) {
|
|
239
254
|
const tagLen = tag.length;
|
|
240
255
|
const state = new Aegis256State();
|
|
241
256
|
state.init(key, nonce);
|
|
@@ -259,6 +274,128 @@ export function aegis256Decrypt(ct, tag, ad, key, nonce) {
|
|
|
259
274
|
}
|
|
260
275
|
return msg;
|
|
261
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Encrypts a message in-place using AEGIS-256 (detached mode).
|
|
279
|
+
* The input buffer is modified to contain the ciphertext.
|
|
280
|
+
* @param data - Buffer containing plaintext (will be overwritten with ciphertext)
|
|
281
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
282
|
+
* @param key - 32-byte encryption key
|
|
283
|
+
* @param nonce - 32-byte nonce (must be unique per message with the same key)
|
|
284
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
285
|
+
* @returns Authentication tag
|
|
286
|
+
*/
|
|
287
|
+
export function aegis256EncryptDetachedInPlace(data, ad, key, nonce, tagLen = 16) {
|
|
288
|
+
const state = new Aegis256State();
|
|
289
|
+
state.init(key, nonce);
|
|
290
|
+
const adPadded = zeroPad(ad, 16);
|
|
291
|
+
for (let i = 0; i + 16 <= adPadded.length; i += 16) {
|
|
292
|
+
state.absorb(adPadded.subarray(i, i + 16));
|
|
293
|
+
}
|
|
294
|
+
const msgLen = data.length;
|
|
295
|
+
const fullBlocksLen = Math.floor(msgLen / 16) * 16;
|
|
296
|
+
for (let i = 0; i < fullBlocksLen; i += 16) {
|
|
297
|
+
state.encInPlace(data.subarray(i, i + 16));
|
|
298
|
+
}
|
|
299
|
+
if (msgLen > fullBlocksLen) {
|
|
300
|
+
const lastPartial = data.subarray(fullBlocksLen);
|
|
301
|
+
const lastBlock = zeroPad(lastPartial, 16);
|
|
302
|
+
const encBlock = state.enc(lastBlock);
|
|
303
|
+
lastPartial.set(encBlock.subarray(0, lastPartial.length));
|
|
304
|
+
}
|
|
305
|
+
return state.finalize(BigInt(ad.length * 8), BigInt(msgLen * 8), tagLen);
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Decrypts a message in-place using AEGIS-256 (detached mode).
|
|
309
|
+
* The input buffer is modified to contain the plaintext (or zeroed on failure).
|
|
310
|
+
* @param data - Buffer containing ciphertext (will be overwritten with plaintext)
|
|
311
|
+
* @param tag - Authentication tag (16 or 32 bytes)
|
|
312
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
313
|
+
* @param key - 32-byte encryption key
|
|
314
|
+
* @param nonce - 32-byte nonce (must match what was used during encryption)
|
|
315
|
+
* @returns True if authentication succeeds, false otherwise
|
|
316
|
+
*/
|
|
317
|
+
export function aegis256DecryptDetachedInPlace(data, tag, ad, key, nonce) {
|
|
318
|
+
const tagLen = tag.length;
|
|
319
|
+
const state = new Aegis256State();
|
|
320
|
+
state.init(key, nonce);
|
|
321
|
+
const adPadded = zeroPad(ad, 16);
|
|
322
|
+
for (let i = 0; i + 16 <= adPadded.length; i += 16) {
|
|
323
|
+
state.absorb(adPadded.subarray(i, i + 16));
|
|
324
|
+
}
|
|
325
|
+
const msgLen = data.length;
|
|
326
|
+
const fullBlocksLen = Math.floor(msgLen / 16) * 16;
|
|
327
|
+
for (let i = 0; i < fullBlocksLen; i += 16) {
|
|
328
|
+
state.decInPlace(data.subarray(i, i + 16));
|
|
329
|
+
}
|
|
330
|
+
if (msgLen > fullBlocksLen) {
|
|
331
|
+
const lastPartial = data.subarray(fullBlocksLen);
|
|
332
|
+
const decrypted = state.decPartial(lastPartial);
|
|
333
|
+
lastPartial.set(decrypted);
|
|
334
|
+
}
|
|
335
|
+
const expectedTag = state.finalize(BigInt(ad.length * 8), BigInt(msgLen * 8), tagLen);
|
|
336
|
+
if (!constantTimeEqual(tag, expectedTag)) {
|
|
337
|
+
data.fill(0);
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
return true;
|
|
341
|
+
}
|
|
342
|
+
/** Nonce size for AEGIS-256 in bytes. */
|
|
343
|
+
export const AEGIS_256_NONCE_SIZE = 32;
|
|
344
|
+
/** Key size for AEGIS-256 in bytes. */
|
|
345
|
+
export const AEGIS_256_KEY_SIZE = 32;
|
|
346
|
+
/**
|
|
347
|
+
* Encrypts a message using AEGIS-256.
|
|
348
|
+
* Returns a single buffer containing nonce || ciphertext || tag.
|
|
349
|
+
* @param msg - Plaintext message
|
|
350
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
351
|
+
* @param key - 32-byte encryption key
|
|
352
|
+
* @param nonce - 32-byte nonce (optional, generates random nonce if not provided)
|
|
353
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
354
|
+
* @returns Concatenated nonce || ciphertext || tag
|
|
355
|
+
*/
|
|
356
|
+
export function aegis256Encrypt(msg, ad, key, nonce = null, tagLen = 16) {
|
|
357
|
+
const actualNonce = nonce ?? randomBytes(AEGIS_256_NONCE_SIZE);
|
|
358
|
+
const state = new Aegis256State();
|
|
359
|
+
state.init(key, actualNonce);
|
|
360
|
+
const adPadded = zeroPad(ad, 16);
|
|
361
|
+
for (let i = 0; i + 16 <= adPadded.length; i += 16) {
|
|
362
|
+
state.absorb(adPadded.subarray(i, i + 16));
|
|
363
|
+
}
|
|
364
|
+
const nonceSize = AEGIS_256_NONCE_SIZE;
|
|
365
|
+
const result = new Uint8Array(nonceSize + msg.length + tagLen);
|
|
366
|
+
result.set(actualNonce, 0);
|
|
367
|
+
const fullBlocks = Math.floor(msg.length / 16) * 16;
|
|
368
|
+
for (let i = 0; i < fullBlocks; i += 16) {
|
|
369
|
+
state.encTo(msg.subarray(i, i + 16), result.subarray(nonceSize + i, nonceSize + i + 16));
|
|
370
|
+
}
|
|
371
|
+
if (msg.length > fullBlocks) {
|
|
372
|
+
const lastBlock = zeroPad(msg.subarray(fullBlocks), 16);
|
|
373
|
+
const encBlock = state.enc(lastBlock);
|
|
374
|
+
result.set(encBlock.subarray(0, msg.length - fullBlocks), nonceSize + fullBlocks);
|
|
375
|
+
}
|
|
376
|
+
const tag = state.finalize(BigInt(ad.length * 8), BigInt(msg.length * 8), tagLen);
|
|
377
|
+
result.set(tag, nonceSize + msg.length);
|
|
378
|
+
return result;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Decrypts a message using AEGIS-256.
|
|
382
|
+
* Expects input as nonce || ciphertext || tag.
|
|
383
|
+
* @param sealed - Concatenated nonce || ciphertext || tag
|
|
384
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
385
|
+
* @param key - 32-byte encryption key
|
|
386
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
387
|
+
* @returns Decrypted plaintext, or null if authentication fails
|
|
388
|
+
*/
|
|
389
|
+
export function aegis256Decrypt(sealed, ad, key, tagLen = 16) {
|
|
390
|
+
const nonceSize = AEGIS_256_NONCE_SIZE;
|
|
391
|
+
if (sealed.length < nonceSize + tagLen) {
|
|
392
|
+
return null;
|
|
393
|
+
}
|
|
394
|
+
const nonce = sealed.subarray(0, nonceSize);
|
|
395
|
+
const ct = sealed.subarray(nonceSize, sealed.length - tagLen);
|
|
396
|
+
const tag = sealed.subarray(sealed.length - tagLen);
|
|
397
|
+
return aegis256DecryptDetached(ct, tag, ad, key, nonce);
|
|
398
|
+
}
|
|
262
399
|
/**
|
|
263
400
|
* Computes a MAC (Message Authentication Code) using AEGIS-256.
|
|
264
401
|
* @param data - Data to authenticate
|
|
@@ -289,4 +426,20 @@ export function aegis256MacVerify(data, tag, key, nonce = null) {
|
|
|
289
426
|
const expectedTag = aegis256Mac(data, key, nonce, tagLen);
|
|
290
427
|
return constantTimeEqual(tag, expectedTag);
|
|
291
428
|
}
|
|
429
|
+
/**
|
|
430
|
+
* Generates a random 32-byte key for AEGIS-256.
|
|
431
|
+
* @returns 32-byte encryption key
|
|
432
|
+
* @throws Error if no cryptographic random source is available
|
|
433
|
+
*/
|
|
434
|
+
export function aegis256CreateKey() {
|
|
435
|
+
return randomBytes(AEGIS_256_KEY_SIZE);
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Generates a random 32-byte nonce for AEGIS-256.
|
|
439
|
+
* @returns 32-byte nonce
|
|
440
|
+
* @throws Error if no cryptographic random source is available
|
|
441
|
+
*/
|
|
442
|
+
export function aegis256CreateNonce() {
|
|
443
|
+
return randomBytes(AEGIS_256_NONCE_SIZE);
|
|
444
|
+
}
|
|
292
445
|
//# sourceMappingURL=aegis256.js.map
|
package/dist/aegis256.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis256.js","sourceRoot":"","sources":["../src/aegis256.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aegis256.js","sourceRoot":"","sources":["../src/aegis256.ts"],"names":[],"mappings":"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"}
|
package/dist/aegis256x.d.ts
CHANGED
|
@@ -56,6 +56,16 @@ export declare class Aegis256XState {
|
|
|
56
56
|
* @returns Plaintext block of the same size
|
|
57
57
|
*/
|
|
58
58
|
dec(ci: Uint8Array): Uint8Array;
|
|
59
|
+
/**
|
|
60
|
+
* Encrypts a plaintext block in-place.
|
|
61
|
+
* @param block - Buffer (plaintext in, ciphertext out), size 16*degree bytes
|
|
62
|
+
*/
|
|
63
|
+
encInPlace(block: Uint8Array): void;
|
|
64
|
+
/**
|
|
65
|
+
* Decrypts a ciphertext block in-place.
|
|
66
|
+
* @param block - Buffer (ciphertext in, plaintext out), size 16*degree bytes
|
|
67
|
+
*/
|
|
68
|
+
decInPlace(block: Uint8Array): void;
|
|
59
69
|
/**
|
|
60
70
|
* Decrypts a partial (final) ciphertext block.
|
|
61
71
|
* @param cn - Partial ciphertext block (smaller than 16*degree bytes)
|
|
@@ -80,21 +90,21 @@ export declare class Aegis256XState {
|
|
|
80
90
|
finalizeMac(dataLenBits: bigint, tagLen?: 16 | 32): Uint8Array;
|
|
81
91
|
}
|
|
82
92
|
/**
|
|
83
|
-
* Encrypts a message using AEGIS-256X.
|
|
93
|
+
* Encrypts a message using AEGIS-256X (detached mode).
|
|
84
94
|
* @param msg - Plaintext message
|
|
85
95
|
* @param ad - Associated data (authenticated but not encrypted)
|
|
86
96
|
* @param key - 32-byte encryption key
|
|
87
97
|
* @param nonce - 32-byte nonce (must be unique per message with the same key)
|
|
88
98
|
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
89
99
|
* @param degree - Parallelism degree (default: 2)
|
|
90
|
-
* @returns Object containing ciphertext and authentication tag
|
|
100
|
+
* @returns Object containing ciphertext and authentication tag separately
|
|
91
101
|
*/
|
|
92
|
-
export declare function
|
|
102
|
+
export declare function aegis256XEncryptDetached(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32, degree?: number): {
|
|
93
103
|
ciphertext: Uint8Array;
|
|
94
104
|
tag: Uint8Array;
|
|
95
105
|
};
|
|
96
106
|
/**
|
|
97
|
-
* Decrypts a message using AEGIS-256X.
|
|
107
|
+
* Decrypts a message using AEGIS-256X (detached mode).
|
|
98
108
|
* @param ct - Ciphertext
|
|
99
109
|
* @param tag - Authentication tag (16 or 32 bytes)
|
|
100
110
|
* @param ad - Associated data (must match what was used during encryption)
|
|
@@ -103,21 +113,88 @@ export declare function aegis256XEncrypt(msg: Uint8Array, ad: Uint8Array, key: U
|
|
|
103
113
|
* @param degree - Parallelism degree (default: 2)
|
|
104
114
|
* @returns Decrypted plaintext, or null if authentication fails
|
|
105
115
|
*/
|
|
106
|
-
export declare function
|
|
107
|
-
/**
|
|
108
|
-
|
|
116
|
+
export declare function aegis256XDecryptDetached(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, degree?: number): Uint8Array | null;
|
|
117
|
+
/**
|
|
118
|
+
* Encrypts a message in-place using AEGIS-256X (detached mode).
|
|
119
|
+
* The input buffer is modified to contain the ciphertext.
|
|
120
|
+
* @param data - Buffer containing plaintext (will be overwritten with ciphertext)
|
|
121
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
122
|
+
* @param key - 32-byte encryption key
|
|
123
|
+
* @param nonce - 32-byte nonce (must be unique per message with the same key)
|
|
124
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
125
|
+
* @param degree - Parallelism degree (default: 2)
|
|
126
|
+
* @returns Authentication tag
|
|
127
|
+
*/
|
|
128
|
+
export declare function aegis256XEncryptDetachedInPlace(data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32, degree?: number): Uint8Array;
|
|
129
|
+
/**
|
|
130
|
+
* Decrypts a message in-place using AEGIS-256X (detached mode).
|
|
131
|
+
* The input buffer is modified to contain the plaintext (or zeroed on failure).
|
|
132
|
+
* @param data - Buffer containing ciphertext (will be overwritten with plaintext)
|
|
133
|
+
* @param tag - Authentication tag (16 or 32 bytes)
|
|
134
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
135
|
+
* @param key - 32-byte encryption key
|
|
136
|
+
* @param nonce - 32-byte nonce (must match what was used during encryption)
|
|
137
|
+
* @param degree - Parallelism degree (default: 2)
|
|
138
|
+
* @returns True if authentication succeeds, false otherwise
|
|
139
|
+
*/
|
|
140
|
+
export declare function aegis256XDecryptDetachedInPlace(data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, degree?: number): boolean;
|
|
141
|
+
/** AEGIS-256X2 in-place encryption - detached mode (degree=2). */
|
|
142
|
+
export declare const aegis256X2EncryptDetachedInPlace: (data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
143
|
+
/** AEGIS-256X2 in-place decryption - detached mode (degree=2). */
|
|
144
|
+
export declare const aegis256X2DecryptDetachedInPlace: (data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => boolean;
|
|
145
|
+
/** AEGIS-256X4 in-place encryption - detached mode (degree=4). */
|
|
146
|
+
export declare const aegis256X4EncryptDetachedInPlace: (data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
147
|
+
/** AEGIS-256X4 in-place decryption - detached mode (degree=4). */
|
|
148
|
+
export declare const aegis256X4DecryptDetachedInPlace: (data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => boolean;
|
|
149
|
+
/** Nonce size for AEGIS-256X in bytes. */
|
|
150
|
+
export declare const AEGIS_256X_NONCE_SIZE = 32;
|
|
151
|
+
/** Key size for AEGIS-256X in bytes. */
|
|
152
|
+
export declare const AEGIS_256X_KEY_SIZE = 32;
|
|
153
|
+
/**
|
|
154
|
+
* Encrypts a message using AEGIS-256X.
|
|
155
|
+
* Returns a single buffer containing nonce || ciphertext || tag.
|
|
156
|
+
* @param msg - Plaintext message
|
|
157
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
158
|
+
* @param key - 32-byte encryption key
|
|
159
|
+
* @param nonce - 32-byte nonce (optional, generates random nonce if not provided)
|
|
160
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
161
|
+
* @param degree - Parallelism degree (default: 2)
|
|
162
|
+
* @returns Concatenated nonce || ciphertext || tag
|
|
163
|
+
*/
|
|
164
|
+
export declare function aegis256XEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32, degree?: number): Uint8Array;
|
|
165
|
+
/**
|
|
166
|
+
* Decrypts a message using AEGIS-256X.
|
|
167
|
+
* Expects input as nonce || ciphertext || tag.
|
|
168
|
+
* @param sealed - Concatenated nonce || ciphertext || tag
|
|
169
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
170
|
+
* @param key - 32-byte encryption key
|
|
171
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
172
|
+
* @param degree - Parallelism degree (default: 2)
|
|
173
|
+
* @returns Decrypted plaintext, or null if authentication fails
|
|
174
|
+
*/
|
|
175
|
+
export declare function aegis256XDecrypt(sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32, degree?: number): Uint8Array | null;
|
|
176
|
+
/** AEGIS-256X2 encryption - detached mode (degree=2). */
|
|
177
|
+
export declare const aegis256X2EncryptDetached: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => {
|
|
109
178
|
ciphertext: Uint8Array;
|
|
110
179
|
tag: Uint8Array;
|
|
111
180
|
};
|
|
112
|
-
/** AEGIS-256X2 decryption (degree=2). */
|
|
113
|
-
export declare const
|
|
114
|
-
/** AEGIS-256X4 encryption (degree=4). */
|
|
115
|
-
export declare const
|
|
181
|
+
/** AEGIS-256X2 decryption - detached mode (degree=2). */
|
|
182
|
+
export declare const aegis256X2DecryptDetached: (ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => Uint8Array<ArrayBufferLike> | null;
|
|
183
|
+
/** AEGIS-256X4 encryption - detached mode (degree=4). */
|
|
184
|
+
export declare const aegis256X4EncryptDetached: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => {
|
|
116
185
|
ciphertext: Uint8Array;
|
|
117
186
|
tag: Uint8Array;
|
|
118
187
|
};
|
|
188
|
+
/** AEGIS-256X4 decryption - detached mode (degree=4). */
|
|
189
|
+
export declare const aegis256X4DecryptDetached: (ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => Uint8Array<ArrayBufferLike> | null;
|
|
190
|
+
/** AEGIS-256X2 encryption (degree=2). */
|
|
191
|
+
export declare const aegis256X2Encrypt: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
192
|
+
/** AEGIS-256X2 decryption (degree=2). */
|
|
193
|
+
export declare const aegis256X2Decrypt: (sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike> | null;
|
|
194
|
+
/** AEGIS-256X4 encryption (degree=4). */
|
|
195
|
+
export declare const aegis256X4Encrypt: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
119
196
|
/** AEGIS-256X4 decryption (degree=4). */
|
|
120
|
-
export declare const aegis256X4Decrypt: (
|
|
197
|
+
export declare const aegis256X4Decrypt: (sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike> | null;
|
|
121
198
|
/**
|
|
122
199
|
* Computes a MAC (Message Authentication Code) using AEGIS-256X.
|
|
123
200
|
* @param data - Data to authenticate
|
|
@@ -146,4 +223,24 @@ export declare const aegis256X2MacVerify: (data: Uint8Array, tag: Uint8Array, ke
|
|
|
146
223
|
export declare const aegis256X4Mac: (data: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
147
224
|
/** AEGIS-256X4 MAC verification (degree=4). */
|
|
148
225
|
export declare const aegis256X4MacVerify: (data: Uint8Array, tag: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null) => boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Generates a random 32-byte key for AEGIS-256X.
|
|
228
|
+
* @returns 32-byte encryption key
|
|
229
|
+
* @throws Error if no cryptographic random source is available
|
|
230
|
+
*/
|
|
231
|
+
export declare function aegis256XCreateKey(): Uint8Array;
|
|
232
|
+
/**
|
|
233
|
+
* Generates a random 32-byte nonce for AEGIS-256X.
|
|
234
|
+
* @returns 32-byte nonce
|
|
235
|
+
* @throws Error if no cryptographic random source is available
|
|
236
|
+
*/
|
|
237
|
+
export declare function aegis256XCreateNonce(): Uint8Array;
|
|
238
|
+
/** AEGIS-256X2 key generation (degree=2). */
|
|
239
|
+
export declare const aegis256X2CreateKey: typeof aegis256XCreateKey;
|
|
240
|
+
/** AEGIS-256X2 nonce generation (degree=2). */
|
|
241
|
+
export declare const aegis256X2CreateNonce: typeof aegis256XCreateNonce;
|
|
242
|
+
/** AEGIS-256X4 key generation (degree=4). */
|
|
243
|
+
export declare const aegis256X4CreateKey: typeof aegis256XCreateKey;
|
|
244
|
+
/** AEGIS-256X4 nonce generation (degree=4). */
|
|
245
|
+
export declare const aegis256X4CreateNonce: typeof aegis256XCreateNonce;
|
|
149
246
|
//# sourceMappingURL=aegis256x.d.ts.map
|
package/dist/aegis256x.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis256x.d.ts","sourceRoot":"","sources":["../src/aegis256x.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aegis256x.d.ts","sourceRoot":"","sources":["../src/aegis256x.ts"],"names":[],"mappings":"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"}
|