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/aegis128l.d.ts
CHANGED
|
@@ -61,6 +61,16 @@ export declare class Aegis128LState {
|
|
|
61
61
|
* @returns 32-byte plaintext block
|
|
62
62
|
*/
|
|
63
63
|
dec(ci: Uint8Array): Uint8Array;
|
|
64
|
+
/**
|
|
65
|
+
* Encrypts a 32-byte plaintext block in-place.
|
|
66
|
+
* @param block - 32-byte buffer (plaintext in, ciphertext out)
|
|
67
|
+
*/
|
|
68
|
+
encInPlace(block: Uint8Array): void;
|
|
69
|
+
/**
|
|
70
|
+
* Decrypts a 32-byte ciphertext block in-place.
|
|
71
|
+
* @param block - 32-byte buffer (ciphertext in, plaintext out)
|
|
72
|
+
*/
|
|
73
|
+
decInPlace(block: Uint8Array): void;
|
|
64
74
|
/**
|
|
65
75
|
* Decrypts a partial (final) ciphertext block smaller than 32 bytes.
|
|
66
76
|
* @param cn - Partial ciphertext block (1-31 bytes)
|
|
@@ -77,20 +87,20 @@ export declare class Aegis128LState {
|
|
|
77
87
|
finalize(adLenBits: bigint, msgLenBits: bigint, tagLen?: 16 | 32): Uint8Array;
|
|
78
88
|
}
|
|
79
89
|
/**
|
|
80
|
-
* Encrypts a message using AEGIS-128L.
|
|
90
|
+
* Encrypts a message using AEGIS-128L (detached mode).
|
|
81
91
|
* @param msg - Plaintext message
|
|
82
92
|
* @param ad - Associated data (authenticated but not encrypted)
|
|
83
93
|
* @param key - 16-byte encryption key
|
|
84
94
|
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
85
95
|
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
86
|
-
* @returns Object containing ciphertext and authentication tag
|
|
96
|
+
* @returns Object containing ciphertext and authentication tag separately
|
|
87
97
|
*/
|
|
88
|
-
export declare function
|
|
98
|
+
export declare function aegis128LEncryptDetached(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): {
|
|
89
99
|
ciphertext: Uint8Array;
|
|
90
100
|
tag: Uint8Array;
|
|
91
101
|
};
|
|
92
102
|
/**
|
|
93
|
-
* Decrypts a message using AEGIS-128L.
|
|
103
|
+
* Decrypts a message using AEGIS-128L (detached mode).
|
|
94
104
|
* @param ct - Ciphertext
|
|
95
105
|
* @param tag - Authentication tag (16 or 32 bytes)
|
|
96
106
|
* @param ad - Associated data (must match what was used during encryption)
|
|
@@ -98,7 +108,54 @@ export declare function aegis128LEncrypt(msg: Uint8Array, ad: Uint8Array, key: U
|
|
|
98
108
|
* @param nonce - 16-byte nonce (must match what was used during encryption)
|
|
99
109
|
* @returns Decrypted plaintext, or null if authentication fails
|
|
100
110
|
*/
|
|
101
|
-
export declare function
|
|
111
|
+
export declare function aegis128LDecryptDetached(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): Uint8Array | null;
|
|
112
|
+
/**
|
|
113
|
+
* Encrypts a message in-place using AEGIS-128L (detached mode).
|
|
114
|
+
* The input buffer is modified to contain the ciphertext.
|
|
115
|
+
* @param data - Buffer containing plaintext (will be overwritten with ciphertext)
|
|
116
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
117
|
+
* @param key - 16-byte encryption key
|
|
118
|
+
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
119
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
120
|
+
* @returns Authentication tag
|
|
121
|
+
*/
|
|
122
|
+
export declare function aegis128LEncryptDetachedInPlace(data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32): Uint8Array;
|
|
123
|
+
/**
|
|
124
|
+
* Decrypts a message in-place using AEGIS-128L (detached mode).
|
|
125
|
+
* The input buffer is modified to contain the plaintext (or zeroed on failure).
|
|
126
|
+
* @param data - Buffer containing ciphertext (will be overwritten with plaintext)
|
|
127
|
+
* @param tag - Authentication tag (16 or 32 bytes)
|
|
128
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
129
|
+
* @param key - 16-byte encryption key
|
|
130
|
+
* @param nonce - 16-byte nonce (must match what was used during encryption)
|
|
131
|
+
* @returns True if authentication succeeds, false otherwise
|
|
132
|
+
*/
|
|
133
|
+
export declare function aegis128LDecryptDetachedInPlace(data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array): boolean;
|
|
134
|
+
/** Nonce size for AEGIS-128L in bytes. */
|
|
135
|
+
export declare const AEGIS_128L_NONCE_SIZE = 16;
|
|
136
|
+
/** Key size for AEGIS-128L in bytes. */
|
|
137
|
+
export declare const AEGIS_128L_KEY_SIZE = 16;
|
|
138
|
+
/**
|
|
139
|
+
* Encrypts a message using AEGIS-128L.
|
|
140
|
+
* Returns a single buffer containing nonce || ciphertext || tag.
|
|
141
|
+
* @param msg - Plaintext message
|
|
142
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
143
|
+
* @param key - 16-byte encryption key
|
|
144
|
+
* @param nonce - 16-byte nonce (optional, generates random nonce if not provided)
|
|
145
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
146
|
+
* @returns Concatenated nonce || ciphertext || tag
|
|
147
|
+
*/
|
|
148
|
+
export declare function aegis128LEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32): Uint8Array;
|
|
149
|
+
/**
|
|
150
|
+
* Decrypts a message using AEGIS-128L.
|
|
151
|
+
* Expects input as nonce || ciphertext || tag.
|
|
152
|
+
* @param sealed - Concatenated nonce || ciphertext || tag
|
|
153
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
154
|
+
* @param key - 16-byte encryption key
|
|
155
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
156
|
+
* @returns Decrypted plaintext, or null if authentication fails
|
|
157
|
+
*/
|
|
158
|
+
export declare function aegis128LDecrypt(sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32): Uint8Array | null;
|
|
102
159
|
/**
|
|
103
160
|
* Computes a MAC (Message Authentication Code) using AEGIS-128L.
|
|
104
161
|
* @param data - Data to authenticate
|
|
@@ -117,4 +174,16 @@ export declare function aegis128LMac(data: Uint8Array, key: Uint8Array, nonce?:
|
|
|
117
174
|
* @returns True if the tag is valid, false otherwise
|
|
118
175
|
*/
|
|
119
176
|
export declare function aegis128LMacVerify(data: Uint8Array, tag: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null): boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Generates a random 16-byte key for AEGIS-128L.
|
|
179
|
+
* @returns 16-byte encryption key
|
|
180
|
+
* @throws Error if no cryptographic random source is available
|
|
181
|
+
*/
|
|
182
|
+
export declare function aegis128LCreateKey(): Uint8Array;
|
|
183
|
+
/**
|
|
184
|
+
* Generates a random 16-byte nonce for AEGIS-128L.
|
|
185
|
+
* @returns 16-byte nonce
|
|
186
|
+
* @throws Error if no cryptographic random source is available
|
|
187
|
+
*/
|
|
188
|
+
export declare function aegis128LCreateNonce(): Uint8Array;
|
|
120
189
|
//# sourceMappingURL=aegis128l.d.ts.map
|
package/dist/aegis128l.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis128l.d.ts","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aegis128l.d.ts","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"AAYA;;;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;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAmBnC;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAInC;;;;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,wBAAwB,CACvC,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,wBAAwB,CACvC,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;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,EACjB,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB,UAAU,CAwBZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,GACf,OAAO,CAmCT;AAED,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,KAAK,GAAE,UAAU,GAAG,IAAW,EAC/B,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB,UAAU,CAuCZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,UAAU,EACd,GAAG,EAAE,UAAU,EACf,MAAM,GAAE,EAAE,GAAG,EAAO,GAClB,UAAU,GAAG,IAAI,CASnB;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;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAEjD"}
|
package/dist/aegis128l.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-128L cipher state.
|
|
4
5
|
* Uses 8 AES blocks (128 bytes) of internal state and processes 32-byte blocks.
|
|
@@ -163,6 +164,35 @@ export class Aegis128LState {
|
|
|
163
164
|
this.decTo(ci, out);
|
|
164
165
|
return out;
|
|
165
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Encrypts a 32-byte plaintext block in-place.
|
|
169
|
+
* @param block - 32-byte buffer (plaintext in, ciphertext out)
|
|
170
|
+
*/
|
|
171
|
+
encInPlace(block) {
|
|
172
|
+
const z0 = this.z0;
|
|
173
|
+
const z1 = this.z1;
|
|
174
|
+
const tmp = this.tmp0;
|
|
175
|
+
xorBlocksTo(this.s1, this.s6, z0);
|
|
176
|
+
andBlocksTo(this.s2, this.s3, tmp);
|
|
177
|
+
for (let i = 0; i < 16; i++)
|
|
178
|
+
z0[i] ^= tmp[i];
|
|
179
|
+
xorBlocksTo(this.s2, this.s5, z1);
|
|
180
|
+
andBlocksTo(this.s6, this.s7, tmp);
|
|
181
|
+
for (let i = 0; i < 16; i++)
|
|
182
|
+
z1[i] ^= tmp[i];
|
|
183
|
+
this.update(block.subarray(0, 16), block.subarray(16, 32));
|
|
184
|
+
for (let i = 0; i < 16; i++)
|
|
185
|
+
block[i] ^= z0[i];
|
|
186
|
+
for (let i = 0; i < 16; i++)
|
|
187
|
+
block[16 + i] ^= z1[i];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Decrypts a 32-byte ciphertext block in-place.
|
|
191
|
+
* @param block - 32-byte buffer (ciphertext in, plaintext out)
|
|
192
|
+
*/
|
|
193
|
+
decInPlace(block) {
|
|
194
|
+
this.decTo(block, block);
|
|
195
|
+
}
|
|
166
196
|
/**
|
|
167
197
|
* Decrypts a partial (final) ciphertext block smaller than 32 bytes.
|
|
168
198
|
* @param cn - Partial ciphertext block (1-31 bytes)
|
|
@@ -236,15 +266,15 @@ export class Aegis128LState {
|
|
|
236
266
|
}
|
|
237
267
|
}
|
|
238
268
|
/**
|
|
239
|
-
* Encrypts a message using AEGIS-128L.
|
|
269
|
+
* Encrypts a message using AEGIS-128L (detached mode).
|
|
240
270
|
* @param msg - Plaintext message
|
|
241
271
|
* @param ad - Associated data (authenticated but not encrypted)
|
|
242
272
|
* @param key - 16-byte encryption key
|
|
243
273
|
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
244
274
|
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
245
|
-
* @returns Object containing ciphertext and authentication tag
|
|
275
|
+
* @returns Object containing ciphertext and authentication tag separately
|
|
246
276
|
*/
|
|
247
|
-
export function
|
|
277
|
+
export function aegis128LEncryptDetached(msg, ad, key, nonce, tagLen = 16) {
|
|
248
278
|
const state = new Aegis128LState();
|
|
249
279
|
state.init(key, nonce);
|
|
250
280
|
const adPadded = zeroPad(ad, 32);
|
|
@@ -261,7 +291,7 @@ export function aegis128LEncrypt(msg, ad, key, nonce, tagLen = 16) {
|
|
|
261
291
|
return { ciphertext, tag };
|
|
262
292
|
}
|
|
263
293
|
/**
|
|
264
|
-
* Decrypts a message using AEGIS-128L.
|
|
294
|
+
* Decrypts a message using AEGIS-128L (detached mode).
|
|
265
295
|
* @param ct - Ciphertext
|
|
266
296
|
* @param tag - Authentication tag (16 or 32 bytes)
|
|
267
297
|
* @param ad - Associated data (must match what was used during encryption)
|
|
@@ -269,7 +299,7 @@ export function aegis128LEncrypt(msg, ad, key, nonce, tagLen = 16) {
|
|
|
269
299
|
* @param nonce - 16-byte nonce (must match what was used during encryption)
|
|
270
300
|
* @returns Decrypted plaintext, or null if authentication fails
|
|
271
301
|
*/
|
|
272
|
-
export function
|
|
302
|
+
export function aegis128LDecryptDetached(ct, tag, ad, key, nonce) {
|
|
273
303
|
const tagLen = tag.length;
|
|
274
304
|
const state = new Aegis128LState();
|
|
275
305
|
state.init(key, nonce);
|
|
@@ -293,6 +323,128 @@ export function aegis128LDecrypt(ct, tag, ad, key, nonce) {
|
|
|
293
323
|
}
|
|
294
324
|
return msg;
|
|
295
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Encrypts a message in-place using AEGIS-128L (detached mode).
|
|
328
|
+
* The input buffer is modified to contain the ciphertext.
|
|
329
|
+
* @param data - Buffer containing plaintext (will be overwritten with ciphertext)
|
|
330
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
331
|
+
* @param key - 16-byte encryption key
|
|
332
|
+
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
333
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
334
|
+
* @returns Authentication tag
|
|
335
|
+
*/
|
|
336
|
+
export function aegis128LEncryptDetachedInPlace(data, ad, key, nonce, tagLen = 16) {
|
|
337
|
+
const state = new Aegis128LState();
|
|
338
|
+
state.init(key, nonce);
|
|
339
|
+
const adPadded = zeroPad(ad, 32);
|
|
340
|
+
for (let i = 0; i + 32 <= adPadded.length; i += 32) {
|
|
341
|
+
state.absorb(adPadded.subarray(i, i + 32));
|
|
342
|
+
}
|
|
343
|
+
const msgLen = data.length;
|
|
344
|
+
const fullBlocksLen = Math.floor(msgLen / 32) * 32;
|
|
345
|
+
for (let i = 0; i < fullBlocksLen; i += 32) {
|
|
346
|
+
state.encInPlace(data.subarray(i, i + 32));
|
|
347
|
+
}
|
|
348
|
+
if (msgLen > fullBlocksLen) {
|
|
349
|
+
const lastPartial = data.subarray(fullBlocksLen);
|
|
350
|
+
const lastBlock = zeroPad(lastPartial, 32);
|
|
351
|
+
const encBlock = state.enc(lastBlock);
|
|
352
|
+
lastPartial.set(encBlock.subarray(0, lastPartial.length));
|
|
353
|
+
}
|
|
354
|
+
return state.finalize(BigInt(ad.length * 8), BigInt(msgLen * 8), tagLen);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Decrypts a message in-place using AEGIS-128L (detached mode).
|
|
358
|
+
* The input buffer is modified to contain the plaintext (or zeroed on failure).
|
|
359
|
+
* @param data - Buffer containing ciphertext (will be overwritten with plaintext)
|
|
360
|
+
* @param tag - Authentication tag (16 or 32 bytes)
|
|
361
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
362
|
+
* @param key - 16-byte encryption key
|
|
363
|
+
* @param nonce - 16-byte nonce (must match what was used during encryption)
|
|
364
|
+
* @returns True if authentication succeeds, false otherwise
|
|
365
|
+
*/
|
|
366
|
+
export function aegis128LDecryptDetachedInPlace(data, tag, ad, key, nonce) {
|
|
367
|
+
const tagLen = tag.length;
|
|
368
|
+
const state = new Aegis128LState();
|
|
369
|
+
state.init(key, nonce);
|
|
370
|
+
const adPadded = zeroPad(ad, 32);
|
|
371
|
+
for (let i = 0; i + 32 <= adPadded.length; i += 32) {
|
|
372
|
+
state.absorb(adPadded.subarray(i, i + 32));
|
|
373
|
+
}
|
|
374
|
+
const msgLen = data.length;
|
|
375
|
+
const fullBlocksLen = Math.floor(msgLen / 32) * 32;
|
|
376
|
+
for (let i = 0; i < fullBlocksLen; i += 32) {
|
|
377
|
+
state.decInPlace(data.subarray(i, i + 32));
|
|
378
|
+
}
|
|
379
|
+
if (msgLen > fullBlocksLen) {
|
|
380
|
+
const lastPartial = data.subarray(fullBlocksLen);
|
|
381
|
+
const decrypted = state.decPartial(lastPartial);
|
|
382
|
+
lastPartial.set(decrypted);
|
|
383
|
+
}
|
|
384
|
+
const expectedTag = state.finalize(BigInt(ad.length * 8), BigInt(msgLen * 8), tagLen);
|
|
385
|
+
if (!constantTimeEqual(tag, expectedTag)) {
|
|
386
|
+
data.fill(0);
|
|
387
|
+
return false;
|
|
388
|
+
}
|
|
389
|
+
return true;
|
|
390
|
+
}
|
|
391
|
+
/** Nonce size for AEGIS-128L in bytes. */
|
|
392
|
+
export const AEGIS_128L_NONCE_SIZE = 16;
|
|
393
|
+
/** Key size for AEGIS-128L in bytes. */
|
|
394
|
+
export const AEGIS_128L_KEY_SIZE = 16;
|
|
395
|
+
/**
|
|
396
|
+
* Encrypts a message using AEGIS-128L.
|
|
397
|
+
* Returns a single buffer containing nonce || ciphertext || tag.
|
|
398
|
+
* @param msg - Plaintext message
|
|
399
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
400
|
+
* @param key - 16-byte encryption key
|
|
401
|
+
* @param nonce - 16-byte nonce (optional, generates random nonce if not provided)
|
|
402
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
403
|
+
* @returns Concatenated nonce || ciphertext || tag
|
|
404
|
+
*/
|
|
405
|
+
export function aegis128LEncrypt(msg, ad, key, nonce = null, tagLen = 16) {
|
|
406
|
+
const actualNonce = nonce ?? randomBytes(AEGIS_128L_NONCE_SIZE);
|
|
407
|
+
const state = new Aegis128LState();
|
|
408
|
+
state.init(key, actualNonce);
|
|
409
|
+
const adPadded = zeroPad(ad, 32);
|
|
410
|
+
for (let i = 0; i + 32 <= adPadded.length; i += 32) {
|
|
411
|
+
state.absorb(adPadded.subarray(i, i + 32));
|
|
412
|
+
}
|
|
413
|
+
const nonceSize = AEGIS_128L_NONCE_SIZE;
|
|
414
|
+
const result = new Uint8Array(nonceSize + msg.length + tagLen);
|
|
415
|
+
result.set(actualNonce, 0);
|
|
416
|
+
const fullBlocks = Math.floor(msg.length / 32) * 32;
|
|
417
|
+
for (let i = 0; i < fullBlocks; i += 32) {
|
|
418
|
+
state.encTo(msg.subarray(i, i + 32), result.subarray(nonceSize + i, nonceSize + i + 32));
|
|
419
|
+
}
|
|
420
|
+
if (msg.length > fullBlocks) {
|
|
421
|
+
const lastBlock = zeroPad(msg.subarray(fullBlocks), 32);
|
|
422
|
+
const encBlock = state.enc(lastBlock);
|
|
423
|
+
result.set(encBlock.subarray(0, msg.length - fullBlocks), nonceSize + fullBlocks);
|
|
424
|
+
}
|
|
425
|
+
const tag = state.finalize(BigInt(ad.length * 8), BigInt(msg.length * 8), tagLen);
|
|
426
|
+
result.set(tag, nonceSize + msg.length);
|
|
427
|
+
return result;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Decrypts a message using AEGIS-128L.
|
|
431
|
+
* Expects input as nonce || ciphertext || tag.
|
|
432
|
+
* @param sealed - Concatenated nonce || ciphertext || tag
|
|
433
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
434
|
+
* @param key - 16-byte encryption key
|
|
435
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
436
|
+
* @returns Decrypted plaintext, or null if authentication fails
|
|
437
|
+
*/
|
|
438
|
+
export function aegis128LDecrypt(sealed, ad, key, tagLen = 16) {
|
|
439
|
+
const nonceSize = AEGIS_128L_NONCE_SIZE;
|
|
440
|
+
if (sealed.length < nonceSize + tagLen) {
|
|
441
|
+
return null;
|
|
442
|
+
}
|
|
443
|
+
const nonce = sealed.subarray(0, nonceSize);
|
|
444
|
+
const ct = sealed.subarray(nonceSize, sealed.length - tagLen);
|
|
445
|
+
const tag = sealed.subarray(sealed.length - tagLen);
|
|
446
|
+
return aegis128LDecryptDetached(ct, tag, ad, key, nonce);
|
|
447
|
+
}
|
|
296
448
|
/**
|
|
297
449
|
* Computes a MAC (Message Authentication Code) using AEGIS-128L.
|
|
298
450
|
* @param data - Data to authenticate
|
|
@@ -323,4 +475,20 @@ export function aegis128LMacVerify(data, tag, key, nonce = null) {
|
|
|
323
475
|
const expectedTag = aegis128LMac(data, key, nonce, tagLen);
|
|
324
476
|
return constantTimeEqual(tag, expectedTag);
|
|
325
477
|
}
|
|
478
|
+
/**
|
|
479
|
+
* Generates a random 16-byte key for AEGIS-128L.
|
|
480
|
+
* @returns 16-byte encryption key
|
|
481
|
+
* @throws Error if no cryptographic random source is available
|
|
482
|
+
*/
|
|
483
|
+
export function aegis128LCreateKey() {
|
|
484
|
+
return randomBytes(AEGIS_128L_KEY_SIZE);
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Generates a random 16-byte nonce for AEGIS-128L.
|
|
488
|
+
* @returns 16-byte nonce
|
|
489
|
+
* @throws Error if no cryptographic random source is available
|
|
490
|
+
*/
|
|
491
|
+
export function aegis128LCreateNonce() {
|
|
492
|
+
return randomBytes(AEGIS_128L_NONCE_SIZE);
|
|
493
|
+
}
|
|
326
494
|
//# sourceMappingURL=aegis128l.js.map
|
package/dist/aegis128l.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis128l.js","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aegis128l.js","sourceRoot":"","sources":["../src/aegis128l.ts"],"names":[],"mappings":"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"}
|
package/dist/aegis128x.d.ts
CHANGED
|
@@ -58,6 +58,16 @@ export declare class Aegis128XState {
|
|
|
58
58
|
* @returns Plaintext block of the same size
|
|
59
59
|
*/
|
|
60
60
|
dec(ci: Uint8Array): Uint8Array;
|
|
61
|
+
/**
|
|
62
|
+
* Encrypts a plaintext block in-place.
|
|
63
|
+
* @param block - Buffer (plaintext in, ciphertext out), size 32*degree bytes
|
|
64
|
+
*/
|
|
65
|
+
encInPlace(block: Uint8Array): void;
|
|
66
|
+
/**
|
|
67
|
+
* Decrypts a ciphertext block in-place.
|
|
68
|
+
* @param block - Buffer (ciphertext in, plaintext out), size 32*degree bytes
|
|
69
|
+
*/
|
|
70
|
+
decInPlace(block: Uint8Array): void;
|
|
61
71
|
/**
|
|
62
72
|
* Decrypts a partial (final) ciphertext block.
|
|
63
73
|
* @param cn - Partial ciphertext block (smaller than 32*degree bytes)
|
|
@@ -82,21 +92,21 @@ export declare class Aegis128XState {
|
|
|
82
92
|
finalizeMac(dataLenBits: bigint, tagLen?: 16 | 32): Uint8Array;
|
|
83
93
|
}
|
|
84
94
|
/**
|
|
85
|
-
* Encrypts a message using AEGIS-128X.
|
|
95
|
+
* Encrypts a message using AEGIS-128X (detached mode).
|
|
86
96
|
* @param msg - Plaintext message
|
|
87
97
|
* @param ad - Associated data (authenticated but not encrypted)
|
|
88
98
|
* @param key - 16-byte encryption key
|
|
89
99
|
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
90
100
|
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
91
101
|
* @param degree - Parallelism degree (default: 2)
|
|
92
|
-
* @returns Object containing ciphertext and authentication tag
|
|
102
|
+
* @returns Object containing ciphertext and authentication tag separately
|
|
93
103
|
*/
|
|
94
|
-
export declare function
|
|
104
|
+
export declare function aegis128XEncryptDetached(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32, degree?: number): {
|
|
95
105
|
ciphertext: Uint8Array;
|
|
96
106
|
tag: Uint8Array;
|
|
97
107
|
};
|
|
98
108
|
/**
|
|
99
|
-
* Decrypts a message using AEGIS-128X.
|
|
109
|
+
* Decrypts a message using AEGIS-128X (detached mode).
|
|
100
110
|
* @param ct - Ciphertext
|
|
101
111
|
* @param tag - Authentication tag (16 or 32 bytes)
|
|
102
112
|
* @param ad - Associated data (must match what was used during encryption)
|
|
@@ -105,21 +115,88 @@ export declare function aegis128XEncrypt(msg: Uint8Array, ad: Uint8Array, key: U
|
|
|
105
115
|
* @param degree - Parallelism degree (default: 2)
|
|
106
116
|
* @returns Decrypted plaintext, or null if authentication fails
|
|
107
117
|
*/
|
|
108
|
-
export declare function
|
|
109
|
-
/**
|
|
110
|
-
|
|
118
|
+
export declare function aegis128XDecryptDetached(ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, degree?: number): Uint8Array | null;
|
|
119
|
+
/**
|
|
120
|
+
* Encrypts a message in-place using AEGIS-128X (detached mode).
|
|
121
|
+
* The input buffer is modified to contain the ciphertext.
|
|
122
|
+
* @param data - Buffer containing plaintext (will be overwritten with ciphertext)
|
|
123
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
124
|
+
* @param key - 16-byte encryption key
|
|
125
|
+
* @param nonce - 16-byte nonce (must be unique per message with the same key)
|
|
126
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
127
|
+
* @param degree - Parallelism degree (default: 2)
|
|
128
|
+
* @returns Authentication tag
|
|
129
|
+
*/
|
|
130
|
+
export declare function aegis128XEncryptDetachedInPlace(data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32, degree?: number): Uint8Array;
|
|
131
|
+
/**
|
|
132
|
+
* Decrypts a message in-place using AEGIS-128X (detached mode).
|
|
133
|
+
* The input buffer is modified to contain the plaintext (or zeroed on failure).
|
|
134
|
+
* @param data - Buffer containing ciphertext (will be overwritten with plaintext)
|
|
135
|
+
* @param tag - Authentication tag (16 or 32 bytes)
|
|
136
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
137
|
+
* @param key - 16-byte encryption key
|
|
138
|
+
* @param nonce - 16-byte nonce (must match what was used during encryption)
|
|
139
|
+
* @param degree - Parallelism degree (default: 2)
|
|
140
|
+
* @returns True if authentication succeeds, false otherwise
|
|
141
|
+
*/
|
|
142
|
+
export declare function aegis128XDecryptDetachedInPlace(data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, degree?: number): boolean;
|
|
143
|
+
/** AEGIS-128X2 in-place encryption - detached mode (degree=2). */
|
|
144
|
+
export declare const aegis128X2EncryptDetachedInPlace: (data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
145
|
+
/** AEGIS-128X2 in-place decryption - detached mode (degree=2). */
|
|
146
|
+
export declare const aegis128X2DecryptDetachedInPlace: (data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => boolean;
|
|
147
|
+
/** AEGIS-128X4 in-place encryption - detached mode (degree=4). */
|
|
148
|
+
export declare const aegis128X4EncryptDetachedInPlace: (data: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
149
|
+
/** AEGIS-128X4 in-place decryption - detached mode (degree=4). */
|
|
150
|
+
export declare const aegis128X4DecryptDetachedInPlace: (data: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => boolean;
|
|
151
|
+
/** Nonce size for AEGIS-128X in bytes. */
|
|
152
|
+
export declare const AEGIS_128X_NONCE_SIZE = 16;
|
|
153
|
+
/** Key size for AEGIS-128X in bytes. */
|
|
154
|
+
export declare const AEGIS_128X_KEY_SIZE = 16;
|
|
155
|
+
/**
|
|
156
|
+
* Encrypts a message using AEGIS-128X.
|
|
157
|
+
* Returns a single buffer containing nonce || ciphertext || tag.
|
|
158
|
+
* @param msg - Plaintext message
|
|
159
|
+
* @param ad - Associated data (authenticated but not encrypted)
|
|
160
|
+
* @param key - 16-byte encryption key
|
|
161
|
+
* @param nonce - 16-byte nonce (optional, generates random nonce if not provided)
|
|
162
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
163
|
+
* @param degree - Parallelism degree (default: 2)
|
|
164
|
+
* @returns Concatenated nonce || ciphertext || tag
|
|
165
|
+
*/
|
|
166
|
+
export declare function aegis128XEncrypt(msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32, degree?: number): Uint8Array;
|
|
167
|
+
/**
|
|
168
|
+
* Decrypts a message using AEGIS-128X.
|
|
169
|
+
* Expects input as nonce || ciphertext || tag.
|
|
170
|
+
* @param sealed - Concatenated nonce || ciphertext || tag
|
|
171
|
+
* @param ad - Associated data (must match what was used during encryption)
|
|
172
|
+
* @param key - 16-byte encryption key
|
|
173
|
+
* @param tagLen - Authentication tag length: 16 or 32 bytes (default: 16)
|
|
174
|
+
* @param degree - Parallelism degree (default: 2)
|
|
175
|
+
* @returns Decrypted plaintext, or null if authentication fails
|
|
176
|
+
*/
|
|
177
|
+
export declare function aegis128XDecrypt(sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32, degree?: number): Uint8Array | null;
|
|
178
|
+
/** AEGIS-128X2 encryption - detached mode (degree=2). */
|
|
179
|
+
export declare const aegis128X2EncryptDetached: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => {
|
|
111
180
|
ciphertext: Uint8Array;
|
|
112
181
|
tag: Uint8Array;
|
|
113
182
|
};
|
|
114
|
-
/** AEGIS-128X2 decryption (degree=2). */
|
|
115
|
-
export declare const
|
|
116
|
-
/** AEGIS-128X4 encryption (degree=4). */
|
|
117
|
-
export declare const
|
|
183
|
+
/** AEGIS-128X2 decryption - detached mode (degree=2). */
|
|
184
|
+
export declare const aegis128X2DecryptDetached: (ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => Uint8Array<ArrayBufferLike> | null;
|
|
185
|
+
/** AEGIS-128X4 encryption - detached mode (degree=4). */
|
|
186
|
+
export declare const aegis128X4EncryptDetached: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array, tagLen?: 16 | 32) => {
|
|
118
187
|
ciphertext: Uint8Array;
|
|
119
188
|
tag: Uint8Array;
|
|
120
189
|
};
|
|
190
|
+
/** AEGIS-128X4 decryption - detached mode (degree=4). */
|
|
191
|
+
export declare const aegis128X4DecryptDetached: (ct: Uint8Array, tag: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce: Uint8Array) => Uint8Array<ArrayBufferLike> | null;
|
|
192
|
+
/** AEGIS-128X2 encryption (degree=2). */
|
|
193
|
+
export declare const aegis128X2Encrypt: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
194
|
+
/** AEGIS-128X2 decryption (degree=2). */
|
|
195
|
+
export declare const aegis128X2Decrypt: (sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike> | null;
|
|
196
|
+
/** AEGIS-128X4 encryption (degree=4). */
|
|
197
|
+
export declare const aegis128X4Encrypt: (msg: Uint8Array, ad: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
121
198
|
/** AEGIS-128X4 decryption (degree=4). */
|
|
122
|
-
export declare const aegis128X4Decrypt: (
|
|
199
|
+
export declare const aegis128X4Decrypt: (sealed: Uint8Array, ad: Uint8Array, key: Uint8Array, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike> | null;
|
|
123
200
|
/**
|
|
124
201
|
* Computes a MAC (Message Authentication Code) using AEGIS-128X.
|
|
125
202
|
* @param data - Data to authenticate
|
|
@@ -148,4 +225,24 @@ export declare const aegis128X2MacVerify: (data: Uint8Array, tag: Uint8Array, ke
|
|
|
148
225
|
export declare const aegis128X4Mac: (data: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null, tagLen?: 16 | 32) => Uint8Array<ArrayBufferLike>;
|
|
149
226
|
/** AEGIS-128X4 MAC verification (degree=4). */
|
|
150
227
|
export declare const aegis128X4MacVerify: (data: Uint8Array, tag: Uint8Array, key: Uint8Array, nonce?: Uint8Array | null) => boolean;
|
|
228
|
+
/**
|
|
229
|
+
* Generates a random 16-byte key for AEGIS-128X.
|
|
230
|
+
* @returns 16-byte encryption key
|
|
231
|
+
* @throws Error if no cryptographic random source is available
|
|
232
|
+
*/
|
|
233
|
+
export declare function aegis128XCreateKey(): Uint8Array;
|
|
234
|
+
/**
|
|
235
|
+
* Generates a random 16-byte nonce for AEGIS-128X.
|
|
236
|
+
* @returns 16-byte nonce
|
|
237
|
+
* @throws Error if no cryptographic random source is available
|
|
238
|
+
*/
|
|
239
|
+
export declare function aegis128XCreateNonce(): Uint8Array;
|
|
240
|
+
/** AEGIS-128X2 key generation (degree=2). */
|
|
241
|
+
export declare const aegis128X2CreateKey: typeof aegis128XCreateKey;
|
|
242
|
+
/** AEGIS-128X2 nonce generation (degree=2). */
|
|
243
|
+
export declare const aegis128X2CreateNonce: typeof aegis128XCreateNonce;
|
|
244
|
+
/** AEGIS-128X4 key generation (degree=4). */
|
|
245
|
+
export declare const aegis128X4CreateKey: typeof aegis128XCreateKey;
|
|
246
|
+
/** AEGIS-128X4 nonce generation (degree=4). */
|
|
247
|
+
export declare const aegis128X4CreateNonce: typeof aegis128XCreateNonce;
|
|
151
248
|
//# sourceMappingURL=aegis128x.d.ts.map
|
package/dist/aegis128x.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aegis128x.d.ts","sourceRoot":"","sources":["../src/aegis128x.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aegis128x.d.ts","sourceRoot":"","sources":["../src/aegis128x.ts"],"names":[],"mappings":"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"}
|