salty-crypto 0.3.0 → 0.3.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/lib/aead/chacha20poly1305.d.ts +2 -0
- package/lib/aead/chacha20poly1305.js +53 -0
- package/lib/aead/chacha20poly1305.js.map +1 -0
- package/lib/aead.d.ts +16 -0
- package/lib/aead.js +18 -0
- package/lib/aead.js.map +1 -0
- package/lib/bytes.d.ts +4 -0
- package/lib/bytes.js +27 -0
- package/lib/bytes.js.map +1 -0
- package/lib/cipher/chacha20.d.ts +4 -0
- package/lib/cipher/chacha20.js +84 -0
- package/lib/cipher/chacha20.js.map +1 -0
- package/lib/cipher.d.ts +9 -0
- package/lib/cipher.js +4 -0
- package/lib/cipher.js.map +1 -0
- package/lib/dh/x25519.d.ts +10 -0
- package/lib/dh/x25519.js +624 -0
- package/lib/dh/x25519.js.map +1 -0
- package/lib/dh.d.ts +11 -0
- package/lib/dh.js +17 -0
- package/lib/dh.js.map +1 -0
- package/lib/hash/blake2s.d.ts +18 -0
- package/lib/hash/blake2s.js +120 -0
- package/lib/hash/blake2s.js.map +1 -0
- package/lib/hash/poly1305.d.ts +18 -0
- package/lib/hash/poly1305.js +376 -0
- package/lib/hash/poly1305.js.map +1 -0
- package/lib/hash.d.ts +14 -0
- package/lib/hash.js +5 -0
- package/lib/hash.js.map +1 -0
- package/lib/hkdf.d.ts +6 -0
- package/lib/hkdf.js +17 -0
- package/lib/hkdf.js.map +1 -0
- package/lib/hmac.d.ts +6 -0
- package/lib/hmac.js +17 -0
- package/lib/hmac.js.map +1 -0
- package/lib/index.d.ts +45 -0
- package/lib/index.js +48 -0
- package/lib/index.js.map +1 -0
- package/lib/io.d.ts +4 -0
- package/lib/io.js +35 -0
- package/lib/io.js.map +1 -0
- package/lib/noise/algorithms.d.ts +15 -0
- package/lib/noise/algorithms.js +10 -0
- package/lib/noise/algorithms.js.map +1 -0
- package/lib/noise/cipherstate.d.ts +14 -0
- package/lib/noise/cipherstate.js +62 -0
- package/lib/noise/cipherstate.js.map +1 -0
- package/lib/noise/handshake.d.ts +52 -0
- package/lib/noise/handshake.js +191 -0
- package/lib/noise/handshake.js.map +1 -0
- package/lib/noise/patterns.d.ts +16 -0
- package/lib/noise/patterns.js +73 -0
- package/lib/noise/patterns.js.map +1 -0
- package/lib/noise/profiles.d.ts +2 -0
- package/lib/noise/profiles.js +11 -0
- package/lib/noise/profiles.js.map +1 -0
- package/lib/noise/rekey.d.ts +3 -0
- package/lib/noise/rekey.js +9 -0
- package/lib/noise/rekey.js.map +1 -0
- package/lib/noise.d.ts +6 -0
- package/lib/noise.js +8 -0
- package/lib/noise.js.map +1 -0
- package/lib/nonce.d.ts +9 -0
- package/lib/nonce.js +25 -0
- package/lib/nonce.js.map +1 -0
- package/lib/random.d.ts +2 -0
- package/lib/random.js +35 -0
- package/lib/random.js.map +1 -0
- package/package.json +12 -2
- package/speed.ts +0 -22
- package/test-vectors/noise-c-basic.txt +0 -19684
- package/test-vectors/snow.txt +0 -10348
- package/watchall +0 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/noise/patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// SPDX-License-Identifier: MIT
|
|
2
|
+
/// SPDX-FileCopyrightText: Copyright © 2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
3
|
+
import { BLAKE2s } from '../hash';
|
|
4
|
+
import { ChaCha20Poly1305_RFC8439 } from '../aead';
|
|
5
|
+
import { X25519 } from '../dh';
|
|
6
|
+
export const Noise_25519_ChaChaPoly_BLAKE2s = {
|
|
7
|
+
dh: X25519,
|
|
8
|
+
aead: ChaCha20Poly1305_RFC8439,
|
|
9
|
+
hash: BLAKE2s,
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/noise/profiles.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2FAA2F;AAG3F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,CAAC,MAAM,8BAA8B,GAAe;IACtD,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,OAAO;CAChB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// SPDX-License-Identifier: MIT
|
|
2
|
+
/// SPDX-FileCopyrightText: Copyright © 2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
3
|
+
import { Nonce } from '../nonce';
|
|
4
|
+
export function makeRekey(aead) {
|
|
5
|
+
return (k) => {
|
|
6
|
+
return new DataView(aead.encrypt(new Uint8Array(32), k, Nonce.MAX).buffer);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=rekey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rekey.js","sourceRoot":"","sources":["../../src/noise/rekey.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2FAA2F;AAG3F,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,MAAM,UAAU,SAAS,CAAC,IAAU;IAChC,OAAO,CAAC,CAAW,EAAY,EAAE;QAC7B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC,CAAC;AACN,CAAC"}
|
package/lib/noise.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Algorithms, matchPattern } from './noise/algorithms';
|
|
2
|
+
export { CipherState } from './noise/cipherstate';
|
|
3
|
+
export { Role, HandshakeOptions, TransportState, Handshake } from './noise/handshake';
|
|
4
|
+
export { HandshakePattern, KeyMixToken, KeyTransferToken, PATTERNS, PreMessage, Token, isOneWay, lookupPattern, } from './noise/patterns';
|
|
5
|
+
export { Noise_25519_ChaChaPoly_BLAKE2s } from './noise/profiles';
|
|
6
|
+
export { Rekey } from './noise/rekey';
|
package/lib/noise.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// SPDX-License-Identifier: MIT
|
|
2
|
+
/// SPDX-FileCopyrightText: Copyright © 2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
3
|
+
export { matchPattern } from './noise/algorithms';
|
|
4
|
+
export { CipherState } from './noise/cipherstate';
|
|
5
|
+
export { Handshake } from './noise/handshake';
|
|
6
|
+
export { PATTERNS, isOneWay, lookupPattern, } from './noise/patterns';
|
|
7
|
+
export { Noise_25519_ChaChaPoly_BLAKE2s } from './noise/profiles';
|
|
8
|
+
//# sourceMappingURL=noise.js.map
|
package/lib/noise.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noise.js","sourceRoot":"","sources":["../src/noise.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2FAA2F;AAE3F,OAAO,EAAc,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAA0C,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAIH,QAAQ,EAGR,QAAQ,EACR,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC"}
|
package/lib/nonce.d.ts
ADDED
package/lib/nonce.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// SPDX-License-Identifier: MIT
|
|
2
|
+
/// SPDX-FileCopyrightText: Copyright © 2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
3
|
+
export class Nonce {
|
|
4
|
+
constructor(lo = 0, hi = 0, extra = 0) {
|
|
5
|
+
this.lo = lo;
|
|
6
|
+
this.hi = hi;
|
|
7
|
+
this.extra = extra;
|
|
8
|
+
}
|
|
9
|
+
increment() {
|
|
10
|
+
const oldLo = this.lo;
|
|
11
|
+
const newLo = (oldLo + 1) | 0;
|
|
12
|
+
this.lo = newLo;
|
|
13
|
+
if (newLo < oldLo)
|
|
14
|
+
this.hi = (this.hi + 1) | 0;
|
|
15
|
+
}
|
|
16
|
+
reset(lo = 0, hi = 0, extra = 0) {
|
|
17
|
+
this.lo = lo;
|
|
18
|
+
this.hi = hi;
|
|
19
|
+
this.extra = extra;
|
|
20
|
+
}
|
|
21
|
+
static get MAX() {
|
|
22
|
+
return new Nonce(0xffffffff, 0xffffffff);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=nonce.js.map
|
package/lib/nonce.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["../src/nonce.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2FAA2F;AAE3F,MAAM,OAAO,KAAK;IACd,YAAmB,KAAK,CAAC,EAAS,KAAK,CAAC,EAAS,QAAQ,CAAC;QAAvC,OAAE,GAAF,EAAE,CAAI;QAAS,OAAE,GAAF,EAAE,CAAI;QAAS,UAAK,GAAL,KAAK,CAAI;IAAG,CAAC;IAE9D,SAAS;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,KAAK,GAAG,KAAK;YAAE,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG;QACV,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;CACJ"}
|
package/lib/random.d.ts
ADDED
package/lib/random.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// SPDX-License-Identifier: MIT
|
|
2
|
+
/// SPDX-FileCopyrightText: Copyright © 2023 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
3
|
+
// TypeScript port of the randomness-generation code from nacl-fast.js from tweetnacl.
|
|
4
|
+
//
|
|
5
|
+
// The comment in that file reads as follows:
|
|
6
|
+
//
|
|
7
|
+
// // Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.
|
|
8
|
+
// // Public domain.
|
|
9
|
+
// //
|
|
10
|
+
// // Implementation derived from TweetNaCl version 20140427.
|
|
11
|
+
// // See for details: http://tweetnacl.cr.yp.to/
|
|
12
|
+
export const _randomBytes = (() => {
|
|
13
|
+
var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null;
|
|
14
|
+
if (crypto && crypto.getRandomValues) {
|
|
15
|
+
const QUOTA = 65536;
|
|
16
|
+
return (x, n) => {
|
|
17
|
+
for (let i = 0; i < n; i += QUOTA) {
|
|
18
|
+
crypto.getRandomValues(x.subarray(i, i + Math.min(n - i, QUOTA)));
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else if (typeof require !== 'undefined') {
|
|
23
|
+
crypto = require('crypto');
|
|
24
|
+
if (crypto && crypto.randomBytes) {
|
|
25
|
+
return (x, n) => x.set(crypto.randomBytes(n));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
throw new Error("No usable randomness source found");
|
|
29
|
+
})();
|
|
30
|
+
export function randomBytes(n) {
|
|
31
|
+
const bs = new Uint8Array(n);
|
|
32
|
+
_randomBytes(bs, n);
|
|
33
|
+
return bs;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../src/random.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2FAA2F;AAE3F,sFAAsF;AACtF,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,0DAA0D;AAC1D,oBAAoB;AACpB,KAAK;AACL,6DAA6D;AAC7D,iDAAiD;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAyC,CAAC,GAAG,EAAE;IACpE,IAAI,MAAM,GAAQ,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAK,IAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC;QACpB,OAAO,CAAC,CAAa,EAAE,CAAS,EAAE,EAAE;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;gBAC/B,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;aACrE;QACL,CAAC,CAAC;KACL;SAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QACvC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE;YAC9B,OAAO,CAAC,CAAa,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE;KACJ;IACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACzD,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,UAAU,WAAW,CAAC,CAAS;IACjC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "salty-crypto",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Noise Protocol Framework, plus X25519/ChaCha20Poly1305/BLAKE2s code, for browser and node.js",
|
|
5
5
|
"author": "Tony Garnock-Jones <tonyg@leastfixedpoint.com>",
|
|
6
6
|
"homepage": "https://github.com/tonyg/typescript-salty-crypto",
|
|
@@ -41,5 +41,15 @@
|
|
|
41
41
|
"rollup-plugin-dts": "^5.1.1",
|
|
42
42
|
"typescript": "4.9"
|
|
43
43
|
},
|
|
44
|
-
"dependencies": {}
|
|
44
|
+
"dependencies": {},
|
|
45
|
+
"files": [
|
|
46
|
+
"bin",
|
|
47
|
+
"browser-demo.html",
|
|
48
|
+
"dist",
|
|
49
|
+
"lib",
|
|
50
|
+
"rollup.config.js",
|
|
51
|
+
"src",
|
|
52
|
+
"test",
|
|
53
|
+
"tsconfig.json"
|
|
54
|
+
]
|
|
45
55
|
}
|
package/speed.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { scalarMult } from './x25519';
|
|
2
|
-
import { randomBytes } from './random';
|
|
3
|
-
|
|
4
|
-
const N = 1000;
|
|
5
|
-
const start = +new Date();
|
|
6
|
-
|
|
7
|
-
let sum = 0;
|
|
8
|
-
for (let i = 0; i < N; i++) {
|
|
9
|
-
const sk = randomBytes(32);
|
|
10
|
-
const pk = randomBytes(32);
|
|
11
|
-
const dh = scalarMult(sk, pk);
|
|
12
|
-
sum += dh[0];
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const stop = +new Date();
|
|
16
|
-
const delta = (stop - start) / 1000.0;
|
|
17
|
-
|
|
18
|
-
console.log({
|
|
19
|
-
sum,
|
|
20
|
-
delta,
|
|
21
|
-
rate: N / delta,
|
|
22
|
-
});
|