@zhoujun_aptos/octopus-ts-sdk-min 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -0
- package/dist/aes256gcm.d.ts +16 -0
- package/dist/aes256gcm.d.ts.map +1 -0
- package/dist/aes256gcm.js +98 -0
- package/dist/aes256gcm.js.map +1 -0
- package/dist/elgamal.d.ts +31 -0
- package/dist/elgamal.d.ts.map +1 -0
- package/dist/elgamal.js +96 -0
- package/dist/elgamal.js.map +1 -0
- package/dist/enc/index.d.ts +35 -0
- package/dist/enc/index.d.ts.map +1 -0
- package/dist/enc/index.js +171 -0
- package/dist/enc/index.js.map +1 -0
- package/dist/enc/simple_elgamal_ristretto255.d.ts +27 -0
- package/dist/enc/simple_elgamal_ristretto255.d.ts.map +1 -0
- package/dist/enc/simple_elgamal_ristretto255.js +135 -0
- package/dist/enc/simple_elgamal_ristretto255.js.map +1 -0
- package/dist/group.d.ts +37 -0
- package/dist/group.d.ts.map +1 -0
- package/dist/group.js +150 -0
- package/dist/group.js.map +1 -0
- package/dist/ibe/index.d.ts +46 -0
- package/dist/ibe/index.d.ts.map +1 -0
- package/dist/ibe/index.js +238 -0
- package/dist/ibe/index.js.map +1 -0
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.d.ts +37 -0
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.d.ts.map +1 -0
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.js +131 -0
- package/dist/ibe/otp_hmac_boneh_franklin_bls12381_short_pk.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/shamir_gf256.d.ts +61 -0
- package/dist/shamir_gf256.d.ts.map +1 -0
- package/dist/shamir_gf256.js +295 -0
- package/dist/shamir_gf256.js.map +1 -0
- package/dist/sig/index.d.ts +35 -0
- package/dist/sig/index.d.ts.map +1 -0
- package/dist/sig/index.js +171 -0
- package/dist/sig/index.js.map +1 -0
- package/dist/sig/schnorr_ristretto255.d.ts +28 -0
- package/dist/sig/schnorr_ristretto255.d.ts.map +1 -0
- package/dist/sig/schnorr_ristretto255.js +135 -0
- package/dist/sig/schnorr_ristretto255.js.map +1 -0
- package/dist/silent_setup_encryption.d.ts +82 -0
- package/dist/silent_setup_encryption.d.ts.map +1 -0
- package/dist/silent_setup_encryption.js +285 -0
- package/dist/silent_setup_encryption.js.map +1 -0
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +100 -0
- package/dist/utils.js.map +1 -0
- package/dist/worker_config.d.ts +17 -0
- package/dist/worker_config.d.ts.map +1 -0
- package/dist/worker_config.js +84 -0
- package/dist/worker_config.js.map +1 -0
- package/dist/worker_task.d.ts +15 -0
- package/dist/worker_task.d.ts.map +1 -0
- package/dist/worker_task.js +59 -0
- package/dist/worker_task.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Deserializer, Serializer } from '@aptos-labs/ts-sdk';
|
|
2
|
+
import * as SchnorrRistretto255 from './schnorr_ristretto255';
|
|
3
|
+
export declare const SCHEME_SCHNORR_RISTRETTO255 = 0;
|
|
4
|
+
export declare class SigningKey {
|
|
5
|
+
scheme: number;
|
|
6
|
+
inner: SchnorrRistretto255.SchnorrRistretto255SigningKey;
|
|
7
|
+
constructor(scheme: number, inner: SchnorrRistretto255.SchnorrRistretto255SigningKey);
|
|
8
|
+
static deserialize(deserializer: Deserializer): SigningKey;
|
|
9
|
+
static fromBytes(bytes: Uint8Array): SigningKey;
|
|
10
|
+
serialize(serializer: Serializer): void;
|
|
11
|
+
toBytes(): Uint8Array;
|
|
12
|
+
}
|
|
13
|
+
export declare class VerifyingKey {
|
|
14
|
+
scheme: number;
|
|
15
|
+
inner: SchnorrRistretto255.SchnorrRistretto255VerifyingKey;
|
|
16
|
+
constructor(scheme: number, inner: SchnorrRistretto255.SchnorrRistretto255VerifyingKey);
|
|
17
|
+
static deserialize(deserializer: Deserializer): VerifyingKey;
|
|
18
|
+
static fromBytes(bytes: Uint8Array): VerifyingKey;
|
|
19
|
+
serialize(serializer: Serializer): void;
|
|
20
|
+
toBytes(): Uint8Array;
|
|
21
|
+
}
|
|
22
|
+
export declare class Signature {
|
|
23
|
+
scheme: number;
|
|
24
|
+
inner: SchnorrRistretto255.SchnorrRistretto255Signature;
|
|
25
|
+
constructor(scheme: number, inner: SchnorrRistretto255.SchnorrRistretto255Signature);
|
|
26
|
+
static deserialize(deserializer: Deserializer): Signature;
|
|
27
|
+
static fromBytes(bytes: Uint8Array): Signature;
|
|
28
|
+
serialize(serializer: Serializer): void;
|
|
29
|
+
toBytes(): Uint8Array;
|
|
30
|
+
}
|
|
31
|
+
export declare function keygen(schemeId?: number): SigningKey;
|
|
32
|
+
export declare function deriveVerifyingKey(sk: SigningKey): VerifyingKey;
|
|
33
|
+
export declare function sign(sk: SigningKey, msg: Uint8Array): Signature;
|
|
34
|
+
export declare function verify(vk: VerifyingKey, msg: Uint8Array, sig: Signature): boolean;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sig/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,qBAAa,UAAU;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC,6BAA6B,CAAC;gBAE7C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,6BAA6B;IAKpF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,UAAU;IAS1D,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;IAK/C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKvC,OAAO,IAAI,UAAU;CAKxB;AAED,qBAAa,YAAY;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CAAC;gBAE/C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,+BAA+B;IAKtF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY;IAS5D,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY;IAKjD,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKvC,OAAO,IAAI,UAAU;CAKxB;AAED,qBAAa,SAAS;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC,4BAA4B,CAAC;gBAE5C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,4BAA4B;IAKnF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IASzD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS;IAK9C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKvC,OAAO,IAAI,UAAU;CAKxB;AAID,wBAAgB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CASpD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,UAAU,GAAG,YAAY,CAO/D;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,CAO/D;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAMjF"}
|
|
@@ -0,0 +1,171 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Signature = exports.VerifyingKey = exports.SigningKey = exports.SCHEME_SCHNORR_RISTRETTO255 = void 0;
|
|
37
|
+
exports.keygen = keygen;
|
|
38
|
+
exports.deriveVerifyingKey = deriveVerifyingKey;
|
|
39
|
+
exports.sign = sign;
|
|
40
|
+
exports.verify = verify;
|
|
41
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
42
|
+
const SchnorrRistretto255 = __importStar(require("./schnorr_ristretto255"));
|
|
43
|
+
exports.SCHEME_SCHNORR_RISTRETTO255 = 0;
|
|
44
|
+
class SigningKey {
|
|
45
|
+
scheme;
|
|
46
|
+
inner;
|
|
47
|
+
constructor(scheme, inner) {
|
|
48
|
+
this.scheme = scheme;
|
|
49
|
+
this.inner = inner;
|
|
50
|
+
}
|
|
51
|
+
static deserialize(deserializer) {
|
|
52
|
+
const scheme = deserializer.deserializeU8();
|
|
53
|
+
if (scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
54
|
+
const inner = SchnorrRistretto255.SchnorrRistretto255SigningKey.deserialize(deserializer);
|
|
55
|
+
return new SigningKey(scheme, inner);
|
|
56
|
+
}
|
|
57
|
+
throw new Error(`Unknown scheme: ${scheme}`);
|
|
58
|
+
}
|
|
59
|
+
static fromBytes(bytes) {
|
|
60
|
+
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
61
|
+
return SigningKey.deserialize(deserializer);
|
|
62
|
+
}
|
|
63
|
+
serialize(serializer) {
|
|
64
|
+
serializer.serializeU8(this.scheme);
|
|
65
|
+
this.inner.serialize(serializer);
|
|
66
|
+
}
|
|
67
|
+
toBytes() {
|
|
68
|
+
const serializer = new ts_sdk_1.Serializer();
|
|
69
|
+
this.serialize(serializer);
|
|
70
|
+
return serializer.toUint8Array();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.SigningKey = SigningKey;
|
|
74
|
+
class VerifyingKey {
|
|
75
|
+
scheme;
|
|
76
|
+
inner;
|
|
77
|
+
constructor(scheme, inner) {
|
|
78
|
+
this.scheme = scheme;
|
|
79
|
+
this.inner = inner;
|
|
80
|
+
}
|
|
81
|
+
static deserialize(deserializer) {
|
|
82
|
+
const scheme = deserializer.deserializeU8();
|
|
83
|
+
if (scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
84
|
+
const inner = SchnorrRistretto255.SchnorrRistretto255VerifyingKey.deserialize(deserializer);
|
|
85
|
+
return new VerifyingKey(scheme, inner);
|
|
86
|
+
}
|
|
87
|
+
throw new Error(`Unknown scheme: ${scheme}`);
|
|
88
|
+
}
|
|
89
|
+
static fromBytes(bytes) {
|
|
90
|
+
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
91
|
+
return VerifyingKey.deserialize(deserializer);
|
|
92
|
+
}
|
|
93
|
+
serialize(serializer) {
|
|
94
|
+
serializer.serializeU8(this.scheme);
|
|
95
|
+
this.inner.serialize(serializer);
|
|
96
|
+
}
|
|
97
|
+
toBytes() {
|
|
98
|
+
const serializer = new ts_sdk_1.Serializer();
|
|
99
|
+
this.serialize(serializer);
|
|
100
|
+
return serializer.toUint8Array();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.VerifyingKey = VerifyingKey;
|
|
104
|
+
class Signature {
|
|
105
|
+
scheme;
|
|
106
|
+
inner;
|
|
107
|
+
constructor(scheme, inner) {
|
|
108
|
+
this.scheme = scheme;
|
|
109
|
+
this.inner = inner;
|
|
110
|
+
}
|
|
111
|
+
static deserialize(deserializer) {
|
|
112
|
+
const scheme = deserializer.deserializeU8();
|
|
113
|
+
if (scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
114
|
+
const inner = SchnorrRistretto255.SchnorrRistretto255Signature.deserialize(deserializer);
|
|
115
|
+
return new Signature(scheme, inner);
|
|
116
|
+
}
|
|
117
|
+
throw new Error(`Unknown scheme: ${scheme}`);
|
|
118
|
+
}
|
|
119
|
+
static fromBytes(bytes) {
|
|
120
|
+
const deserializer = new ts_sdk_1.Deserializer(bytes);
|
|
121
|
+
return Signature.deserialize(deserializer);
|
|
122
|
+
}
|
|
123
|
+
serialize(serializer) {
|
|
124
|
+
serializer.serializeU8(this.scheme);
|
|
125
|
+
this.inner.serialize(serializer);
|
|
126
|
+
}
|
|
127
|
+
toBytes() {
|
|
128
|
+
const serializer = new ts_sdk_1.Serializer();
|
|
129
|
+
this.serialize(serializer);
|
|
130
|
+
return serializer.toUint8Array();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.Signature = Signature;
|
|
134
|
+
// Core signature functions
|
|
135
|
+
function keygen(schemeId) {
|
|
136
|
+
const scheme = schemeId ?? exports.SCHEME_SCHNORR_RISTRETTO255;
|
|
137
|
+
if (scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
138
|
+
const sk = SchnorrRistretto255.keygen();
|
|
139
|
+
return new SigningKey(scheme, sk);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
throw new Error(`Unknown scheme: ${scheme}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function deriveVerifyingKey(sk) {
|
|
146
|
+
if (sk.scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
147
|
+
const vk = SchnorrRistretto255.deriveVerifyingKey(sk.inner);
|
|
148
|
+
return new VerifyingKey(sk.scheme, vk);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
throw new Error(`Unknown scheme: ${sk.scheme}`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function sign(sk, msg) {
|
|
155
|
+
if (sk.scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
156
|
+
const signature = SchnorrRistretto255.sign(sk.inner, msg);
|
|
157
|
+
return new Signature(sk.scheme, signature);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
throw new Error(`Unknown scheme: ${sk.scheme}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function verify(vk, msg, sig) {
|
|
164
|
+
if (vk.scheme === exports.SCHEME_SCHNORR_RISTRETTO255 && sig.scheme === exports.SCHEME_SCHNORR_RISTRETTO255) {
|
|
165
|
+
return SchnorrRistretto255.verify(vk.inner, msg, sig.inner);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
throw new Error(`Unknown scheme: vk=${vk.scheme}, sig=${sig.scheme}`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sig/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Deserializer, Serializer } from '@aptos-labs/ts-sdk';
|
|
2
|
+
import * as Group from '../group';
|
|
3
|
+
export declare class SchnorrRistretto255SigningKey {
|
|
4
|
+
base: Group.Element;
|
|
5
|
+
privateScalar: Group.Scalar;
|
|
6
|
+
constructor(base: Group.Element, privateScalar: Group.Scalar);
|
|
7
|
+
static deserialize(deserializer: Deserializer): SchnorrRistretto255SigningKey;
|
|
8
|
+
serialize(serializer: Serializer): void;
|
|
9
|
+
}
|
|
10
|
+
export declare class SchnorrRistretto255VerifyingKey {
|
|
11
|
+
base: Group.Element;
|
|
12
|
+
publicPoint: Group.Element;
|
|
13
|
+
constructor(base: Group.Element, publicPoint: Group.Element);
|
|
14
|
+
static deserialize(deserializer: Deserializer): SchnorrRistretto255VerifyingKey;
|
|
15
|
+
serialize(serializer: Serializer): void;
|
|
16
|
+
}
|
|
17
|
+
export declare class SchnorrRistretto255Signature {
|
|
18
|
+
challenge: Group.Scalar;
|
|
19
|
+
z: Group.Scalar;
|
|
20
|
+
constructor(challenge: Group.Scalar, z: Group.Scalar);
|
|
21
|
+
static deserialize(deserializer: Deserializer): SchnorrRistretto255Signature;
|
|
22
|
+
serialize(serializer: Serializer): void;
|
|
23
|
+
}
|
|
24
|
+
export declare function keygen(): SchnorrRistretto255SigningKey;
|
|
25
|
+
export declare function deriveVerifyingKey(sk: SchnorrRistretto255SigningKey): SchnorrRistretto255VerifyingKey;
|
|
26
|
+
export declare function sign(sk: SchnorrRistretto255SigningKey, msg: Uint8Array): SchnorrRistretto255Signature;
|
|
27
|
+
export declare function verify(vk: SchnorrRistretto255VerifyingKey, msg: Uint8Array, sig: SchnorrRistretto255Signature): boolean;
|
|
28
|
+
//# sourceMappingURL=schnorr_ristretto255.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schnorr_ristretto255.d.ts","sourceRoot":"","sources":["../../src/sig/schnorr_ristretto255.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAGlC,qBAAa,6BAA6B;IACtC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;gBAEhB,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM;IAK5D,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,6BAA6B;IAM7E,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;CAI1C;AAED,qBAAa,+BAA+B;IACxC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;gBAEf,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO;IAK3D,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,+BAA+B;IAM/E,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;CAI1C;AAED,qBAAa,4BAA4B;IACrC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;gBAEJ,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM;IAKpD,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,4BAA4B;IAM5E,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;CAI1C;AAID,wBAAgB,MAAM,IAAI,6BAA6B,CAKtD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,6BAA6B,GAAG,+BAA+B,CAKrG;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,6BAA6B,EAAE,GAAG,EAAE,UAAU,GAAG,4BAA4B,CASrG;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,+BAA+B,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAQvH"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
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
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SchnorrRistretto255Signature = exports.SchnorrRistretto255VerifyingKey = exports.SchnorrRistretto255SigningKey = void 0;
|
|
37
|
+
exports.keygen = keygen;
|
|
38
|
+
exports.deriveVerifyingKey = deriveVerifyingKey;
|
|
39
|
+
exports.sign = sign;
|
|
40
|
+
exports.verify = verify;
|
|
41
|
+
const Group = __importStar(require("../group"));
|
|
42
|
+
const utils_1 = require("../utils");
|
|
43
|
+
class SchnorrRistretto255SigningKey {
|
|
44
|
+
base;
|
|
45
|
+
privateScalar;
|
|
46
|
+
constructor(base, privateScalar) {
|
|
47
|
+
this.base = base;
|
|
48
|
+
this.privateScalar = privateScalar;
|
|
49
|
+
}
|
|
50
|
+
static deserialize(deserializer) {
|
|
51
|
+
const base = Group.Element.deserialize(deserializer);
|
|
52
|
+
const privateScalar = Group.Scalar.deserialize(deserializer);
|
|
53
|
+
return new SchnorrRistretto255SigningKey(base, privateScalar);
|
|
54
|
+
}
|
|
55
|
+
serialize(serializer) {
|
|
56
|
+
this.base.encode(serializer);
|
|
57
|
+
this.privateScalar.encode(serializer);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.SchnorrRistretto255SigningKey = SchnorrRistretto255SigningKey;
|
|
61
|
+
class SchnorrRistretto255VerifyingKey {
|
|
62
|
+
base;
|
|
63
|
+
publicPoint;
|
|
64
|
+
constructor(base, publicPoint) {
|
|
65
|
+
this.base = base;
|
|
66
|
+
this.publicPoint = publicPoint;
|
|
67
|
+
}
|
|
68
|
+
static deserialize(deserializer) {
|
|
69
|
+
const base = Group.Element.deserialize(deserializer);
|
|
70
|
+
const publicPoint = Group.Element.deserialize(deserializer);
|
|
71
|
+
return new SchnorrRistretto255VerifyingKey(base, publicPoint);
|
|
72
|
+
}
|
|
73
|
+
serialize(serializer) {
|
|
74
|
+
this.base.encode(serializer);
|
|
75
|
+
this.publicPoint.encode(serializer);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.SchnorrRistretto255VerifyingKey = SchnorrRistretto255VerifyingKey;
|
|
79
|
+
class SchnorrRistretto255Signature {
|
|
80
|
+
challenge;
|
|
81
|
+
z;
|
|
82
|
+
constructor(challenge, z) {
|
|
83
|
+
this.challenge = challenge;
|
|
84
|
+
this.z = z;
|
|
85
|
+
}
|
|
86
|
+
static deserialize(deserializer) {
|
|
87
|
+
const challenge = Group.Scalar.deserialize(deserializer);
|
|
88
|
+
const z = Group.Scalar.deserialize(deserializer);
|
|
89
|
+
return new SchnorrRistretto255Signature(challenge, z);
|
|
90
|
+
}
|
|
91
|
+
serialize(serializer) {
|
|
92
|
+
this.challenge.encode(serializer);
|
|
93
|
+
this.z.encode(serializer);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.SchnorrRistretto255Signature = SchnorrRistretto255Signature;
|
|
97
|
+
// Core Schnorr Ristretto255 functions
|
|
98
|
+
function keygen() {
|
|
99
|
+
const base = Group.Element.rand();
|
|
100
|
+
const privateScalar = Group.Scalar.rand();
|
|
101
|
+
return new SchnorrRistretto255SigningKey(base, privateScalar);
|
|
102
|
+
}
|
|
103
|
+
function deriveVerifyingKey(sk) {
|
|
104
|
+
const { base, privateScalar } = sk;
|
|
105
|
+
const publicPoint = base.scale(privateScalar);
|
|
106
|
+
return new SchnorrRistretto255VerifyingKey(base, publicPoint);
|
|
107
|
+
}
|
|
108
|
+
function sign(sk, msg) {
|
|
109
|
+
const { base, privateScalar } = sk;
|
|
110
|
+
const scalarR = Group.Scalar.rand();
|
|
111
|
+
const pointA = base.scale(scalarR);
|
|
112
|
+
const scalarChallenge = hashTranscriptToScalar(pointA, msg);
|
|
113
|
+
const scalarZ = scalarR.sub(privateScalar.mul(scalarChallenge));
|
|
114
|
+
return new SchnorrRistretto255Signature(scalarChallenge, scalarZ);
|
|
115
|
+
}
|
|
116
|
+
function verify(vk, msg, sig) {
|
|
117
|
+
const { base, publicPoint } = vk;
|
|
118
|
+
const { challenge, z } = sig;
|
|
119
|
+
const pointA = Group.msm([base, publicPoint], [z, challenge]);
|
|
120
|
+
const scalarChallengeAnother = hashTranscriptToScalar(pointA, msg);
|
|
121
|
+
return challenge.toBytes().every((byte, index) => byte === scalarChallengeAnother.toBytes()[index]);
|
|
122
|
+
}
|
|
123
|
+
function hashTranscriptToScalar(pointA, msg) {
|
|
124
|
+
const dst = new TextEncoder().encode("DST/SCHNORR_RISTRETTO255/OCTOPUS");
|
|
125
|
+
const transcript = new Uint8Array(dst.length + pointA.toBytes().length + msg.length);
|
|
126
|
+
let offset = 0;
|
|
127
|
+
transcript.set(dst, offset);
|
|
128
|
+
offset += dst.length;
|
|
129
|
+
transcript.set(pointA.toBytes(), offset);
|
|
130
|
+
offset += pointA.toBytes().length;
|
|
131
|
+
transcript.set(msg, offset);
|
|
132
|
+
const transcriptHash = (0, utils_1.sha3_512)(transcript);
|
|
133
|
+
return Group.scalarFrom512BitHash(transcriptHash);
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=schnorr_ristretto255.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schnorr_ristretto255.js","sourceRoot":"","sources":["../../src/sig/schnorr_ristretto255.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { AccountAddress, Aptos, Deserializer, Ed25519PublicKey, Ed25519Signature, Serializer } from "@aptos-labs/ts-sdk";
|
|
2
|
+
import * as WorkerConfig from "./worker_config";
|
|
3
|
+
import * as IBE from "./ibe";
|
|
4
|
+
import * as AES256GCM from "./aes256gcm";
|
|
5
|
+
export declare class EncryptionContext {
|
|
6
|
+
workers: AccountAddress[];
|
|
7
|
+
threshold: number;
|
|
8
|
+
moduleAddr: AccountAddress;
|
|
9
|
+
moduleName: string;
|
|
10
|
+
constructor({ workers, threshold, moduleAddr, moduleName }: {
|
|
11
|
+
workers: AccountAddress[];
|
|
12
|
+
threshold: number;
|
|
13
|
+
moduleAddr: AccountAddress;
|
|
14
|
+
moduleName: string;
|
|
15
|
+
});
|
|
16
|
+
serialize(serializer: Serializer): void;
|
|
17
|
+
toBytes(): Uint8Array;
|
|
18
|
+
loadEncryptor(aptos: Aptos): Promise<Encryptor>;
|
|
19
|
+
}
|
|
20
|
+
export declare class DecryptionContext {
|
|
21
|
+
workers: AccountAddress[];
|
|
22
|
+
threshold: number;
|
|
23
|
+
moduleAddr: AccountAddress;
|
|
24
|
+
moduleName: string;
|
|
25
|
+
domain: Uint8Array;
|
|
26
|
+
constructor({ workers, threshold, moduleAddr, moduleName, domain }: {
|
|
27
|
+
workers: AccountAddress[];
|
|
28
|
+
threshold: number;
|
|
29
|
+
moduleAddr: AccountAddress;
|
|
30
|
+
moduleName: string;
|
|
31
|
+
domain: Uint8Array;
|
|
32
|
+
});
|
|
33
|
+
static deserialize(deserializer: Deserializer): DecryptionContext;
|
|
34
|
+
serialize(serializer: Serializer): void;
|
|
35
|
+
toBytes(): Uint8Array;
|
|
36
|
+
toHex(): string;
|
|
37
|
+
loadDecryptor({ aptos, userAddr, publicKey, signature }: {
|
|
38
|
+
aptos: Aptos;
|
|
39
|
+
userAddr: AccountAddress;
|
|
40
|
+
publicKey: Ed25519PublicKey;
|
|
41
|
+
signature: Ed25519Signature;
|
|
42
|
+
}): Promise<Decryptor>;
|
|
43
|
+
}
|
|
44
|
+
export declare class Ciphertext {
|
|
45
|
+
decryptionContext: DecryptionContext;
|
|
46
|
+
aesCiph: AES256GCM.Ciphertext;
|
|
47
|
+
ibeCiphs: IBE.Ciphertext[];
|
|
48
|
+
constructor(decryptionContext: DecryptionContext, aesCiph: AES256GCM.Ciphertext, ibeCiphs: IBE.Ciphertext[]);
|
|
49
|
+
}
|
|
50
|
+
export declare class Encryptor {
|
|
51
|
+
domain: EncryptionContext;
|
|
52
|
+
workerConfigs: WorkerConfig.WorkerConfig[];
|
|
53
|
+
ibePublicKeys: IBE.MasterPublicKey[];
|
|
54
|
+
constructor(domain: EncryptionContext, workerConfigs: WorkerConfig.WorkerConfig[], ibePublicKeys: IBE.MasterPublicKey[]);
|
|
55
|
+
encrypt({ domain, plaintext }: {
|
|
56
|
+
domain: Uint8Array;
|
|
57
|
+
plaintext: Uint8Array;
|
|
58
|
+
}): Ciphertext;
|
|
59
|
+
}
|
|
60
|
+
export declare class Decryptor {
|
|
61
|
+
ibeDecryptionKeys: (IBE.IdentityPrivateKey | null)[];
|
|
62
|
+
decryptionContext: DecryptionContext;
|
|
63
|
+
constructor(decryptionContext: DecryptionContext, ibeDecryptionKeys: (IBE.IdentityPrivateKey | null)[]);
|
|
64
|
+
decrypt(ciphertext: Ciphertext): Uint8Array;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A message from a user to a MPC worker to request a decryption key.
|
|
68
|
+
*/
|
|
69
|
+
export declare class RequestForDecryptionKey {
|
|
70
|
+
decryptionContext: DecryptionContext;
|
|
71
|
+
userAddr: AccountAddress;
|
|
72
|
+
publicKey: Ed25519PublicKey;
|
|
73
|
+
signature: Ed25519Signature;
|
|
74
|
+
constructor(decryptionContext: DecryptionContext, userAddr: AccountAddress, publicKey: Ed25519PublicKey, signature: Ed25519Signature);
|
|
75
|
+
static deserialize(deserializer: Deserializer): RequestForDecryptionKey;
|
|
76
|
+
static fromBytes(bytes: Uint8Array): RequestForDecryptionKey;
|
|
77
|
+
static fromHex(hex: string): RequestForDecryptionKey;
|
|
78
|
+
serialize(serializer: Serializer): void;
|
|
79
|
+
toBytes(): Uint8Array;
|
|
80
|
+
toHex(): string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=silent_setup_encryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"silent_setup_encryption.d.ts","sourceRoot":"","sources":["../src/silent_setup_encryption.ts"],"names":[],"mappings":"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"}
|