@bradthomasbrown/keccak 1.0.0 → 1.0.2
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keccak256.d.ts","sourceRoot":"","sources":["../../src/concrete/keccak256.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS,+BAA+B,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/keccak.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ declare function keccak_c(c: number): (N: Uint8Array, d: number, b: number) => U
|
|
|
44
44
|
* @param {b} b - The length of the pre-sponge bit string that will pad input data.
|
|
45
45
|
* @returns {(M:Uint8Array) => Uint8Array} A function which will permute input data and return output data.
|
|
46
46
|
*/
|
|
47
|
-
declare function sha_3(k: (c: number) => (N: Uint8Array, D: number, b: number) => Uint8Array, c: number, n: number, b: number): (M: Uint8Array) => Uint8Array;
|
|
47
|
+
declare function sha_3(k: (c: number) => (N: Uint8Array, D: number, b: number) => Uint8Array, c: number, n: null | number, b: number): (M: Uint8Array) => Uint8Array;
|
|
48
48
|
/**
|
|
49
49
|
* A higher order function which applies pre-sponge padding to data, then applies a keccak-c sponge function, then returns variable length output data.
|
|
50
50
|
* @param {(c:number)=>(N:Uint8Array, D:number, b:number)=>Uint8Array} k - A higher order keccak-c sponge function generator.
|
package/dist/keccak.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keccak.d.ts","sourceRoot":"","sources":["../src/keccak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAC;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,UAAU,CAAC,eAAe,CAAC,CAAA;CAAE,CAAC,CAkKzG;AAED;;;;;;;;GAQG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAC;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,UAAU,CAAC,eAAe,CAAC,CAAA;CAAE,CAAC,CAE/F;AA+ED;;;;;;GAMG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,KAAK,UAAU,CAE3E;AAED;;;;;;;;GAQG;AACH,iBAAS,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,MAAM,KAAG,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,KAAG,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,EAAC,UAAU,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"keccak.d.ts","sourceRoot":"","sources":["../src/keccak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAC;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,UAAU,CAAC,eAAe,CAAC,CAAA;CAAE,CAAC,CAkKzG;AAED;;;;;;;;GAQG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAC;IAAE,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,UAAU,CAAC,eAAe,CAAC,CAAA;CAAE,CAAC,CAE/F;AA+ED;;;;;;GAMG;AACH,iBAAS,QAAQ,CAAC,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,KAAK,UAAU,CAE3E;AAED;;;;;;;;GAQG;AACH,iBAAS,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,MAAM,KAAG,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,KAAG,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,IAAI,GAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,EAAC,UAAU,KAAK,UAAU,CAS3I;AAED;;;;;;;;;GASG;AACH,iBAAS,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,MAAM,KAAG,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,KAAG,UAAU,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,MAAM,KAAK,UAAU,CASpJ;AAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/keccak.js
CHANGED
|
@@ -202,12 +202,12 @@ function sponge(f, pad, r) {
|
|
|
202
202
|
const D = d >> 3;
|
|
203
203
|
const R = r >> 3;
|
|
204
204
|
f.S.fill(0);
|
|
205
|
-
const _f9_ = Math.ceil((N.byteLength + 1) / R) * R;
|
|
205
|
+
const _f9_ = Math.ceil((N.byteLength + (b == 0 ? 1 : 0)) / R) * R;
|
|
206
206
|
const P = new Uint8Array(_f9_);
|
|
207
207
|
P.set(N);
|
|
208
208
|
if (pad) {
|
|
209
|
-
const _56_ = pad(R, N.byteLength, b);
|
|
210
|
-
for (let i = 0, j = N.byteLength - 1; i < _56_.byteLength; i++, j++)
|
|
209
|
+
const _56_ = pad(R, N.byteLength - (b == 0 ? 0 : 1), b);
|
|
210
|
+
for (let i = 0, j = N.byteLength - (b == 0 ? 0 : 1); i < _56_.byteLength; i++, j++)
|
|
211
211
|
P[j] += _56_[i];
|
|
212
212
|
}
|
|
213
213
|
for (let p of _3d403e_(P, R)) {
|
|
@@ -236,7 +236,7 @@ function sponge(f, pad, r) {
|
|
|
236
236
|
* @returns {Uint8Array} - The padding data to be appended to the message.
|
|
237
237
|
*/
|
|
238
238
|
function padOneZeroStarOne(X, M, b) {
|
|
239
|
-
const _79_ = new Uint8Array(Math.ceil((M + 1) / X) * X - M
|
|
239
|
+
const _79_ = new Uint8Array(Math.ceil((M + 1) / X) * X - M);
|
|
240
240
|
_79_[0] += 1 << b;
|
|
241
241
|
_79_[_79_.byteLength - 1] += 0x80;
|
|
242
242
|
return _79_;
|
|
@@ -263,9 +263,10 @@ function keccak_c(c) {
|
|
|
263
263
|
function sha_3(k, c, n, b) {
|
|
264
264
|
const keccak = k(c);
|
|
265
265
|
return function (M) {
|
|
266
|
-
const _a9_ = new Uint8Array(M.byteLength + 1);
|
|
266
|
+
const _a9_ = new Uint8Array(M.byteLength + (b == 0 ? 0 : 1));
|
|
267
267
|
_a9_.set(M);
|
|
268
|
-
|
|
268
|
+
if (b !== 0)
|
|
269
|
+
_a9_[_a9_.byteLength - 1] = n;
|
|
269
270
|
const d = c >> 1;
|
|
270
271
|
return keccak(_a9_, d, b);
|
|
271
272
|
};
|
|
@@ -283,9 +284,10 @@ function sha_3(k, c, n, b) {
|
|
|
283
284
|
function sha_3_xof(k, c, n, b) {
|
|
284
285
|
const keccak = k(c);
|
|
285
286
|
return function (M, D) {
|
|
286
|
-
const _a9_ = new Uint8Array(M.byteLength + 1);
|
|
287
|
+
const _a9_ = new Uint8Array(M.byteLength + (b == 0 ? 0 : 1));
|
|
287
288
|
_a9_.set(M);
|
|
288
|
-
|
|
289
|
+
if (b != 0)
|
|
290
|
+
_a9_[_a9_.byteLength - 1] = n;
|
|
289
291
|
const d = D << 3;
|
|
290
292
|
return keccak(_a9_, d, b);
|
|
291
293
|
};
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bradthomasbrown/keccak",
|
|
3
3
|
"description": "Minimal, unoptimized, and unaudited keccak and sponge function library in JavaScript/TypeScript.",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.2",
|
|
5
5
|
"author": "Brad Brown <https://t.me/bradthomasbrown>",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/"
|
|
9
9
|
],
|
|
10
10
|
"exports": {
|
|
11
|
-
".": "./dist/keccak.js"
|
|
11
|
+
".": "./dist/keccak.js",
|
|
12
|
+
"./keccak256": "./dist/concrete/keccak256.js"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/bun": "^1.3.5"
|
|
12
16
|
}
|
|
13
17
|
}
|