@bitgo-beta/sdk-lib-mpc 8.2.1-alpha.24 → 8.2.1-alpha.241
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/CHANGELOG.md +592 -0
- package/dist/src/curves/constant.d.ts +2 -0
- package/dist/src/curves/constant.d.ts.map +1 -0
- package/dist/src/curves/constant.js +6 -0
- package/dist/src/curves/{baseCurve.d.ts → ed25519.d.ts} +7 -8
- package/dist/src/curves/ed25519.d.ts.map +1 -0
- package/dist/src/curves/ed25519.js +72 -0
- package/dist/src/curves/ed25519Bip32HdTree.d.ts +10 -0
- package/dist/src/curves/ed25519Bip32HdTree.d.ts.map +1 -0
- package/dist/src/curves/ed25519Bip32HdTree.js +85 -0
- package/dist/src/curves/index.d.ts +6 -1
- package/dist/src/curves/index.d.ts.map +1 -1
- package/dist/src/curves/index.js +12 -3
- package/dist/src/curves/secp256k1.d.ts +1 -2
- package/dist/src/curves/secp256k1.d.ts.map +1 -1
- package/dist/src/curves/secp256k1.js +22 -38
- package/dist/src/curves/secp256k1Bip32HdTree.d.ts +8 -0
- package/dist/src/curves/secp256k1Bip32HdTree.d.ts.map +1 -0
- package/dist/src/curves/secp256k1Bip32HdTree.js +54 -0
- package/dist/src/curves/types.d.ts +35 -0
- package/dist/src/curves/types.d.ts.map +1 -0
- package/dist/src/curves/types.js +3 -0
- package/dist/src/curves/util.d.ts +2 -0
- package/dist/src/curves/util.d.ts.map +1 -0
- package/dist/src/curves/util.js +10 -0
- package/dist/src/hashCommitment.d.ts +0 -1
- package/dist/src/hashCommitment.d.ts.map +1 -1
- package/dist/src/hashCommitment.js +7 -8
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +25 -10
- package/dist/src/openssl/index.js +6 -2
- package/dist/src/openssl/openssl.d.ts +1 -2
- package/dist/src/openssl/openssl.d.ts.map +1 -1
- package/dist/src/openssl/openssl.js +4 -12
- package/dist/src/safePrime.d.ts +3 -0
- package/dist/src/safePrime.d.ts.map +1 -0
- package/dist/src/safePrime.js +19 -0
- package/dist/src/schnorrProof.d.ts +0 -1
- package/dist/src/schnorrProof.d.ts.map +1 -1
- package/dist/src/schnorrProof.js +17 -9
- package/dist/src/shamir/index.d.ts +3 -0
- package/dist/src/shamir/index.d.ts.map +1 -0
- package/dist/src/shamir/index.js +19 -0
- package/dist/src/shamir/shamir.d.ts +38 -0
- package/dist/src/shamir/shamir.d.ts.map +1 -0
- package/dist/src/shamir/shamir.js +136 -0
- package/dist/src/shamir/types.d.ts +5 -0
- package/dist/src/shamir/types.d.ts.map +1 -0
- package/dist/src/shamir/types.js +3 -0
- package/dist/src/tss/ecdsa/index.js +23 -9
- package/dist/src/tss/ecdsa/paillierproof.js +10 -10
- package/dist/src/tss/ecdsa/rangeproof.d.ts +1 -2
- package/dist/src/tss/ecdsa/rangeproof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/rangeproof.js +111 -118
- package/dist/src/tss/ecdsa/types.d.ts +28 -17
- package/dist/src/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/types.js +29 -31
- package/dist/src/tss/ecdsa/zkVProof.d.ts +0 -1
- package/dist/src/tss/ecdsa/zkVProof.d.ts.map +1 -1
- package/dist/src/tss/ecdsa/zkVProof.js +19 -10
- package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts +42 -0
- package/dist/src/tss/ecdsa-dkls/commsLayer.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/commsLayer.js +235 -0
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts +33 -0
- package/dist/src/tss/ecdsa-dkls/dkg.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/dkg.js +275 -0
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts +47 -0
- package/dist/src/tss/ecdsa-dkls/dsg.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/dsg.js +266 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts +6 -0
- package/dist/src/tss/ecdsa-dkls/index.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/index.js +42 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts +118 -0
- package/dist/src/tss/ecdsa-dkls/types.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/types.js +165 -0
- package/dist/src/tss/ecdsa-dkls/util.d.ts +26 -0
- package/dist/src/tss/ecdsa-dkls/util.d.ts.map +1 -0
- package/dist/src/tss/ecdsa-dkls/util.js +276 -0
- package/dist/src/tss/index.d.ts +1 -0
- package/dist/src/tss/index.d.ts.map +1 -1
- package/dist/src/tss/index.js +7 -2
- package/dist/src/types.d.ts +0 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/util.d.ts +6 -1
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +42 -21
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -7
- package/dist/src/curves/baseCurve.d.ts.map +0 -1
- package/dist/src/curves/baseCurve.js +0 -6
- package/dist/src/openssl/opensslbytes.d.ts +0 -4
- package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
- package/dist/src/openssl/opensslbytes.js +0 -20
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createCommitment = createCommitment;
|
|
4
|
+
exports.verifyCommitment = verifyCommitment;
|
|
4
5
|
const crypto_1 = require("crypto");
|
|
5
6
|
const util_1 = require("./util");
|
|
6
7
|
const minRandomnessLength = 32;
|
|
@@ -10,7 +11,7 @@ const minRandomnessLength = 32;
|
|
|
10
11
|
* @param r The randomness/nonce to be added to the commmitment.
|
|
11
12
|
* @returns The created commitment and decommitment.
|
|
12
13
|
*/
|
|
13
|
-
function createCommitment(secret, r = crypto_1.randomBytes(minRandomnessLength)) {
|
|
14
|
+
function createCommitment(secret, r = (0, crypto_1.randomBytes)(minRandomnessLength)) {
|
|
14
15
|
if (r.length < minRandomnessLength) {
|
|
15
16
|
throw new Error(`randomness must be at least ${minRandomnessLength} bytes long`);
|
|
16
17
|
}
|
|
@@ -22,13 +23,12 @@ function createCommitment(secret, r = crypto_1.randomBytes(minRandomnessLength))
|
|
|
22
23
|
},
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
|
-
exports.createCommitment = createCommitment;
|
|
26
26
|
const bytesPerUint32 = 4;
|
|
27
27
|
function hash(secret, r) {
|
|
28
|
-
return crypto_1.createHash('sha256')
|
|
29
|
-
.update(util_1.bigIntToBufferBE(BigInt(secret.length), bytesPerUint32))
|
|
28
|
+
return (0, crypto_1.createHash)('sha256')
|
|
29
|
+
.update((0, util_1.bigIntToBufferBE)(BigInt(secret.length), bytesPerUint32))
|
|
30
30
|
.update(secret)
|
|
31
|
-
.update(util_1.bigIntToBufferBE(BigInt(r.length), bytesPerUint32))
|
|
31
|
+
.update((0, util_1.bigIntToBufferBE)(BigInt(r.length), bytesPerUint32))
|
|
32
32
|
.update(r)
|
|
33
33
|
.digest();
|
|
34
34
|
}
|
|
@@ -41,5 +41,4 @@ function hash(secret, r) {
|
|
|
41
41
|
function verifyCommitment(commitment, decommietment) {
|
|
42
42
|
return hash(decommietment.secret, decommietment.blindingFactor).compare(commitment) === 0;
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaENvbW1pdG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFzaENvbW1pdG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWlEO0FBRWpELGlDQUEwQztBQUUxQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUUvQjs7Ozs7R0FLRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxJQUFZLG9CQUFXLENBQUMsbUJBQW1CLENBQUM7SUFDM0YsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLG1CQUFtQixFQUFFO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLG1CQUFtQixhQUFhLENBQUMsQ0FBQztLQUNsRjtJQUNELE9BQU87UUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDM0IsWUFBWSxFQUFFO1lBQ1osY0FBYyxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFFLE1BQU07U0FDZjtLQUNGLENBQUM7QUFDSixDQUFDO0FBWEQsNENBV0M7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFekIsU0FBUyxJQUFJLENBQUMsTUFBYyxFQUFFLENBQVM7SUFDckMsT0FBTyxtQkFBVSxDQUFDLFFBQVEsQ0FBQztTQUN4QixNQUFNLENBQUMsdUJBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUMvRCxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ2QsTUFBTSxDQUFDLHVCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDMUQsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNULE1BQU0sRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxhQUErQjtJQUNsRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFGRCw0Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2gsIHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEhhc2hDb21taXREZWNvbW1pdCwgSGFzaERlY29tbWl0bWVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYmlnSW50VG9CdWZmZXJCRSB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IG1pblJhbmRvbW5lc3NMZW5ndGggPSAzMjtcblxuLyoqXG4gKiBDcmVhdGUgaGFzaCBjb21taXRtZW50IGFuZCBkZWNvbW1pZXRtZW50IG9mIGEgc2VjcmV0IHZhbHVlLlxuICogQHBhcmFtIHNlY3JldCBUaGUgc2VjcmV0IHZhbHVlL21lc3NhZ2UuXG4gKiBAcGFyYW0gciBUaGUgcmFuZG9tbmVzcy9ub25jZSB0byBiZSBhZGRlZCB0byB0aGUgY29tbW1pdG1lbnQuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBjb21taXRtZW50IGFuZCBkZWNvbW1pdG1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb21taXRtZW50KHNlY3JldDogQnVmZmVyLCByOiBCdWZmZXIgPSByYW5kb21CeXRlcyhtaW5SYW5kb21uZXNzTGVuZ3RoKSk6IEhhc2hDb21taXREZWNvbW1pdCB7XG4gIGlmIChyLmxlbmd0aCA8IG1pblJhbmRvbW5lc3NMZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHJhbmRvbW5lc3MgbXVzdCBiZSBhdCBsZWFzdCAke21pblJhbmRvbW5lc3NMZW5ndGh9IGJ5dGVzIGxvbmdgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGNvbW1pdG1lbnQ6IGhhc2goc2VjcmV0LCByKSxcbiAgICBkZWNvbW1pdG1lbnQ6IHtcbiAgICAgIGJsaW5kaW5nRmFjdG9yOiByLFxuICAgICAgc2VjcmV0OiBzZWNyZXQsXG4gICAgfSxcbiAgfTtcbn1cblxuY29uc3QgYnl0ZXNQZXJVaW50MzIgPSA0O1xuXG5mdW5jdGlvbiBoYXNoKHNlY3JldDogQnVmZmVyLCByOiBCdWZmZXIpOiBCdWZmZXIge1xuICByZXR1cm4gY3JlYXRlSGFzaCgnc2hhMjU2JylcbiAgICAudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoQmlnSW50KHNlY3JldC5sZW5ndGgpLCBieXRlc1BlclVpbnQzMikpXG4gICAgLnVwZGF0ZShzZWNyZXQpXG4gICAgLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEJpZ0ludChyLmxlbmd0aCksIGJ5dGVzUGVyVWludDMyKSlcbiAgICAudXBkYXRlKHIpXG4gICAgLmRpZ2VzdCgpO1xufVxuXG4vKipcbiAqIFZlcmlmeSBoYXNoIGNvbW1pdG1lbnQgYW5kIGRlY29tbWlldG1lbnQgb2YgYSBzZWNyZXQgdmFsdWUuXG4gKiBAcGFyYW0gY29tbWl0bWVudCBUaGUgY29tbWl0bWVudC5cbiAqIEBwYXJhbSBkZWNvbW1pZXRtZW50IFRoZSBkZWNvbW1pdG1lbnQuXG4gKiBAcmV0dXJucyBUcnVlIGlmIHZlcmlmaWNhdGlvbiBzdWNjZWVkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUNvbW1pdG1lbnQoY29tbWl0bWVudDogQnVmZmVyLCBkZWNvbW1pZXRtZW50OiBIYXNoRGVjb21taXRtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBoYXNoKGRlY29tbWlldG1lbnQuc2VjcmV0LCBkZWNvbW1pZXRtZW50LmJsaW5kaW5nRmFjdG9yKS5jb21wYXJlKGNvbW1pdG1lbnQpID09PSAwO1xufVxuIl19
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaENvbW1pdG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFzaENvbW1pdG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSw0Q0FXQztBQW1CRCw0Q0FFQztBQTVDRCxtQ0FBaUQ7QUFFakQsaUNBQTBDO0FBRTFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0FBRS9COzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLElBQVksSUFBQSxvQkFBVyxFQUFDLG1CQUFtQixDQUFDO0lBQzNGLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLG1CQUFtQixhQUFhLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsT0FBTztRQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQztZQUNqQixNQUFNLEVBQUUsTUFBTTtTQUNmO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFekIsU0FBUyxJQUFJLENBQUMsTUFBYyxFQUFFLENBQVM7SUFDckMsT0FBTyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDO1NBQ3hCLE1BQU0sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDL0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUNkLE1BQU0sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDMUQsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNULE1BQU0sRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxhQUErQjtJQUNsRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVIYXNoLCByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBIYXNoQ29tbWl0RGVjb21taXQsIEhhc2hEZWNvbW1pdG1lbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGJpZ0ludFRvQnVmZmVyQkUgfSBmcm9tICcuL3V0aWwnO1xuXG5jb25zdCBtaW5SYW5kb21uZXNzTGVuZ3RoID0gMzI7XG5cbi8qKlxuICogQ3JlYXRlIGhhc2ggY29tbWl0bWVudCBhbmQgZGVjb21taWV0bWVudCBvZiBhIHNlY3JldCB2YWx1ZS5cbiAqIEBwYXJhbSBzZWNyZXQgVGhlIHNlY3JldCB2YWx1ZS9tZXNzYWdlLlxuICogQHBhcmFtIHIgVGhlIHJhbmRvbW5lc3Mvbm9uY2UgdG8gYmUgYWRkZWQgdG8gdGhlIGNvbW1taXRtZW50LlxuICogQHJldHVybnMgVGhlIGNyZWF0ZWQgY29tbWl0bWVudCBhbmQgZGVjb21taXRtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tbWl0bWVudChzZWNyZXQ6IEJ1ZmZlciwgcjogQnVmZmVyID0gcmFuZG9tQnl0ZXMobWluUmFuZG9tbmVzc0xlbmd0aCkpOiBIYXNoQ29tbWl0RGVjb21taXQge1xuICBpZiAoci5sZW5ndGggPCBtaW5SYW5kb21uZXNzTGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGByYW5kb21uZXNzIG11c3QgYmUgYXQgbGVhc3QgJHttaW5SYW5kb21uZXNzTGVuZ3RofSBieXRlcyBsb25nYCk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjb21taXRtZW50OiBoYXNoKHNlY3JldCwgciksXG4gICAgZGVjb21taXRtZW50OiB7XG4gICAgICBibGluZGluZ0ZhY3RvcjogcixcbiAgICAgIHNlY3JldDogc2VjcmV0LFxuICAgIH0sXG4gIH07XG59XG5cbmNvbnN0IGJ5dGVzUGVyVWludDMyID0gNDtcblxuZnVuY3Rpb24gaGFzaChzZWNyZXQ6IEJ1ZmZlciwgcjogQnVmZmVyKTogQnVmZmVyIHtcbiAgcmV0dXJuIGNyZWF0ZUhhc2goJ3NoYTI1NicpXG4gICAgLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEJpZ0ludChzZWNyZXQubGVuZ3RoKSwgYnl0ZXNQZXJVaW50MzIpKVxuICAgIC51cGRhdGUoc2VjcmV0KVxuICAgIC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShCaWdJbnQoci5sZW5ndGgpLCBieXRlc1BlclVpbnQzMikpXG4gICAgLnVwZGF0ZShyKVxuICAgIC5kaWdlc3QoKTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgaGFzaCBjb21taXRtZW50IGFuZCBkZWNvbW1pZXRtZW50IG9mIGEgc2VjcmV0IHZhbHVlLlxuICogQHBhcmFtIGNvbW1pdG1lbnQgVGhlIGNvbW1pdG1lbnQuXG4gKiBAcGFyYW0gZGVjb21taWV0bWVudCBUaGUgZGVjb21taXRtZW50LlxuICogQHJldHVybnMgVHJ1ZSBpZiB2ZXJpZmljYXRpb24gc3VjY2VlZHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlDb21taXRtZW50KGNvbW1pdG1lbnQ6IEJ1ZmZlciwgZGVjb21taWV0bWVudDogSGFzaERlY29tbWl0bWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaGFzaChkZWNvbW1pZXRtZW50LnNlY3JldCwgZGVjb21taWV0bWVudC5ibGluZGluZ0ZhY3RvcikuY29tcGFyZShjb21taXRtZW50KSA9PT0gMDtcbn1cbiJdfQ==
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AAEtB,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,20 +18,31 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
19
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
20
|
};
|
|
17
|
-
var __importStar = (this && this.__importStar) || function (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
24
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
39
|
exports.Schnorr = exports.HashCommitment = void 0;
|
|
26
40
|
__exportStar(require("./curves"), exports);
|
|
27
|
-
__exportStar(require("./
|
|
41
|
+
__exportStar(require("./safePrime"), exports);
|
|
42
|
+
__exportStar(require("./shamir"), exports);
|
|
28
43
|
__exportStar(require("./tss"), exports);
|
|
29
44
|
exports.HashCommitment = __importStar(require("./hashCommitment"));
|
|
30
45
|
exports.Schnorr = __importStar(require("./schnorrProof"));
|
|
31
46
|
__exportStar(require("./types"), exports);
|
|
32
47
|
__exportStar(require("./util"), exports);
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXlCO0FBQ3pCLDhDQUE0QjtBQUM1QiwyQ0FBeUI7QUFDekIsd0NBQXNCO0FBRXRCLG1FQUFtRDtBQUNuRCwwREFBMEM7QUFDMUMsMENBQXdCO0FBQ3hCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3VydmVzJztcbmV4cG9ydCAqIGZyb20gJy4vc2FmZVByaW1lJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhbWlyJztcbmV4cG9ydCAqIGZyb20gJy4vdHNzJztcblxuZXhwb3J0ICogYXMgSGFzaENvbW1pdG1lbnQgZnJvbSAnLi9oYXNoQ29tbWl0bWVudCc7XG5leHBvcnQgKiBhcyBTY2hub3JyIGZyb20gJy4vc2Nobm9yclByb29mJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcbiJdfQ==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./openssl"), exports);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3BlbnNzbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbiJdfQ==
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export declare class OpenSSL {
|
|
2
2
|
private waModule;
|
|
3
3
|
private isInitialized;
|
|
4
|
-
init(): Promise<void>;
|
|
4
|
+
init(openSSLBytes: Uint8Array): Promise<void>;
|
|
5
5
|
generateSafePrime(bitLength: number): Promise<bigint>;
|
|
6
6
|
private runCommand;
|
|
7
|
-
private getWasmBytes;
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=openssl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../src/openssl/openssl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../src/openssl/openssl.ts"],"names":[],"mappings":"AACA,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAExB,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAI7C,UAAU;CAkBzB"}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OpenSSL = void 0;
|
|
4
4
|
const wasi_1 = require("@wasmer/wasi");
|
|
5
|
-
const opensslbytes_1 = require("./opensslbytes");
|
|
6
5
|
class OpenSSL {
|
|
7
6
|
constructor() {
|
|
8
7
|
this.isInitialized = false;
|
|
9
8
|
}
|
|
10
|
-
async init() {
|
|
11
|
-
await wasi_1.init();
|
|
12
|
-
this.waModule = await WebAssembly.compile(
|
|
9
|
+
async init(openSSLBytes) {
|
|
10
|
+
await (0, wasi_1.init)();
|
|
11
|
+
this.waModule = await WebAssembly.compile(openSSLBytes);
|
|
13
12
|
this.isInitialized = true;
|
|
14
13
|
}
|
|
15
14
|
async generateSafePrime(bitLength) {
|
|
@@ -33,13 +32,6 @@ class OpenSSL {
|
|
|
33
32
|
wasi.start(instance);
|
|
34
33
|
return wasi.getStdoutString();
|
|
35
34
|
}
|
|
36
|
-
async getWasmBytes() {
|
|
37
|
-
const waBuffer = opensslbytes_1.loadWebAssembly();
|
|
38
|
-
if (!waBuffer) {
|
|
39
|
-
throw new Error('Cannot load openssl web-assembly!');
|
|
40
|
-
}
|
|
41
|
-
return waBuffer.buffer;
|
|
42
|
-
}
|
|
43
35
|
}
|
|
44
36
|
exports.OpenSSL = OpenSSL;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcGVuc3NsL29wZW5zc2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQTBDO0FBQzFDLE1BQWEsT0FBTztJQUFwQjtRQUVVLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBOEJoQyxDQUFDO0lBNUJDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBd0I7UUFDakMsTUFBTSxJQUFBLFdBQUksR0FBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUN2QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxTQUFTLGtCQUFrQixDQUFDLENBQUM7UUFDdkYsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNPLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBaUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkgsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFJLENBQUM7WUFDcEIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDLENBQUM7UUFFSCw4QkFBOEI7UUFDOUIseUVBQXlFO1FBQ3pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzVELEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ2xDLENBQUMsQ0FBQztRQUNILHlCQUF5QjtRQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQWhDRCwwQkFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbml0LCBXQVNJIH0gZnJvbSAnQHdhc21lci93YXNpJztcbmV4cG9ydCBjbGFzcyBPcGVuU1NMIHtcbiAgcHJpdmF0ZSB3YU1vZHVsZTogV2ViQXNzZW1ibHkuTW9kdWxlO1xuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBhc3luYyBpbml0KG9wZW5TU0xCeXRlczogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGluaXQoKTtcbiAgICB0aGlzLndhTW9kdWxlID0gYXdhaXQgV2ViQXNzZW1ibHkuY29tcGlsZShvcGVuU1NMQnl0ZXMpO1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBhc3luYyBnZW5lcmF0ZVNhZmVQcmltZShiaXRMZW5ndGg6IG51bWJlcik6IFByb21pc2U8YmlnaW50PiB7XG4gICAgY29uc3QgYmlnSW50U3RyaW5nID0gYXdhaXQgdGhpcy5ydW5Db21tYW5kKGBwcmltZSAtYml0cyAke2JpdExlbmd0aH0gLWdlbmVyYXRlIC1zYWZlYCk7XG4gICAgcmV0dXJuIEJpZ0ludChiaWdJbnRTdHJpbmcpO1xuICB9XG4gIHByaXZhdGUgYXN5bmMgcnVuQ29tbWFuZChvcGVuU3NsQ29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW10pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGlmICghdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBPcGVuU1NsIGNsYXNzIGlzIG5vdCBpbml0aWFsaXplZCEgUGxlYXNlIGNhbGwgT3BlblNTTC5pbml0KCkuJyk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1hbmQgPSBBcnJheS5pc0FycmF5KG9wZW5Tc2xDb21tYW5kKSA/IG9wZW5Tc2xDb21tYW5kIDogb3BlblNzbENvbW1hbmQuc3BsaXQoL1tcXHNdezEsfS9nKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgY29uc3Qgd2FzaSA9IG5ldyBXQVNJKHtcbiAgICAgIGFyZ3M6IGNvbW1hbmQsXG4gICAgfSk7XG5cbiAgICAvLyBJbnN0YW50aWF0ZSB0aGUgV0FTSSBtb2R1bGVcbiAgICAvLyBjYW5ub3QgdXNlIHdhc2kuaW5zdGFudGlhdGUobW9kdWxlLCB7fSk7IGR1ZSB0byB0aGUgc2l6ZSBvZiB0aGUgbW9kdWxlXG4gICAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZSh0aGlzLndhTW9kdWxlLCB7XG4gICAgICAuLi53YXNpLmdldEltcG9ydHModGhpcy53YU1vZHVsZSksXG4gICAgfSk7XG4gICAgLy8gUnVuIHRoZSBzdGFydCBmdW5jdGlvblxuICAgIHdhc2kuc3RhcnQoaW5zdGFuY2UpO1xuICAgIHJldHVybiB3YXNpLmdldFN0ZG91dFN0cmluZygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safePrime.d.ts","sourceRoot":"","sources":["../../src/safePrime.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpG;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO1G"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateSafePrime = generateSafePrime;
|
|
4
|
+
exports.generateSafePrimes = generateSafePrimes;
|
|
5
|
+
const openssl_1 = require("./openssl");
|
|
6
|
+
async function generateSafePrime(bitlength, openSSLBytes) {
|
|
7
|
+
const openSSL = new openssl_1.OpenSSL();
|
|
8
|
+
await openSSL.init(openSSLBytes);
|
|
9
|
+
return openSSL.generateSafePrime(bitlength);
|
|
10
|
+
}
|
|
11
|
+
async function generateSafePrimes(bitLengths, openSSLBytes) {
|
|
12
|
+
const openSSL = new openssl_1.OpenSSL();
|
|
13
|
+
await openSSL.init(openSSLBytes);
|
|
14
|
+
const promises = bitLengths.map((bitlength) => {
|
|
15
|
+
return openSSL.generateSafePrime(bitlength);
|
|
16
|
+
});
|
|
17
|
+
return await Promise.all(promises);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZVByaW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NhZmVQcmltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDhDQUlDO0FBRUQsZ0RBT0M7QUFmRCx1Q0FBb0M7QUFFN0IsS0FBSyxVQUFVLGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsWUFBd0I7SUFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxFQUFFLENBQUM7SUFDOUIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFTSxLQUFLLFVBQVUsa0JBQWtCLENBQUMsVUFBb0IsRUFBRSxZQUF3QjtJQUNyRixNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFPLEVBQUUsQ0FBQztJQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakMsTUFBTSxRQUFRLEdBQXNCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7UUFDdkUsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3BlblNTTCB9IGZyb20gJy4vb3BlbnNzbCc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVNhZmVQcmltZShiaXRsZW5ndGg6IG51bWJlciwgb3BlblNTTEJ5dGVzOiBVaW50OEFycmF5KTogUHJvbWlzZTxiaWdpbnQ+IHtcbiAgY29uc3Qgb3BlblNTTCA9IG5ldyBPcGVuU1NMKCk7XG4gIGF3YWl0IG9wZW5TU0wuaW5pdChvcGVuU1NMQnl0ZXMpO1xuICByZXR1cm4gb3BlblNTTC5nZW5lcmF0ZVNhZmVQcmltZShiaXRsZW5ndGgpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVTYWZlUHJpbWVzKGJpdExlbmd0aHM6IG51bWJlcltdLCBvcGVuU1NMQnl0ZXM6IFVpbnQ4QXJyYXkpOiBQcm9taXNlPGJpZ2ludFtdPiB7XG4gIGNvbnN0IG9wZW5TU0wgPSBuZXcgT3BlblNTTCgpO1xuICBhd2FpdCBvcGVuU1NMLmluaXQob3BlblNTTEJ5dGVzKTtcbiAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8YmlnaW50PltdID0gYml0TGVuZ3Rocy5tYXAoKGJpdGxlbmd0aDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIG9wZW5TU0wuZ2VuZXJhdGVTYWZlUHJpbWUoYml0bGVuZ3RoKTtcbiAgfSk7XG4gIHJldHVybiBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schnorrProof.d.ts","sourceRoot":"","sources":["../../src/schnorrProof.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schnorrProof.d.ts","sourceRoot":"","sources":["../../src/schnorrProof.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,YAAY,CAYd;AAuBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,KAAK,EACZ,aAAa,GAAE,MAAwB,GACtC,OAAO,CAQT"}
|
package/dist/src/schnorrProof.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createSchnorrProof = createSchnorrProof;
|
|
4
|
+
exports.verifySchnorrProof = verifySchnorrProof;
|
|
4
5
|
/**
|
|
5
6
|
* Implementation of Schnorr Non-interactive Zero-Knowledge Proof.
|
|
6
7
|
* @see {@link https://datatracker.ietf.org/doc/rfc8235/}
|
|
@@ -25,15 +26,23 @@ function createSchnorrProof(A, a, curve, additionalCtx = Buffer.from('')) {
|
|
|
25
26
|
r: r,
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Calculate challenge for NIZK schnorr proof using Fiat-Shamir transform.
|
|
31
|
+
*
|
|
32
|
+
* @param V The point/public value corresponding to the random scalar value v chosen by the prover.
|
|
33
|
+
* @param A The point to be proved.
|
|
34
|
+
* @param curve The elliptic curve.
|
|
35
|
+
* @param additionalCtx Additional contextual information to associate with the proof.
|
|
36
|
+
* @returns The calculated challenge.
|
|
37
|
+
*/
|
|
29
38
|
function nonInteractiveChallenge(V, A, curve, additionalCtx) {
|
|
30
39
|
const G = curve.basePointMult(BigInt(1));
|
|
31
|
-
const hash = crypto_1.createHash('sha256');
|
|
32
|
-
hash.update(util_1.bigIntToBufferBE(G, 32));
|
|
33
|
-
hash.update(util_1.bigIntToBufferBE(V, 32));
|
|
34
|
-
hash.update(util_1.bigIntToBufferBE(A, 32));
|
|
40
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
41
|
+
hash.update((0, util_1.bigIntToBufferBE)(G, 32));
|
|
42
|
+
hash.update((0, util_1.bigIntToBufferBE)(V, 32));
|
|
43
|
+
hash.update((0, util_1.bigIntToBufferBE)(A, 32));
|
|
35
44
|
hash.update(additionalCtx);
|
|
36
|
-
return util_1.bigIntFromBufferBE(hash.digest());
|
|
45
|
+
return (0, util_1.bigIntFromBufferBE)(hash.digest());
|
|
37
46
|
}
|
|
38
47
|
/**
|
|
39
48
|
* Verify a Schnorr Proof of knowledge of the discrete log of an Elliptic-curve point.
|
|
@@ -49,5 +58,4 @@ function verifySchnorrProof(A, proof, curve, additionalCtx = Buffer.from('')) {
|
|
|
49
58
|
const cA = curve.pointMultiply(A, curve.scalarReduce(c));
|
|
50
59
|
return proof.vPoint === curve.pointAdd(rG, cA);
|
|
51
60
|
}
|
|
52
|
-
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nobm9yclByb29mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaG5vcnJQcm9vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7O0dBR0c7QUFDSCxtQ0FBb0M7QUFHcEMsaUNBQThEO0FBRTlEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsQ0FBUyxFQUNULENBQVMsRUFDVCxLQUFZLEVBQ1osZ0JBQXdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBRXZDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTlELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckQsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDO1FBQ1QsQ0FBQyxFQUFFLENBQUM7S0FDTCxDQUFDO0FBQ0osQ0FBQztBQWpCRCxnREFpQkM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBWSxFQUFFLGFBQXFCO0lBQ3hGLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFekMsTUFBTSxJQUFJLEdBQUcsbUJBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUFnQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRTNCLE9BQU8seUJBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsQ0FBUyxFQUNULEtBQW1CLEVBQ25CLEtBQVksRUFDWixnQkFBd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFFdkMsTUFBTSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6RCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakQsQ0FBQztBQWJELGdEQWFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBTY2hub3JyIE5vbi1pbnRlcmFjdGl2ZSBaZXJvLUtub3dsZWRnZSBQcm9vZi5cbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL3JmYzgyMzUvfVxuICovXG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IEJhc2VDdXJ2ZSBhcyBDdXJ2ZSB9IGZyb20gJy4vY3VydmVzJztcbmltcG9ydCB7IFNjaG5vcnJQcm9vZiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYmlnSW50RnJvbUJ1ZmZlckJFLCBiaWdJbnRUb0J1ZmZlckJFIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBDcmVhdGUgYSBTY2hub3JyIFByb29mIG9mIGtub3dsZWRnZSBvZiB0aGUgZGlzY3JldGUgbG9nIG9mIGFuIEVsbGlwdGljLWN1cnZlIHBvaW50LlxuICogQHBhcmFtIEEgVGhlIGN1cnZlIHBvaW50LlxuICogQHBhcmFtIGEgVGhlIGRpc2NyZXRlIGxvZyBvZiB0aGUgY3VydmUgcG9pbnQuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBwcm9vZi5cbiAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHByb29mLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2Nobm9yclByb29mKFxuICBBOiBiaWdpbnQsXG4gIGE6IGJpZ2ludCxcbiAgY3VydmU6IEN1cnZlLFxuICBhZGRpdGlvbmFsQ3R4OiBCdWZmZXIgPSBCdWZmZXIuZnJvbSgnJylcbik6IFNjaG5vcnJQcm9vZiB7XG4gIGNvbnN0IHYgPSBjdXJ2ZS5zY2FsYXJSYW5kb20oKTtcbiAgY29uc3QgViA9IGN1cnZlLmJhc2VQb2ludE11bHQodik7XG5cbiAgY29uc3QgYyA9IG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFYsIEEsIGN1cnZlLCBhZGRpdGlvbmFsQ3R4KTtcblxuICBjb25zdCByID0gY3VydmUuc2NhbGFyU3ViKHYsIGN1cnZlLnNjYWxhck11bHQoYSwgYykpO1xuXG4gIHJldHVybiB7XG4gICAgdlBvaW50OiBWLFxuICAgIHI6IHIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFY6IGJpZ2ludCwgQTogYmlnaW50LCBjdXJ2ZTogQ3VydmUsIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlcik6IGJpZ2ludCB7XG4gIGNvbnN0IEcgPSBjdXJ2ZS5iYXNlUG9pbnRNdWx0KEJpZ0ludCgxKSk7XG5cbiAgY29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBoYXNoLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEcsIDMyKSk7XG4gIGhhc2gudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoViwgMzIpKTtcbiAgaGFzaC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShBLCAzMikpO1xuICBoYXNoLnVwZGF0ZShhZGRpdGlvbmFsQ3R4KTtcblxuICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckJFKGhhc2guZGlnZXN0KCkpO1xufVxuXG4vKipcbiAqIFZlcmlmeSBhIFNjaG5vcnIgUHJvb2Ygb2Yga25vd2xlZGdlIG9mIHRoZSBkaXNjcmV0ZSBsb2cgb2YgYW4gRWxsaXB0aWMtY3VydmUgcG9pbnQuXG4gKiBAcGFyYW0gQSBUaGUgY3VydmUgcG9pbnQuXG4gKiBAcGFyYW0gcHJvb2YgVGhlIHNjaG5vcnIgcHJvb2YuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRoYXQgaXMgc3VwcG9zZWQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIHByb29mLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcHJvb2YgY2hlY2tzIG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVNjaG5vcnJQcm9vZihcbiAgQTogYmlnaW50LFxuICBwcm9vZjogU2Nobm9yclByb29mLFxuICBjdXJ2ZTogQ3VydmUsXG4gIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKCcnKVxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGMgPSBub25JbnRlcmFjdGl2ZUNoYWxsZW5nZShwcm9vZi52UG9pbnQsIEEsIGN1cnZlLCBhZGRpdGlvbmFsQ3R4KTtcblxuICBjb25zdCByRyA9IGN1cnZlLmJhc2VQb2ludE11bHQocHJvb2Yucik7XG5cbiAgY29uc3QgY0EgPSBjdXJ2ZS5wb2ludE11bHRpcGx5KEEsIGN1cnZlLnNjYWxhclJlZHVjZShjKSk7XG5cbiAgcmV0dXJuIHByb29mLnZQb2ludCA9PT0gY3VydmUucG9pbnRBZGQockcsIGNBKTtcbn1cbiJdfQ==
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nobm9yclByb29mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaG5vcnJQcm9vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxnREFpQkM7QUErQkQsZ0RBYUM7QUE5RUQ7OztHQUdHO0FBQ0gsbUNBQW9DO0FBR3BDLGlDQUE4RDtBQUU5RDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQ2hDLENBQVMsRUFDVCxDQUFTLEVBQ1QsS0FBWSxFQUNaLGdCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUV2QyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqQyxNQUFNLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU5RCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCxNQUFNLEVBQUUsQ0FBQztRQUNULENBQUMsRUFBRSxDQUFDO0tBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxLQUFZLEVBQUUsYUFBcUI7SUFDeEYsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6QyxNQUFNLElBQUksR0FBRyxJQUFBLG1CQUFVLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFBLHVCQUFnQixFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsdUJBQWdCLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUzQixPQUFPLElBQUEseUJBQWtCLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixrQkFBa0IsQ0FDaEMsQ0FBUyxFQUNULEtBQW1CLEVBQ25CLEtBQVksRUFDWixnQkFBd0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFFdkMsTUFBTSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV6RCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgU2Nobm9yciBOb24taW50ZXJhY3RpdmUgWmVyby1Lbm93bGVkZ2UgUHJvb2YuXG4gKiBAc2VlIHtAbGluayBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9yZmM4MjM1L31cbiAqL1xuaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBCYXNlQ3VydmUgYXMgQ3VydmUgfSBmcm9tICcuL2N1cnZlcyc7XG5pbXBvcnQgeyBTY2hub3JyUHJvb2YgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGJpZ0ludEZyb21CdWZmZXJCRSwgYmlnSW50VG9CdWZmZXJCRSB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogQ3JlYXRlIGEgU2Nobm9yciBQcm9vZiBvZiBrbm93bGVkZ2Ugb2YgdGhlIGRpc2NyZXRlIGxvZyBvZiBhbiBFbGxpcHRpYy1jdXJ2ZSBwb2ludC5cbiAqIEBwYXJhbSBBIFRoZSBjdXJ2ZSBwb2ludC5cbiAqIEBwYXJhbSBhIFRoZSBkaXNjcmV0ZSBsb2cgb2YgdGhlIGN1cnZlIHBvaW50LlxuICogQHBhcmFtIGN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZS5cbiAqIEBwYXJhbSBhZGRpdGlvbmFsQ3R4IEFkZGl0aW9uYWwgY29udGV4dHVhbCBpbmZvcm1hdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcHJvb2YuXG4gKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBwcm9vZi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNjaG5vcnJQcm9vZihcbiAgQTogYmlnaW50LFxuICBhOiBiaWdpbnQsXG4gIGN1cnZlOiBDdXJ2ZSxcbiAgYWRkaXRpb25hbEN0eDogQnVmZmVyID0gQnVmZmVyLmZyb20oJycpXG4pOiBTY2hub3JyUHJvb2Yge1xuICBjb25zdCB2ID0gY3VydmUuc2NhbGFyUmFuZG9tKCk7XG4gIGNvbnN0IFYgPSBjdXJ2ZS5iYXNlUG9pbnRNdWx0KHYpO1xuXG4gIGNvbnN0IGMgPSBub25JbnRlcmFjdGl2ZUNoYWxsZW5nZShWLCBBLCBjdXJ2ZSwgYWRkaXRpb25hbEN0eCk7XG5cbiAgY29uc3QgciA9IGN1cnZlLnNjYWxhclN1Yih2LCBjdXJ2ZS5zY2FsYXJNdWx0KGEsIGMpKTtcblxuICByZXR1cm4ge1xuICAgIHZQb2ludDogVixcbiAgICByOiByLFxuICB9O1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSBjaGFsbGVuZ2UgZm9yIE5JWksgc2Nobm9yciBwcm9vZiB1c2luZyBGaWF0LVNoYW1pciB0cmFuc2Zvcm0uXG4gKlxuICogQHBhcmFtIFYgVGhlIHBvaW50L3B1YmxpYyB2YWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByYW5kb20gc2NhbGFyIHZhbHVlIHYgY2hvc2VuIGJ5IHRoZSBwcm92ZXIuXG4gKiBAcGFyYW0gQSBUaGUgcG9pbnQgdG8gYmUgcHJvdmVkLlxuICogQHBhcmFtIGN1cnZlIFRoZSBlbGxpcHRpYyBjdXJ2ZS5cbiAqIEBwYXJhbSBhZGRpdGlvbmFsQ3R4IEFkZGl0aW9uYWwgY29udGV4dHVhbCBpbmZvcm1hdGlvbiB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcHJvb2YuXG4gKiBAcmV0dXJucyBUaGUgY2FsY3VsYXRlZCBjaGFsbGVuZ2UuXG4gKi9cbmZ1bmN0aW9uIG5vbkludGVyYWN0aXZlQ2hhbGxlbmdlKFY6IGJpZ2ludCwgQTogYmlnaW50LCBjdXJ2ZTogQ3VydmUsIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlcik6IGJpZ2ludCB7XG4gIGNvbnN0IEcgPSBjdXJ2ZS5iYXNlUG9pbnRNdWx0KEJpZ0ludCgxKSk7XG5cbiAgY29uc3QgaGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBoYXNoLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckJFKEcsIDMyKSk7XG4gIGhhc2gudXBkYXRlKGJpZ0ludFRvQnVmZmVyQkUoViwgMzIpKTtcbiAgaGFzaC51cGRhdGUoYmlnSW50VG9CdWZmZXJCRShBLCAzMikpO1xuICBoYXNoLnVwZGF0ZShhZGRpdGlvbmFsQ3R4KTtcblxuICByZXR1cm4gYmlnSW50RnJvbUJ1ZmZlckJFKGhhc2guZGlnZXN0KCkpO1xufVxuXG4vKipcbiAqIFZlcmlmeSBhIFNjaG5vcnIgUHJvb2Ygb2Yga25vd2xlZGdlIG9mIHRoZSBkaXNjcmV0ZSBsb2cgb2YgYW4gRWxsaXB0aWMtY3VydmUgcG9pbnQuXG4gKiBAcGFyYW0gQSBUaGUgY3VydmUgcG9pbnQuXG4gKiBAcGFyYW0gcHJvb2YgVGhlIHNjaG5vcnIgcHJvb2YuXG4gKiBAcGFyYW0gY3VydmUgVGhlIGVsbGlwdGljIGN1cnZlLlxuICogQHBhcmFtIGFkZGl0aW9uYWxDdHggQWRkaXRpb25hbCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHRoYXQgaXMgc3VwcG9zZWQgdG8gYXNzb2NpYXRlIHdpdGggdGhlIHByb29mLlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgcHJvb2YgY2hlY2tzIG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVNjaG5vcnJQcm9vZihcbiAgQTogYmlnaW50LFxuICBwcm9vZjogU2Nobm9yclByb29mLFxuICBjdXJ2ZTogQ3VydmUsXG4gIGFkZGl0aW9uYWxDdHg6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKCcnKVxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGMgPSBub25JbnRlcmFjdGl2ZUNoYWxsZW5nZShwcm9vZi52UG9pbnQsIEEsIGN1cnZlLCBhZGRpdGlvbmFsQ3R4KTtcblxuICBjb25zdCByRyA9IGN1cnZlLmJhc2VQb2ludE11bHQocHJvb2Yucik7XG5cbiAgY29uc3QgY0EgPSBjdXJ2ZS5wb2ludE11bHRpcGx5KEEsIGN1cnZlLnNjYWxhclJlZHVjZShjKSk7XG5cbiAgcmV0dXJuIHByb29mLnZQb2ludCA9PT0gY3VydmUucG9pbnRBZGQockcsIGNBKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shamir/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./shamir"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2hhbWlyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NoYW1pcic7XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseCurve } from '../curves';
|
|
2
|
+
import { SplitSecret } from './types';
|
|
3
|
+
export declare class Shamir {
|
|
4
|
+
curve: BaseCurve;
|
|
5
|
+
constructor(curve: BaseCurve);
|
|
6
|
+
/**
|
|
7
|
+
* Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
|
|
8
|
+
* ways. The split secret requires `threshold` shares to be reconstructed.
|
|
9
|
+
*
|
|
10
|
+
* @param secret secret to split
|
|
11
|
+
* @param threshold share threshold required to reconstruct secret
|
|
12
|
+
* @param numShares total number of shares to split secret into
|
|
13
|
+
* @param indices optional indices which can be used while generating the shares
|
|
14
|
+
* @param salt optional salt which could be used while generating the shares
|
|
15
|
+
* @returns Dictionary containing `shares`, a dictionary where each key is an int
|
|
16
|
+
* in the range 1<=x<=numShares representing that share's free term, and `v`, an
|
|
17
|
+
* array of proofs to be shared with all participants.
|
|
18
|
+
*/
|
|
19
|
+
split(secret: bigint, threshold: number, numShares: number, indices?: Array<number>, salt?: bigint): SplitSecret;
|
|
20
|
+
/**
|
|
21
|
+
* Verify a VSS share.
|
|
22
|
+
*
|
|
23
|
+
* @param u Secret share received from other party.
|
|
24
|
+
* @param v Verification values received from other party.
|
|
25
|
+
* @param index Verifier's index.
|
|
26
|
+
* @returns True on success; otherwise throws Error.
|
|
27
|
+
*/
|
|
28
|
+
verify(u: bigint, v: Array<bigint>, index: number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Reconstitute a secret from a dictionary of shares. The number of shares must
|
|
31
|
+
* be equal to `t` to reconstitute the original secret.
|
|
32
|
+
*
|
|
33
|
+
* @param shares dictionary of shares. each key is the free term of the share
|
|
34
|
+
* @returns secret
|
|
35
|
+
*/
|
|
36
|
+
combine(shares: Record<number, bigint>): bigint;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=shamir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../src/shamir/shamir.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,qBAAa,MAAM;IACjB,KAAK,EAAE,SAAS,CAAC;gBAEL,KAAK,EAAE,SAAS;IAI5B;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,SAAY,GAAG,WAAW;IA8CnH;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAsB3D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CA+BhD"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Shamir = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const util_1 = require("../util");
|
|
9
|
+
class Shamir {
|
|
10
|
+
constructor(curve) {
|
|
11
|
+
this.curve = curve;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
|
|
15
|
+
* ways. The split secret requires `threshold` shares to be reconstructed.
|
|
16
|
+
*
|
|
17
|
+
* @param secret secret to split
|
|
18
|
+
* @param threshold share threshold required to reconstruct secret
|
|
19
|
+
* @param numShares total number of shares to split secret into
|
|
20
|
+
* @param indices optional indices which can be used while generating the shares
|
|
21
|
+
* @param salt optional salt which could be used while generating the shares
|
|
22
|
+
* @returns Dictionary containing `shares`, a dictionary where each key is an int
|
|
23
|
+
* in the range 1<=x<=numShares representing that share's free term, and `v`, an
|
|
24
|
+
* array of proofs to be shared with all participants.
|
|
25
|
+
*/
|
|
26
|
+
split(secret, threshold, numShares, indices, salt = BigInt(0)) {
|
|
27
|
+
let bigIndices;
|
|
28
|
+
if (indices) {
|
|
29
|
+
bigIndices = indices.map((i) => {
|
|
30
|
+
if (i < 1) {
|
|
31
|
+
throw new Error('Invalid value supplied for indices');
|
|
32
|
+
}
|
|
33
|
+
return BigInt(i);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// make range(1, n + 1)
|
|
38
|
+
bigIndices = Array(numShares)
|
|
39
|
+
.fill(null)
|
|
40
|
+
.map((_, i) => BigInt(i + 1));
|
|
41
|
+
}
|
|
42
|
+
if (threshold < 2) {
|
|
43
|
+
throw new Error('Threshold cannot be less than two');
|
|
44
|
+
}
|
|
45
|
+
if (threshold > numShares) {
|
|
46
|
+
throw new Error('Threshold cannot be greater than the total number of shares');
|
|
47
|
+
}
|
|
48
|
+
const coefs = [];
|
|
49
|
+
const v = [];
|
|
50
|
+
for (let ind = 0; ind < threshold - 1; ind++) {
|
|
51
|
+
const coeff = (0, util_1.clamp)((0, util_1.bigIntFromBufferLE)(crypto_1.default.createHmac('sha256', ind.toString(10)).update((0, util_1.bigIntToBufferLE)(secret, 32)).digest()));
|
|
52
|
+
coefs.push(coeff);
|
|
53
|
+
v.unshift(this.curve.basePointMult(coeff));
|
|
54
|
+
}
|
|
55
|
+
coefs.push(secret);
|
|
56
|
+
const shares = {};
|
|
57
|
+
for (let ind = 0; ind < bigIndices.length; ind++) {
|
|
58
|
+
const x = bigIndices[ind];
|
|
59
|
+
let partial = coefs[0];
|
|
60
|
+
for (let other = 1; other < coefs.length; other++) {
|
|
61
|
+
partial = this.curve.scalarAdd(coefs[other], this.curve.scalarMult(partial, x));
|
|
62
|
+
}
|
|
63
|
+
shares[parseInt(x.toString(), 10)] = partial;
|
|
64
|
+
}
|
|
65
|
+
return { shares, v };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Verify a VSS share.
|
|
69
|
+
*
|
|
70
|
+
* @param u Secret share received from other party.
|
|
71
|
+
* @param v Verification values received from other party.
|
|
72
|
+
* @param index Verifier's index.
|
|
73
|
+
* @returns True on success; otherwise throws Error.
|
|
74
|
+
*/
|
|
75
|
+
verify(u, v, index) {
|
|
76
|
+
if (v.length < 2) {
|
|
77
|
+
throw new Error('Threshold cannot be less than two');
|
|
78
|
+
}
|
|
79
|
+
if (index < 1) {
|
|
80
|
+
throw new Error('Invalid value supplied for index');
|
|
81
|
+
}
|
|
82
|
+
const i = BigInt(index);
|
|
83
|
+
let x = v[0];
|
|
84
|
+
let t = BigInt(1);
|
|
85
|
+
for (const vsj of v.slice(1)) {
|
|
86
|
+
t = this.curve.scalarMult(t, i);
|
|
87
|
+
const vjt = this.curve.pointMultiply(vsj, t);
|
|
88
|
+
x = this.curve.pointAdd(x, vjt);
|
|
89
|
+
}
|
|
90
|
+
const sigmaG = this.curve.basePointMult(u);
|
|
91
|
+
if (x !== sigmaG) {
|
|
92
|
+
throw new Error('Could not verify share');
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Reconstitute a secret from a dictionary of shares. The number of shares must
|
|
98
|
+
* be equal to `t` to reconstitute the original secret.
|
|
99
|
+
*
|
|
100
|
+
* @param shares dictionary of shares. each key is the free term of the share
|
|
101
|
+
* @returns secret
|
|
102
|
+
*/
|
|
103
|
+
combine(shares) {
|
|
104
|
+
try {
|
|
105
|
+
let s = BigInt(0);
|
|
106
|
+
for (const i in shares) {
|
|
107
|
+
const yi = shares[i];
|
|
108
|
+
const xi = BigInt(i);
|
|
109
|
+
let num = BigInt(1);
|
|
110
|
+
let denum = BigInt(1);
|
|
111
|
+
for (const j in shares) {
|
|
112
|
+
const xj = BigInt(j);
|
|
113
|
+
if (xi !== xj) {
|
|
114
|
+
num = this.curve.scalarMult(num, xj);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
for (const j in shares) {
|
|
118
|
+
const xj = BigInt(j);
|
|
119
|
+
if (xi !== xj) {
|
|
120
|
+
denum = this.curve.scalarMult(denum, this.curve.scalarSub(xj, xi));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const inverted = this.curve.scalarInvert(denum);
|
|
124
|
+
const innerMultiplied = this.curve.scalarMult(num, inverted);
|
|
125
|
+
const multiplied = this.curve.scalarMult(innerMultiplied, yi);
|
|
126
|
+
s = this.curve.scalarAdd(multiplied, s);
|
|
127
|
+
}
|
|
128
|
+
return s;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
throw new Error('Failed to combine Shamir shares , ' + error);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Shamir = Shamir;
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoYW1pci9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBRzVCLGtDQUFzRTtBQUV0RSxNQUFhLE1BQU07SUFHakIsWUFBWSxLQUFnQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsS0FBSyxDQUFDLE1BQWMsRUFBRSxTQUFpQixFQUFFLFNBQWlCLEVBQUUsT0FBdUIsRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLFVBQXlCLENBQUM7UUFDOUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztnQkFDeEQsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sdUJBQXVCO1lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO2lCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxJQUFJLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsR0FBa0IsRUFBRSxDQUFDO1FBQzVCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxZQUFLLEVBQ2pCLElBQUEseUJBQWtCLEVBQUMsZ0JBQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBQSx1QkFBZ0IsRUFBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUNoSCxDQUFDO1lBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkIsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEQsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRixDQUFDO1lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsQ0FBUyxFQUFFLENBQWdCLEVBQUUsS0FBYTtRQUMvQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxNQUE4QjtRQUNwQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUV0QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUN2QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNkLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ3ZDLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUN2QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNkLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3JFLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF0SUQsd0JBc0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgQmFzZUN1cnZlIH0gZnJvbSAnLi4vY3VydmVzJztcbmltcG9ydCB7IFNwbGl0U2VjcmV0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBiaWdJbnRGcm9tQnVmZmVyTEUsIGJpZ0ludFRvQnVmZmVyTEUsIGNsYW1wIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBTaGFtaXIge1xuICBjdXJ2ZTogQmFzZUN1cnZlO1xuXG4gIGNvbnN0cnVjdG9yKGN1cnZlOiBCYXNlQ3VydmUpIHtcbiAgICB0aGlzLmN1cnZlID0gY3VydmU7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXMgb3B0aW9uYWwgaW5kaWNlcyB3aGljaCBjYW4gYmUgdXNlZCB3aGlsZSBnZW5lcmF0aW5nIHRoZSBzaGFyZXNcbiAgICogQHBhcmFtIHNhbHQgb3B0aW9uYWwgc2FsdCB3aGljaCBjb3VsZCBiZSB1c2VkIHdoaWxlIGdlbmVyYXRpbmcgdGhlIHNoYXJlc1xuICAgKiBAcmV0dXJucyBEaWN0aW9uYXJ5IGNvbnRhaW5pbmcgYHNoYXJlc2AsIGEgZGljdGlvbmFyeSB3aGVyZSBlYWNoIGtleSBpcyBhbiBpbnRcbiAgICogaW4gdGhlIHJhbmdlIDE8PXg8PW51bVNoYXJlcyByZXByZXNlbnRpbmcgdGhhdCBzaGFyZSdzIGZyZWUgdGVybSwgYW5kIGB2YCwgYW5cbiAgICogYXJyYXkgb2YgcHJvb2ZzIHRvIGJlIHNoYXJlZCB3aXRoIGFsbCBwYXJ0aWNpcGFudHMuXG4gICAqL1xuICBzcGxpdChzZWNyZXQ6IGJpZ2ludCwgdGhyZXNob2xkOiBudW1iZXIsIG51bVNoYXJlczogbnVtYmVyLCBpbmRpY2VzPzogQXJyYXk8bnVtYmVyPiwgc2FsdCA9IEJpZ0ludCgwKSk6IFNwbGl0U2VjcmV0IHtcbiAgICBsZXQgYmlnSW5kaWNlczogQXJyYXk8YmlnaW50PjtcbiAgICBpZiAoaW5kaWNlcykge1xuICAgICAgYmlnSW5kaWNlcyA9IGluZGljZXMubWFwKChpKSA9PiB7XG4gICAgICAgIGlmIChpIDwgMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2YWx1ZSBzdXBwbGllZCBmb3IgaW5kaWNlcycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBCaWdJbnQoaSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbWFrZSByYW5nZSgxLCBuICsgMSlcbiAgICAgIGJpZ0luZGljZXMgPSBBcnJheShudW1TaGFyZXMpXG4gICAgICAgIC5maWxsKG51bGwpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IEJpZ0ludChpICsgMSkpO1xuICAgIH1cbiAgICBpZiAodGhyZXNob2xkIDwgMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaHJlc2hvbGQgY2Fubm90IGJlIGxlc3MgdGhhbiB0d28nKTtcbiAgICB9XG5cbiAgICBpZiAodGhyZXNob2xkID4gbnVtU2hhcmVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RocmVzaG9sZCBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2hhcmVzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgY29lZnM6IGJpZ2ludFtdID0gW107XG4gICAgY29uc3QgdjogQXJyYXk8YmlnaW50PiA9IFtdO1xuICAgIGZvciAobGV0IGluZCA9IDA7IGluZCA8IHRocmVzaG9sZCAtIDE7IGluZCsrKSB7XG4gICAgICBjb25zdCBjb2VmZiA9IGNsYW1wKFxuICAgICAgICBiaWdJbnRGcm9tQnVmZmVyTEUoY3J5cHRvLmNyZWF0ZUhtYWMoJ3NoYTI1NicsIGluZC50b1N0cmluZygxMCkpLnVwZGF0ZShiaWdJbnRUb0J1ZmZlckxFKHNlY3JldCwgMzIpKS5kaWdlc3QoKSlcbiAgICAgICk7XG4gICAgICBjb2Vmcy5wdXNoKGNvZWZmKTtcbiAgICAgIHYudW5zaGlmdCh0aGlzLmN1cnZlLmJhc2VQb2ludE11bHQoY29lZmYpKTtcbiAgICB9XG4gICAgY29lZnMucHVzaChzZWNyZXQpO1xuXG4gICAgY29uc3Qgc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+ID0ge307XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgYmlnSW5kaWNlcy5sZW5ndGg7IGluZCsrKSB7XG4gICAgICBjb25zdCB4ID0gYmlnSW5kaWNlc1tpbmRdO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgcGFydGlhbCA9IHRoaXMuY3VydmUuc2NhbGFyQWRkKGNvZWZzW290aGVyXSwgdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KHBhcnRpYWwsIHgpKTtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1twYXJzZUludCh4LnRvU3RyaW5nKCksIDEwKV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgICByZXR1cm4geyBzaGFyZXMsIHYgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgYSBWU1Mgc2hhcmUuXG4gICAqXG4gICAqIEBwYXJhbSB1IFNlY3JldCBzaGFyZSByZWNlaXZlZCBmcm9tIG90aGVyIHBhcnR5LlxuICAgKiBAcGFyYW0gdiBWZXJpZmljYXRpb24gdmFsdWVzIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydHkuXG4gICAqIEBwYXJhbSBpbmRleCBWZXJpZmllcidzIGluZGV4LlxuICAgKiBAcmV0dXJucyBUcnVlIG9uIHN1Y2Nlc3M7IG90aGVyd2lzZSB0aHJvd3MgRXJyb3IuXG4gICAqL1xuICB2ZXJpZnkodTogYmlnaW50LCB2OiBBcnJheTxiaWdpbnQ+LCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKHYubGVuZ3RoIDwgMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaHJlc2hvbGQgY2Fubm90IGJlIGxlc3MgdGhhbiB0d28nKTtcbiAgICB9XG4gICAgaWYgKGluZGV4IDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhbHVlIHN1cHBsaWVkIGZvciBpbmRleCcpO1xuICAgIH1cbiAgICBjb25zdCBpID0gQmlnSW50KGluZGV4KTtcbiAgICBsZXQgeCA9IHZbMF07XG4gICAgbGV0IHQgPSBCaWdJbnQoMSk7XG4gICAgZm9yIChjb25zdCB2c2ogb2Ygdi5zbGljZSgxKSkge1xuICAgICAgdCA9IHRoaXMuY3VydmUuc2NhbGFyTXVsdCh0LCBpKTtcbiAgICAgIGNvbnN0IHZqdCA9IHRoaXMuY3VydmUucG9pbnRNdWx0aXBseSh2c2osIHQpO1xuICAgICAgeCA9IHRoaXMuY3VydmUucG9pbnRBZGQoeCwgdmp0KTtcbiAgICB9XG4gICAgY29uc3Qgc2lnbWFHID0gdGhpcy5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHUpO1xuICAgIGlmICh4ICE9PSBzaWdtYUcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHZlcmlmeSBzaGFyZScpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvbnN0aXR1dGUgYSBzZWNyZXQgZnJvbSBhIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBUaGUgbnVtYmVyIG9mIHNoYXJlcyBtdXN0XG4gICAqIGJlIGVxdWFsIHRvIGB0YCB0byByZWNvbnN0aXR1dGUgdGhlIG9yaWdpbmFsIHNlY3JldC5cbiAgICpcbiAgICogQHBhcmFtIHNoYXJlcyBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gZWFjaCBrZXkgaXMgdGhlIGZyZWUgdGVybSBvZiB0aGUgc2hhcmVcbiAgICogQHJldHVybnMgc2VjcmV0XG4gICAqL1xuICBjb21iaW5lKHNoYXJlczogUmVjb3JkPG51bWJlciwgYmlnaW50Pik6IGJpZ2ludCB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBzID0gQmlnSW50KDApO1xuICAgICAgZm9yIChjb25zdCBpIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB5aSA9IHNoYXJlc1tpXTtcbiAgICAgICAgY29uc3QgeGkgPSBCaWdJbnQoaSk7XG4gICAgICAgIGxldCBudW0gPSBCaWdJbnQoMSk7XG4gICAgICAgIGxldCBkZW51bSA9IEJpZ0ludCgxKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGogaW4gc2hhcmVzKSB7XG4gICAgICAgICAgY29uc3QgeGogPSBCaWdJbnQoaik7XG4gICAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgICAgbnVtID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KG51bSwgeGopO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGogaW4gc2hhcmVzKSB7XG4gICAgICAgICAgY29uc3QgeGogPSBCaWdJbnQoaik7XG4gICAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgICAgZGVudW0gPSB0aGlzLmN1cnZlLnNjYWxhck11bHQoZGVudW0sIHRoaXMuY3VydmUuc2NhbGFyU3ViKHhqLCB4aSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnZlcnRlZCA9IHRoaXMuY3VydmUuc2NhbGFySW52ZXJ0KGRlbnVtKTtcbiAgICAgICAgY29uc3QgaW5uZXJNdWx0aXBsaWVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KG51bSwgaW52ZXJ0ZWQpO1xuICAgICAgICBjb25zdCBtdWx0aXBsaWVkID0gdGhpcy5jdXJ2ZS5zY2FsYXJNdWx0KGlubmVyTXVsdGlwbGllZCwgeWkpO1xuICAgICAgICBzID0gdGhpcy5jdXJ2ZS5zY2FsYXJBZGQobXVsdGlwbGllZCwgcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY29tYmluZSBTaGFtaXIgc2hhcmVzICwgJyArIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shamir/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC,EAAE,MAAM,EAAE,CAAC;CACb,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2hhbWlyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGxpdFNlY3JldCA9IHtcbiAgc2hhcmVzOiBSZWNvcmQ8bnVtYmVyLCBiaWdpbnQ+O1xuICB2OiBiaWdpbnRbXTtcbn07XG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
11
15
|
}) : function(o, v) {
|
|
12
16
|
o["default"] = v;
|
|
13
17
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
21
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
36
|
exports.minModulusBitLength = exports.EcdsaZkVProof = exports.EcdsaPaillierProof = exports.EcdsaRangeProof = exports.EcdsaTypes = void 0;
|
|
23
37
|
exports.EcdsaTypes = __importStar(require("./types"));
|
|
@@ -25,4 +39,4 @@ exports.EcdsaRangeProof = __importStar(require("./rangeproof"));
|
|
|
25
39
|
exports.EcdsaPaillierProof = __importStar(require("./paillierproof"));
|
|
26
40
|
exports.EcdsaZkVProof = __importStar(require("./zkVProof"));
|
|
27
41
|
exports.minModulusBitLength = 3072;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHNzL2VjZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFzQztBQUN0QyxnRUFBZ0Q7QUFDaEQsc0VBQXNEO0FBQ3RELDREQUE0QztBQUUvQixRQUFBLG1CQUFtQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIEVjZHNhVHlwZXMgZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBhcyBFY2RzYVJhbmdlUHJvb2YgZnJvbSAnLi9yYW5nZXByb29mJztcbmV4cG9ydCAqIGFzIEVjZHNhUGFpbGxpZXJQcm9vZiBmcm9tICcuL3BhaWxsaWVycHJvb2YnO1xuZXhwb3J0ICogYXMgRWNkc2Faa1ZQcm9vZiBmcm9tICcuL3prVlByb29mJztcblxuZXhwb3J0IGNvbnN0IG1pbk1vZHVsdXNCaXRMZW5ndGggPSAzMDcyO1xuIl19
|