@bsv/sdk 1.9.30 → 1.10.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/dist/cjs/package.json +3 -2
- package/dist/cjs/src/auth/Peer.js +68 -48
- package/dist/cjs/src/auth/Peer.js.map +1 -1
- package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
- package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/cjs/src/primitives/AESGCM.js +72 -27
- package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
- package/dist/cjs/src/primitives/BigNumber.js +28 -54
- package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
- package/dist/cjs/src/primitives/ECDSA.js +36 -1
- package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
- package/dist/cjs/src/primitives/PrivateKey.js +27 -0
- package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
- package/dist/cjs/src/primitives/ReductionContext.js +35 -46
- package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/auth/Peer.js +68 -48
- package/dist/esm/src/auth/Peer.js.map +1 -1
- package/dist/esm/src/messages/EncryptedMessage.js +19 -0
- package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
- package/dist/esm/src/primitives/AESGCM.js +71 -26
- package/dist/esm/src/primitives/AESGCM.js.map +1 -1
- package/dist/esm/src/primitives/BigNumber.js +28 -54
- package/dist/esm/src/primitives/BigNumber.js.map +1 -1
- package/dist/esm/src/primitives/ECDSA.js +36 -1
- package/dist/esm/src/primitives/ECDSA.js.map +1 -1
- package/dist/esm/src/primitives/PrivateKey.js +27 -0
- package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
- package/dist/esm/src/primitives/ReductionContext.js +35 -46
- package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/auth/Peer.d.ts.map +1 -1
- package/dist/types/src/auth/types.d.ts +2 -0
- package/dist/types/src/auth/types.d.ts.map +1 -1
- package/dist/types/src/messages/EncryptedMessage.d.ts +19 -0
- package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
- package/dist/types/src/primitives/AESGCM.d.ts +18 -0
- package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
- package/dist/types/src/primitives/BigNumber.d.ts +8 -0
- package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
- package/dist/types/src/primitives/ECDSA.d.ts +24 -0
- package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
- package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
- package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
- package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
- package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/dist/umd/bundle.js.map +1 -1
- package/docs/index.md +15 -1
- package/docs/reference/auth.md +2 -0
- package/docs/reference/primitives.md +91 -31
- package/package.json +3 -2
- package/src/auth/Peer.ts +122 -57
- package/src/auth/__tests/Peer.test.ts +166 -257
- package/src/auth/types.ts +2 -0
- package/src/messages/EncryptedMessage.ts +19 -0
- package/src/primitives/AESGCM.ts +75 -34
- package/src/primitives/BigNumber.ts +27 -31
- package/src/primitives/ECDSA.ts +41 -2
- package/src/primitives/PrivateKey.ts +27 -0
- package/src/primitives/ReductionContext.ts +44 -48
- package/src/primitives/__tests/AESGCM.test.ts +31 -0
- package/src/primitives/__tests/ECDSA.test.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOpD,OAAO,EAEL,WAAW,EACX,uBAAuB,EACvB,SAAS,EACV,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAG/E,OAAO,EAAE,uCAAuC,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAMzG;;;;;;GAMG;AACH,qBAAa,IAAI;IACR,cAAc,EAAE,cAAc,CAAA;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,qBAAqB,EAAE,uBAAuB,CAAA;IAC9C,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAGrC;IAEb,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAGnC;IAEb,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAMzC;IAEb,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAGtC;IAGb,OAAO,CAAC,iBAAiB,CAAY;IAGrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IAGvD,OAAO,CAAC,sBAAsB,CAAoB;IAElD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAyC;IACrE,OAAO,CAAC,iBAAiB,CAAC,CAAQ;IAElC;;;;;;;;OAQG;gBAED,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,SAAS,EACpB,qBAAqB,CAAC,EAAE,uBAAuB,EAC/C,cAAc,CAAC,EAAE,cAAc,EAC/B,sBAAsB,CAAC,EAAE,OAAO,EAChC,UAAU,CAAC,EAAE,uCAAuC;IAqBtD;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../../src/auth/Peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAE/E,MAAM,WAAW,sCAAsC;IACrD,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACtC;AAGD,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,sCAAsC,CAAA;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EACT,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,SAAS,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACtC,qBAAqB,CAAC,EAAE,uBAAuB,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7E;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAE/E,MAAM,WAAW,sCAAsC;IACrD,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACtC;AAGD,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,sCAAsC,CAAA;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EACT,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,SAAS,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACtC,qBAAqB,CAAC,EAAE,uBAAuB,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7E;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC"}
|
|
@@ -8,6 +8,25 @@ import PrivateKey from '../primitives/PrivateKey.js';
|
|
|
8
8
|
*
|
|
9
9
|
* @returns The encrypted message
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* SECURITY NOTE – NON-AUTHENTICATED KEY EXCHANGE
|
|
13
|
+
*
|
|
14
|
+
* This encrypted message protocol does NOT implement a formally authenticated
|
|
15
|
+
* key exchange (AKE). Session keys are deterministically derived from long-term
|
|
16
|
+
* identity keys and a sender-chosen invoice value.
|
|
17
|
+
*
|
|
18
|
+
* As a result, this protocol does NOT provide:
|
|
19
|
+
* - Forward secrecy
|
|
20
|
+
* - Replay protection
|
|
21
|
+
* - Explicit authentication of peer identity
|
|
22
|
+
*
|
|
23
|
+
* This scheme SHOULD NOT be used for high-value, long-lived, or sensitive
|
|
24
|
+
* communications. It is intended for lightweight messaging where both parties
|
|
25
|
+
* already possess each other's long-term public keys and accept these risks.
|
|
26
|
+
*
|
|
27
|
+
* Future versions may introduce a protocol upgrade based on a standard AKE
|
|
28
|
+
* (e.g. X3DH, Noise, or SIGMA).
|
|
29
|
+
*/
|
|
11
30
|
export declare const encrypt: (message: number[], sender: PrivateKey, recipient: PublicKey) => number[];
|
|
12
31
|
/**
|
|
13
32
|
* Decrypts a message from one party to another using the BRC-78 message encryption protocol.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedMessage.d.ts","sourceRoot":"","sources":["../../../../src/messages/EncryptedMessage.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,UAAU,MAAM,6BAA6B,CAAA;AAOpD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAClB,SAAS,MAAM,EAAE,EACjB,QAAQ,UAAU,EAClB,WAAW,SAAS,KACnB,MAAM,EAkBR,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,EAAE,WAAW,UAAU,KAAG,MAAM,EA0BxE,CAAA"}
|
|
1
|
+
{"version":3,"file":"EncryptedMessage.d.ts","sourceRoot":"","sources":["../../../../src/messages/EncryptedMessage.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,UAAU,MAAM,6BAA6B,CAAA;AAOpD;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO,GAClB,SAAS,MAAM,EAAE,EACjB,QAAQ,UAAU,EAClB,WAAW,SAAS,KACnB,MAAM,EAkBR,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,EAAE,WAAW,UAAU,KAAG,MAAM,EA0BxE,CAAA"}
|
|
@@ -5,6 +5,24 @@ export declare const getBytes64: (numericValue: number) => number[];
|
|
|
5
5
|
type Bytes = Uint8Array;
|
|
6
6
|
export declare const exclusiveOR: (block0: Bytes, block1: Bytes) => Bytes;
|
|
7
7
|
export declare const rightShift: (block: Bytes) => Bytes;
|
|
8
|
+
/**
|
|
9
|
+
* SECURITY NOTE – TIMING SIDE-CHANNEL MITIGATION
|
|
10
|
+
*
|
|
11
|
+
* This GHASH multiplication implementation avoids data-dependent conditional
|
|
12
|
+
* branches by using mask-based operations instead. This reduces timing
|
|
13
|
+
* side-channel leakage compared to a naive implementation that branches on
|
|
14
|
+
* secret bits.
|
|
15
|
+
*
|
|
16
|
+
* IMPORTANT: JavaScript and TypedArray operations do NOT provide constant-time
|
|
17
|
+
* execution guarantees. While this implementation mitigates obvious control-
|
|
18
|
+
* flow timing leaks, it must not be considered constant-time in a strict
|
|
19
|
+
* cryptographic sense and is not suitable for hostile shared-CPU or
|
|
20
|
+
* multi-tenant environments.
|
|
21
|
+
*
|
|
22
|
+
* Applications requiring strict constant-time AES-GCM SHOULD use a dedicated,
|
|
23
|
+
* audited cryptographic library (e.g. noble-ciphers, WebCrypto, or BearSSL
|
|
24
|
+
* bindings).
|
|
25
|
+
*/
|
|
8
26
|
export declare const multiply: (block0: Bytes, block1: Bytes) => Bytes;
|
|
9
27
|
export declare const incrementLeastSignificantThirtyTwoBits: (block: Bytes) => Bytes;
|
|
10
28
|
export declare function ghash(input: Bytes, hashSubKey: Bytes): Bytes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AESGCM.d.ts","sourceRoot":"","sources":["../../../../src/primitives/AESGCM.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AESGCM.d.ts","sourceRoot":"","sources":["../../../../src/primitives/AESGCM.ts"],"names":[],"mappings":"AAoKA,wBAAgB,GAAG,CAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAgD7D;AAED,eAAO,MAAM,QAAQ,GACnB,WAAW,MAAM,EAAE,EACnB,WAAW,MAAM,EACjB,UAAU,MAAM,KACf,CAAC,GAAG,CAEN,CAAA;AAED,eAAO,MAAM,QAAQ,GAAa,cAAc,MAAM,KAAG,MAAM,EAO9D,CAAA;AAED,eAAO,MAAM,UAAU,GAAa,cAAc,MAAM,KAAG,MAAM,EAkBhE,CAAA;AAED,KAAK,KAAK,GAAG,UAAU,CAAA;AA2BvB,eAAO,MAAM,WAAW,GAAa,QAAQ,KAAK,EAAE,QAAQ,KAAK,KAAG,KAOnE,CAAA;AAED,eAAO,MAAM,UAAU,GAAa,OAAO,KAAK,KAAG,KAelD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,GAAa,QAAQ,KAAK,EAAE,QAAQ,KAAK,KAAG,KAyBhE,CAAA;AAED,eAAO,MAAM,sCAAsC,GACjD,OAAO,KAAK,KACX,KASF,CAAA;AAED,wBAAgB,KAAK,CAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,KAAK,CAa7D;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,MAAM,CACpB,SAAS,EAAE,KAAK,EAChB,oBAAoB,EAAE,KAAK,EAC3B,GAAG,EAAE,KAAK,GACT;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,iBAAiB,EAAE,KAAK,CAAA;CAAE,CAiD7C;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,KAAK,EACjB,oBAAoB,EAAE,KAAK,EAC3B,iBAAiB,EAAE,KAAK,EACxB,GAAG,EAAE,KAAK,GACT,KAAK,GAAG,IAAI,CAoEd"}
|
|
@@ -423,6 +423,14 @@ export default class BigNumber {
|
|
|
423
423
|
* @param p - The `BigNumber` specifying the modulus field.
|
|
424
424
|
* @returns The multiplicative inverse `BigNumber` in the modulus field specified by `p`.
|
|
425
425
|
*/
|
|
426
|
+
/**
|
|
427
|
+
* SECURITY NOTE:
|
|
428
|
+
* This implementation avoids variable-time extended Euclidean algorithms
|
|
429
|
+
* to reduce timing side-channel leakage. However, JavaScript BigInt arithmetic
|
|
430
|
+
* does not provide constant-time guarantees. This implementation is suitable
|
|
431
|
+
* for browser and single-tenant environments but is not hardened against
|
|
432
|
+
* high-resolution timing attacks in shared CPU contexts.
|
|
433
|
+
*/
|
|
426
434
|
_invmp(p: BigNumber): BigNumber;
|
|
427
435
|
/**
|
|
428
436
|
* Performs multiplication between the BigNumber instance and a given BigNumber.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigNumber.d.ts","sourceRoot":"","sources":["../../../../src/primitives/BigNumber.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BigNumber.d.ts","sourceRoot":"","sources":["../../../../src/primitives/BigNumber.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,21 @@ import Point from './Point.js';
|
|
|
16
16
|
* const key = new BigNumber('123456')
|
|
17
17
|
* const signature = sign(msg, key)
|
|
18
18
|
*/
|
|
19
|
+
/**
|
|
20
|
+
* SECURITY NOTE:
|
|
21
|
+
*
|
|
22
|
+
* This function implements ECDSA signing and expects `msg` to be the output of
|
|
23
|
+
* a cryptographic hash function (e.g. SHA-256), not an arbitrary-length message.
|
|
24
|
+
*
|
|
25
|
+
* Per FIPS 186-4 / SEC 1, the message representative used by ECDSA must not
|
|
26
|
+
* exceed the bit length of the curve order `n`. Inputs larger than `n` must be
|
|
27
|
+
* hashed before signing.
|
|
28
|
+
*
|
|
29
|
+
* As a short-term mitigation for TOB-22, this implementation explicitly rejects
|
|
30
|
+
* messages whose bit length exceeds that of the curve order.
|
|
31
|
+
*
|
|
32
|
+
* Long-term, callers SHOULD always hash messages before invoking `sign()`.
|
|
33
|
+
*/
|
|
19
34
|
export declare const sign: (msg: BigNumber, key: BigNumber, forceLowS?: boolean, customK?: BigNumber | ((iter: number) => BigNumber)) => Signature;
|
|
20
35
|
/**
|
|
21
36
|
* Verifies a digital signature of a given message.
|
|
@@ -35,5 +50,14 @@ export declare const sign: (msg: BigNumber, key: BigNumber, forceLowS?: boolean,
|
|
|
35
50
|
* const signature = sign(msg, new BigNumber('123456'))
|
|
36
51
|
* const isVerified = verify(msg, sig, key)
|
|
37
52
|
*/
|
|
53
|
+
/**
|
|
54
|
+
* SECURITY NOTE:
|
|
55
|
+
*
|
|
56
|
+
* This verification routine assumes that `msg` is a hashed message
|
|
57
|
+
* representative produced using the same hash function used during signing.
|
|
58
|
+
*
|
|
59
|
+
* As part of TOB-22 short-term hardening, messages exceeding the curve order
|
|
60
|
+
* bit length are rejected to prevent misuse with non-hashed inputs.
|
|
61
|
+
*/
|
|
38
62
|
export declare const verify: (msg: BigNumber, sig: Signature, key: Point) => boolean;
|
|
39
63
|
//# sourceMappingURL=ECDSA.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECDSA.d.ts","sourceRoot":"","sources":["../../../../src/primitives/ECDSA.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAyH,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ECDSA.d.ts","sourceRoot":"","sources":["../../../../src/primitives/ECDSA.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,KAAyH,MAAM,YAAY,CAAA;AAsDlJ;;;;;;;;;;;;;;GAcG;AACH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,YAAW,OAAe,EAC1B,UAAU,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,KAClD,SA6EF,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,KAAG,OAkDnE,CAAA"}
|
|
@@ -220,6 +220,33 @@ export default class PrivateKey extends BigNumber {
|
|
|
220
220
|
* const sharedSecret = privateKey.deriveSharedSecret(publicKey);
|
|
221
221
|
*/
|
|
222
222
|
deriveSharedSecret(key: PublicKey): Point;
|
|
223
|
+
/**
|
|
224
|
+
* SECURITY NOTE – DETERMINISTIC CHILD KEY DERIVATION
|
|
225
|
+
*
|
|
226
|
+
* This method derives child private keys deterministically from the caller’s
|
|
227
|
+
* long-term private key, the counterparty’s public key, and a caller-supplied
|
|
228
|
+
* invoice number using HMAC over an ECDH shared secret (BRC-42 style derivation).
|
|
229
|
+
*
|
|
230
|
+
* This construction does NOT implement a formally authenticated key exchange
|
|
231
|
+
* (AKE) and does NOT provide the following security properties:
|
|
232
|
+
*
|
|
233
|
+
* - Forward secrecy: Compromise of a long-term private key compromises all
|
|
234
|
+
* past and future child keys derived from it.
|
|
235
|
+
* - Replay protection: Child keys are deterministic for a given invoice
|
|
236
|
+
* number and key pair; previously observed messages can be replayed.
|
|
237
|
+
* - Explicit authentication / identity binding: Possession of a public key
|
|
238
|
+
* alone does not guarantee the intended peer identity, enabling potential
|
|
239
|
+
* identity misbinding attacks if higher-level identity verification is absent.
|
|
240
|
+
*
|
|
241
|
+
* This derivation is intended for lightweight, deterministic key hierarchies
|
|
242
|
+
* where both parties already possess and trust each other’s long-term public
|
|
243
|
+
* keys. It SHOULD NOT be used as a drop-in replacement for a standard
|
|
244
|
+
* authenticated key exchange (e.g. X3DH, Noise, or SIGMA) in high-security or
|
|
245
|
+
* high-value contexts.
|
|
246
|
+
*
|
|
247
|
+
* Any future protocol providing forward secrecy, replay protection, or strong
|
|
248
|
+
* peer authentication will require a versioned, breaking change.
|
|
249
|
+
*/
|
|
223
250
|
/**
|
|
224
251
|
* Derives a child key with BRC-42.
|
|
225
252
|
* @param publicKey The public key of the other party
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../../src/primitives/PrivateKey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../../src/primitives/PrivateKey.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import BigNumber from './BigNumber.js';
|
|
2
2
|
import Mersenne from './Mersenne.js';
|
|
3
|
+
/**
|
|
4
|
+
* SECURITY NOTE:
|
|
5
|
+
* This reduction context avoids obvious variable-time constructs (such as
|
|
6
|
+
* sliding-window exponentiation and conditional modular reduction) to reduce
|
|
7
|
+
* timing side-channel leakage. However, JavaScript BigInt arithmetic does not
|
|
8
|
+
* provide constant-time guarantees. These mitigations improve resistance to
|
|
9
|
+
* coarse timing attacks but do not make the implementation suitable for
|
|
10
|
+
* hostile multi-tenant or shared-CPU environments.
|
|
11
|
+
*/
|
|
3
12
|
/**
|
|
4
13
|
* A base reduction engine that provides several arithmetic operations over
|
|
5
14
|
* big numbers under a modulus context. It's particularly suitable for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReductionContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/ReductionContext.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC,EAAE,SAAS,CAAA;IAEZ;;;;;;;;;OASG;gBACU,CAAC,EAAE,SAAS,GAAG,MAAM;IAYlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM;IAId;;;;;;;;;;OAUG;IACH,OAAO,CAAE,CAAC,EAAE,SAAS,GAAG,IAAI;IAK5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAO9B;;;;;;;;;;;;OAYG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAQ7B;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"ReductionContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/ReductionContext.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC;;;;;;;;GAQG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC,EAAE,SAAS,CAAA;IAEZ;;;;;;;;;OASG;gBACU,CAAC,EAAE,SAAS,GAAG,MAAM;IAYlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM;IAId;;;;;;;;;;OAUG;IACH,OAAO,CAAE,CAAC,EAAE,SAAS,GAAG,IAAI;IAK5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAO9B;;;;;;;;;;;;OAYG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAQ7B;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAoB3C;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAa5C;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAU3C;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAU5C;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS;IAK1C;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAK5C;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAK3C;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAI9B;;;;;;;;;;;;OAYG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAI7B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IA0D9B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAE,CAAC,EAAE,SAAS,GAAG,SAAS;IAU9B;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS;IAsB7C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAE,GAAG,EAAE,SAAS,GAAG,SAAS;IAMrC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAE,GAAG,EAAE,SAAS,GAAG,SAAS;CAKxC"}
|