@peerbit/crypto 2.2.0 → 2.3.0-171d517
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/benchmark/hash.d.ts +2 -0
- package/dist/benchmark/hash.d.ts.map +1 -0
- package/dist/benchmark/hash.js +69 -0
- package/dist/benchmark/hash.js.map +1 -0
- package/dist/benchmark/index.d.ts +2 -0
- package/dist/benchmark/index.d.ts.map +1 -0
- package/dist/benchmark/index.js +64 -0
- package/dist/benchmark/index.js.map +1 -0
- package/dist/benchmark/peer-ids.d.ts +2 -0
- package/dist/benchmark/peer-ids.d.ts.map +1 -0
- package/dist/benchmark/peer-ids.js +29 -0
- package/dist/benchmark/peer-ids.js.map +1 -0
- package/{lib/esm → dist/src}/bytes.d.ts +1 -0
- package/dist/src/bytes.d.ts.map +1 -0
- package/{lib/esm → dist/src}/bytes.js.map +1 -1
- package/{lib/esm/ed25519-sign-browser.d.ts → dist/src/ed25519-sign.browser.d.ts} +3 -2
- package/dist/src/ed25519-sign.browser.d.ts.map +1 -0
- package/{lib/esm/ed25519-sign-browser.js → dist/src/ed25519-sign.browser.js} +2 -2
- package/dist/src/ed25519-sign.browser.js.map +1 -0
- package/{lib/esm → dist/src}/ed25519-sign.d.ts +3 -2
- package/dist/src/ed25519-sign.d.ts.map +1 -0
- package/{lib/esm → dist/src}/ed25519-sign.js +8 -7
- package/dist/src/ed25519-sign.js.map +1 -0
- package/{lib/esm → dist/src}/ed25519.d.ts +4 -3
- package/dist/src/ed25519.d.ts.map +1 -0
- package/{lib/esm → dist/src}/ed25519.js +14 -13
- package/dist/src/ed25519.js.map +1 -0
- package/{lib/esm → dist/src}/encryption.d.ts +15 -11
- package/dist/src/encryption.d.ts.map +1 -0
- package/{lib/esm → dist/src}/encryption.js +33 -35
- package/dist/src/encryption.js.map +1 -0
- package/{lib/esm → dist/src}/errors.d.ts +1 -1
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +3 -0
- package/{lib/esm → dist/src}/errors.js.map +1 -1
- package/{lib/esm/hash-browser.d.ts → dist/src/hash.browser.d.ts} +1 -0
- package/dist/src/hash.browser.d.ts.map +1 -0
- package/{lib/esm/hash-browser.js → dist/src/hash.browser.js} +2 -2
- package/{lib/esm/hash-browser.js.map → dist/src/hash.browser.js.map} +1 -1
- package/{lib/esm → dist/src}/hash.d.ts +1 -0
- package/dist/src/hash.d.ts.map +1 -0
- package/{lib/esm → dist/src}/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/{lib/esm → dist/src}/index.js +1 -1
- package/dist/src/index.js.map +1 -0
- package/{lib/esm → dist/src}/key.d.ts +2 -1
- package/dist/src/key.d.ts.map +1 -0
- package/{lib/esm → dist/src}/key.js +3 -2
- package/dist/src/key.js.map +1 -0
- package/{lib/esm → dist/src}/peerid.d.ts +2 -1
- package/dist/src/peerid.d.ts.map +1 -0
- package/{lib/esm → dist/src}/peerid.js +1 -0
- package/dist/src/peerid.js.map +1 -0
- package/{lib/esm → dist/src}/prehash.d.ts +1 -0
- package/dist/src/prehash.d.ts.map +1 -0
- package/{lib/esm → dist/src}/prehash.js +4 -4
- package/{lib/esm → dist/src}/prehash.js.map +1 -1
- package/{lib/esm/random-browser.d.ts → dist/src/random.browser.d.ts} +1 -0
- package/dist/src/random.browser.d.ts.map +1 -0
- package/{lib/esm/random-browser.js → dist/src/random.browser.js} +1 -1
- package/dist/src/random.browser.js.map +1 -0
- package/{lib/esm → dist/src}/random.d.ts +1 -1
- package/dist/src/random.d.ts.map +1 -0
- package/{lib/esm → dist/src}/random.js.map +1 -1
- package/{lib/esm → dist/src}/sepc256k1.d.ts +6 -5
- package/dist/src/sepc256k1.d.ts.map +1 -0
- package/{lib/esm → dist/src}/sepc256k1.js +19 -19
- package/dist/src/sepc256k1.js.map +1 -0
- package/{lib/esm → dist/src}/signature.d.ts +4 -7
- package/dist/src/signature.d.ts.map +1 -0
- package/dist/src/signature.js +113 -0
- package/dist/src/signature.js.map +1 -0
- package/{lib/esm → dist/src}/signer.d.ts +4 -3
- package/dist/src/signer.d.ts.map +1 -0
- package/{lib/esm → dist/src}/utils.d.ts +2 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/{lib/esm → dist/src}/utils.js +4 -0
- package/dist/src/utils.js.map +1 -0
- package/{lib/esm → dist/src}/x25519.d.ts +4 -3
- package/dist/src/x25519.d.ts.map +1 -0
- package/{lib/esm → dist/src}/x25519.js +15 -14
- package/dist/src/x25519.js.map +1 -0
- package/package.json +77 -54
- package/src/bytes.ts +1 -1
- package/src/{ed25519-sign-browser.ts → ed25519-sign.browser.ts} +7 -7
- package/src/ed25519-sign.ts +11 -11
- package/src/ed25519.ts +21 -21
- package/src/encryption.ts +69 -68
- package/src/errors.ts +1 -5
- package/src/{hash-browser.ts → hash.browser.ts} +2 -1
- package/src/index.ts +3 -1
- package/src/key.ts +6 -5
- package/src/peerid.ts +3 -3
- package/src/prehash.ts +8 -8
- package/src/random.ts +1 -0
- package/src/sepc256k1.ts +39 -37
- package/src/signature.ts +16 -190
- package/src/signer.ts +5 -5
- package/src/utils.ts +6 -0
- package/src/x25519.ts +26 -28
- package/LICENSE +0 -202
- package/lib/esm/ed25519-sign-browser.js.map +0 -1
- package/lib/esm/ed25519-sign.js.map +0 -1
- package/lib/esm/ed25519.js.map +0 -1
- package/lib/esm/encryption.js.map +0 -1
- package/lib/esm/errors.js +0 -6
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/key.js.map +0 -1
- package/lib/esm/peerid.js.map +0 -1
- package/lib/esm/random-browser.js.map +0 -1
- package/lib/esm/sepc256k1.js.map +0 -1
- package/lib/esm/signature.js +0 -285
- package/lib/esm/signature.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
- package/lib/esm/x25519.js.map +0 -1
- /package/{lib/esm → dist/src}/bytes.js +0 -0
- /package/{lib/esm → dist/src}/hash.js +0 -0
- /package/{lib/esm → dist/src}/hash.js.map +0 -0
- /package/{lib/esm → dist/src}/random.js +0 -0
- /package/{lib/esm → dist/src}/signer.js +0 -0
- /package/{lib/esm → dist/src}/signer.js.map +0 -0
- /package/src/{random-browser.ts → random.browser.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../benchmark/hash.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { deserialize, field, serialize } from "@dao-xyz/borsh";
|
|
11
|
+
import B from "benchmark";
|
|
12
|
+
import crypto from "crypto";
|
|
13
|
+
import { sha256, sha256Base64 } from "../src/hash.js";
|
|
14
|
+
//node --loader ts-node/esm ./benchmark/hash.ts
|
|
15
|
+
/**
|
|
16
|
+
* Benchmark for hashing + serializing
|
|
17
|
+
*/
|
|
18
|
+
const size = 1e3;
|
|
19
|
+
const data = [];
|
|
20
|
+
for (let i = 0; i < 100; i++) {
|
|
21
|
+
data.push(crypto.randomBytes(size));
|
|
22
|
+
}
|
|
23
|
+
class MSstring {
|
|
24
|
+
string;
|
|
25
|
+
constructor(string) {
|
|
26
|
+
this.string = string;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
field({ type: "string" }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], MSstring.prototype, "string", void 0);
|
|
33
|
+
class MBytes {
|
|
34
|
+
bytes;
|
|
35
|
+
constructor(bytes) {
|
|
36
|
+
this.bytes = bytes;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
__decorate([
|
|
40
|
+
field({ type: Uint8Array }),
|
|
41
|
+
__metadata("design:type", Uint8Array)
|
|
42
|
+
], MBytes.prototype, "bytes", void 0);
|
|
43
|
+
const getSample = () => {
|
|
44
|
+
return data[Math.floor(Math.round(Math.random() * (data.length - 1)))];
|
|
45
|
+
};
|
|
46
|
+
const suite = new B.Suite("ed25519");
|
|
47
|
+
suite
|
|
48
|
+
.add("hash-to-bytes", {
|
|
49
|
+
fn: async (deferred) => {
|
|
50
|
+
deserialize(serialize(new MBytes(await sha256(getSample()))), MBytes);
|
|
51
|
+
deferred.resolve();
|
|
52
|
+
},
|
|
53
|
+
defer: true,
|
|
54
|
+
})
|
|
55
|
+
.add("hash-to-string", {
|
|
56
|
+
fn: async (deferred) => {
|
|
57
|
+
deserialize(serialize(new MSstring(await sha256Base64(getSample()))), MSstring);
|
|
58
|
+
deferred.resolve();
|
|
59
|
+
},
|
|
60
|
+
defer: true,
|
|
61
|
+
})
|
|
62
|
+
.on("error", (error) => {
|
|
63
|
+
throw error;
|
|
64
|
+
})
|
|
65
|
+
.on("cycle", (event) => {
|
|
66
|
+
console.log(String(event.target));
|
|
67
|
+
})
|
|
68
|
+
.run({ async: true });
|
|
69
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../benchmark/hash.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,CAAC,MAAM,WAAW,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEtD,+CAA+C;AAE/C;;GAEG;AAEH,MAAM,IAAI,GAAG,GAAG,CAAC;AACjB,MAAM,IAAI,GAAiB,EAAE,CAAC;AAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,QAAQ;IAEb,MAAM,CAAS;IAEf,YAAY,MAAc;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CACD;AALA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;wCACX;AAOhB,MAAM,MAAM;IAEX,KAAK,CAAa;IAElB,YAAY,KAAiB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD;AALA;IADC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACrB,UAAU;qCAAC;AAOnB,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AACF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACrC,KAAK;KACH,GAAG,CAAC,eAAe,EAAE;IACrB,EAAE,EAAE,KAAK,EAAE,QAAa,EAAE,EAAE;QAC3B,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,QAAQ,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IACD,KAAK,EAAE,IAAI;CACX,CAAC;KACD,GAAG,CAAC,gBAAgB,EAAE;IACtB,EAAE,EAAE,KAAK,EAAE,QAAa,EAAE,EAAE;QAC3B,WAAW,CACV,SAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EACxD,QAAQ,CACR,CAAC;QACF,QAAQ,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IACD,KAAK,EAAE,IAAI;CACX,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,MAAM,KAAK,CAAC;AACb,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;KACD,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../benchmark/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import B from "benchmark";
|
|
2
|
+
import crypto from "crypto";
|
|
3
|
+
import { Ed25519Keypair } from "../src/ed25519.js";
|
|
4
|
+
import { PreHash } from "../src/prehash.js";
|
|
5
|
+
import { SignatureWithKey, verify } from "../src/signature.js";
|
|
6
|
+
//node --loader ts-node/esm ./benchmark/index.ts
|
|
7
|
+
const keypair = await Ed25519Keypair.create();
|
|
8
|
+
const signatures = [];
|
|
9
|
+
const size = 1e5;
|
|
10
|
+
for (let i = 0; i < 10000; i++) {
|
|
11
|
+
const data = crypto.randomBytes(size);
|
|
12
|
+
signatures.push([data, await keypair.sign(data, PreHash.NONE)]);
|
|
13
|
+
}
|
|
14
|
+
const signaturesHash = [];
|
|
15
|
+
for (let i = 0; i < 10000; i++) {
|
|
16
|
+
const data = crypto.randomBytes(size);
|
|
17
|
+
signaturesHash.push([data, await keypair.sign(data, PreHash.SHA_256)]);
|
|
18
|
+
}
|
|
19
|
+
const suite = new B.Suite("ed25519");
|
|
20
|
+
suite
|
|
21
|
+
.add("sign", {
|
|
22
|
+
fn: async (deferred) => {
|
|
23
|
+
const data = crypto.randomBytes(size); // 1kb
|
|
24
|
+
await keypair.sign(data, PreHash.NONE);
|
|
25
|
+
deferred.resolve();
|
|
26
|
+
},
|
|
27
|
+
defer: true,
|
|
28
|
+
})
|
|
29
|
+
.add("hash+sign", {
|
|
30
|
+
fn: async (deferred) => {
|
|
31
|
+
const data = crypto.randomBytes(size); // 1kb
|
|
32
|
+
await keypair.sign(data, PreHash.SHA_256);
|
|
33
|
+
deferred.resolve();
|
|
34
|
+
},
|
|
35
|
+
defer: true,
|
|
36
|
+
})
|
|
37
|
+
.add("verify", {
|
|
38
|
+
fn: async (deferred) => {
|
|
39
|
+
const [data, signature] = signatures[Math.floor(Math.random() * signatures.length)];
|
|
40
|
+
if (!(await verify(signature, data))) {
|
|
41
|
+
throw new Error("Unverified");
|
|
42
|
+
}
|
|
43
|
+
deferred.resolve();
|
|
44
|
+
},
|
|
45
|
+
defer: true,
|
|
46
|
+
})
|
|
47
|
+
.add("hash+verify", {
|
|
48
|
+
fn: async (deferred) => {
|
|
49
|
+
const [data, signature] = signaturesHash[Math.floor(Math.random() * signatures.length)];
|
|
50
|
+
if (!(await verify(signature, data))) {
|
|
51
|
+
throw new Error("Unexpected");
|
|
52
|
+
}
|
|
53
|
+
deferred.resolve();
|
|
54
|
+
},
|
|
55
|
+
defer: true,
|
|
56
|
+
})
|
|
57
|
+
.on("error", (error) => {
|
|
58
|
+
throw error;
|
|
59
|
+
})
|
|
60
|
+
.on("cycle", (event) => {
|
|
61
|
+
console.log(String(event.target));
|
|
62
|
+
})
|
|
63
|
+
.run({ async: true });
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../benchmark/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-ids.d.ts","sourceRoot":"","sources":["../../benchmark/peer-ids.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { deserialize, serialize } from "@dao-xyz/borsh";
|
|
2
|
+
import { peerIdFromBytes, peerIdFromKeys } from "@libp2p/peer-id";
|
|
3
|
+
import { createEd25519PeerId } from "@libp2p/peer-id-factory";
|
|
4
|
+
import B from "benchmark";
|
|
5
|
+
import { Ed25519Keypair, Ed25519PublicKey } from "../src/ed25519.js";
|
|
6
|
+
//node --loader ts-node/esm ./benchmark/peer-ids.ts
|
|
7
|
+
const keypair = await Ed25519Keypair.create();
|
|
8
|
+
const peerId = await createEd25519PeerId();
|
|
9
|
+
const peerIdPublicKey = await peerIdFromKeys(peerId.publicKey);
|
|
10
|
+
const suite = new B.Suite("ed25519");
|
|
11
|
+
suite
|
|
12
|
+
.add("PublicSignKey", {
|
|
13
|
+
fn: async () => {
|
|
14
|
+
deserialize(serialize(keypair.publicKey), Ed25519PublicKey);
|
|
15
|
+
},
|
|
16
|
+
})
|
|
17
|
+
.add("PeerId ", {
|
|
18
|
+
fn: () => {
|
|
19
|
+
peerIdFromBytes(peerIdPublicKey.toBytes());
|
|
20
|
+
},
|
|
21
|
+
})
|
|
22
|
+
.on("error", (error) => {
|
|
23
|
+
throw error;
|
|
24
|
+
})
|
|
25
|
+
.on("cycle", (event) => {
|
|
26
|
+
console.log(String(event.target));
|
|
27
|
+
})
|
|
28
|
+
.run();
|
|
29
|
+
//# sourceMappingURL=peer-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-ids.js","sourceRoot":"","sources":["../../benchmark/peer-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,CAAC,MAAM,WAAW,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErE,mDAAmD;AAEnD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;AAC9C,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;AAC3C,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACrC,KAAK;KACH,GAAG,CAAC,eAAe,EAAE;IACrB,EAAE,EAAE,KAAK,IAAI,EAAE;QACd,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;CACD,CAAC;KACD,GAAG,CAAC,SAAS,EAAE;IACf,EAAE,EAAE,GAAG,EAAE;QACR,eAAe,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;CACD,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,MAAM,KAAK,CAAC;AACb,CAAC,CAAC;KACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;KACD,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,MAAM,MAAO,GAAG,eAO5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/bytes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAM,EAAE,EAAE;IAChC,IAAI,CAAC,YAAY,UAAU,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Ed25519Keypair } from "./ed25519.js";
|
|
2
|
-
import { PreHash } from "./prehash.js";
|
|
1
|
+
import type { Ed25519Keypair } from "./ed25519.js";
|
|
2
|
+
import { type PreHash } from "./prehash.js";
|
|
3
3
|
import { SignatureWithKey } from "./signature.js";
|
|
4
4
|
export declare const sign: (data: Uint8Array, keypair: Ed25519Keypair, prehash: PreHash) => Promise<SignatureWithKey>;
|
|
5
5
|
export declare const verifySignatureEd25519: (signature: SignatureWithKey, data: Uint8Array) => Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=ed25519-sign.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-sign.browser.d.ts","sourceRoot":"","sources":["../../src/ed25519-sign.browser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,IAAI,SACV,UAAU,WACP,cAAc,WACd,OAAO,8BAchB,CAAC;AAEF,eAAO,MAAM,sBAAsB,cACvB,gBAAgB,QACrB,UAAU,qBAgBhB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export const sign = async (data, keypair, prehash) => {
|
|
|
9
9
|
return new SignatureWithKey({
|
|
10
10
|
prehash,
|
|
11
11
|
publicKey: keypair.publicKey,
|
|
12
|
-
signature: sodium.crypto_sign_detached(hashedData, keypair.privateKeyPublicKey)
|
|
12
|
+
signature: sodium.crypto_sign_detached(hashedData, keypair.privateKeyPublicKey),
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
export const verifySignatureEd25519 = async (signature, data) => {
|
|
@@ -24,4 +24,4 @@ export const verifySignatureEd25519 = async (signature, data) => {
|
|
|
24
24
|
}
|
|
25
25
|
return res;
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=ed25519-sign
|
|
27
|
+
//# sourceMappingURL=ed25519-sign.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-sign.browser.js","sourceRoot":"","sources":["../../src/ed25519-sign.browser.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAgB,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EACxB,IAAgB,EAChB,OAAuB,EACvB,OAAgB,EACf,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD;;2GAEuG;IACvG,OAAO,IAAI,gBAAgB,CAAC;QAC3B,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,MAAM,CAAC,oBAAoB,CACrC,UAAU,EACV,OAAO,CAAC,mBAAmB,CAC3B;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAC1C,SAA2B,EAC3B,IAAgB,EACf,EAAE;IACH,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,CAAC,2BAA2B,CAClD,SAAS,CAAC,SAAS,EACnB,UAAU,EACT,SAAS,CAAC,SAA8B,CAAC,SAAS,CACnD,CAAC;QACF,GAAG,GAAG,QAAQ,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Ed25519Keypair } from "./ed25519.js";
|
|
1
|
+
import { type Ed25519Keypair } from "./ed25519.js";
|
|
2
|
+
import { type PreHash } from "./prehash.js";
|
|
2
3
|
import { SignatureWithKey } from "./signature.js";
|
|
3
|
-
import { PreHash } from "./prehash.js";
|
|
4
4
|
export declare const sign: (data: Uint8Array, keypair: Ed25519Keypair, prehash: PreHash) => Promise<SignatureWithKey>;
|
|
5
5
|
export declare const verifySignatureEd25519: (signature: SignatureWithKey, data: Uint8Array) => Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=ed25519-sign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-sign.d.ts","sourceRoot":"","sources":["../../src/ed25519-sign.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,IAAI,SACV,UAAU,WACP,cAAc,WACd,OAAO,8BAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,cACvB,gBAAgB,QACrB,UAAU,qBAiBhB,CAAC"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import sodium from "libsodium-wrappers";
|
|
2
1
|
import crypto from "crypto";
|
|
3
|
-
import
|
|
2
|
+
import sodium from "libsodium-wrappers";
|
|
3
|
+
import {} from "./ed25519.js";
|
|
4
4
|
import { prehashFn } from "./prehash.js";
|
|
5
|
+
import { SignatureWithKey } from "./signature.js";
|
|
5
6
|
export const sign = async (data, keypair, prehash) => {
|
|
6
7
|
const hashedData = await prehashFn(data, prehash);
|
|
7
8
|
if (!keypair.privateKey.keyObject) {
|
|
8
9
|
keypair.privateKey.keyObject = crypto.createPrivateKey({
|
|
9
10
|
format: "der",
|
|
10
11
|
type: "pkcs8",
|
|
11
|
-
key: toDER(keypair.privateKeyPublicKey, true)
|
|
12
|
+
key: toDER(keypair.privateKeyPublicKey, true),
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
15
|
return new SignatureWithKey({
|
|
15
16
|
prehash,
|
|
16
17
|
publicKey: keypair.publicKey,
|
|
17
|
-
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject)
|
|
18
|
+
signature: crypto.sign(null, hashedData, keypair.privateKey.keyObject),
|
|
18
19
|
});
|
|
19
20
|
};
|
|
20
21
|
export const verifySignatureEd25519 = async (signature, data) => {
|
|
@@ -31,7 +32,7 @@ export const verifySignatureEd25519 = async (signature, data) => {
|
|
|
31
32
|
return res;
|
|
32
33
|
};
|
|
33
34
|
const DER_PREFIX = Buffer.from([
|
|
34
|
-
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32
|
|
35
|
+
48, 46, 2, 1, 0, 48, 5, 6, 3, 43, 101, 112, 4, 34, 4, 32,
|
|
35
36
|
]);
|
|
36
37
|
const ED25519_OID = Buffer.from([0x06, 0x03, 0x2b, 0x65, 0x70]);
|
|
37
38
|
const SEQUENCE_TAG = Buffer.from([0x30]); // Sequence tag
|
|
@@ -51,13 +52,13 @@ function toDER(key, p = false) {
|
|
|
51
52
|
BIT_TAG,
|
|
52
53
|
Buffer.from([key.length + 1]),
|
|
53
54
|
ZERO_BIT_TAG,
|
|
54
|
-
key
|
|
55
|
+
key,
|
|
55
56
|
]);
|
|
56
57
|
// Wrap up by creating a sequence of elements
|
|
57
58
|
const der = Buffer.concat([
|
|
58
59
|
SEQUENCE_TAG,
|
|
59
60
|
Buffer.from([elements.length]),
|
|
60
|
-
elements
|
|
61
|
+
elements,
|
|
61
62
|
]);
|
|
62
63
|
return der;
|
|
63
64
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-sign.js","sourceRoot":"","sources":["../../src/ed25519-sign.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { PrivateSignKey, PublicSignKey, Keypair } from "./key.js";
|
|
2
|
-
import { Identity, SignWithKey } from "./signer.js";
|
|
3
|
-
import { SignatureWithKey } from "./signature.js";
|
|
4
1
|
import type { Ed25519PeerId, PeerId } from "@libp2p/interface";
|
|
2
|
+
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
5
3
|
import { PreHash } from "./prehash.js";
|
|
4
|
+
import { SignatureWithKey } from "./signature.js";
|
|
5
|
+
import { type Identity, type SignWithKey } from "./signer.js";
|
|
6
6
|
export declare class Ed25519PublicKey extends PublicSignKey {
|
|
7
7
|
publicKey: Uint8Array;
|
|
8
8
|
constructor(properties: {
|
|
@@ -39,3 +39,4 @@ export declare class Ed25519Keypair extends Keypair implements Identity {
|
|
|
39
39
|
get privateKeyPublicKey(): Uint8Array;
|
|
40
40
|
toPeerId(): Promise<PeerId>;
|
|
41
41
|
}
|
|
42
|
+
//# sourceMappingURL=ed25519.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM/D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9D,qBACa,gBAAiB,SAAQ,aAAa;IAElD,SAAS,EAAE,UAAU,CAAC;gBAEV,UAAU,EAAE;QAAE,SAAS,EAAE,UAAU,CAAA;KAAE;IAQjD,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAOrC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB3B,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM;CAW5B;AAED,qBACa,iBAAkB,SAAQ,cAAc;IAEpD,UAAU,EAAE,UAAU,CAAC;gBAEX,UAAU,EAAE;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;IAUlD,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAOzC,QAAQ,IAAI,MAAM;IAIlB,SAAS,EAAE,GAAG,CAAC;IAEf,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM;CAW5B;AAED,qBACa,cAAe,SAAQ,OAAQ,YAAW,QAAQ;IAE9D,SAAS,EAAE,gBAAgB,CAAC;IAG5B,UAAU,EAAE,iBAAiB,CAAC;gBAElB,UAAU,EAAE;QACvB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,UAAU,EAAE,iBAAiB,CAAC;KAC9B;WAMY,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAe9C,IAAI,CACH,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,OAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC;IAI5B,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW;IAMrC,MAAM,CAAC,KAAK,EAAE,OAAO;IAUrB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAOhD,oBAAoB,EAAG,UAAU,CAAC;IAClC,IAAI,mBAAmB,IAAI,UAAU,CAQpC;IAED,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;CAU3B"}
|
|
@@ -9,16 +9,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
var Ed25519PublicKey_1, Ed25519PrivateKey_1, Ed25519Keypair_1;
|
|
11
11
|
import { field, fixedArray, variant } from "@dao-xyz/borsh";
|
|
12
|
-
import { PrivateSignKey, PublicSignKey, Keypair } from "./key.js";
|
|
13
|
-
import { equals } from "@peerbit/uint8arrays";
|
|
14
|
-
import { toHexString } from "./utils.js";
|
|
15
|
-
import { peerIdFromKeys } from "@libp2p/peer-id";
|
|
16
12
|
import { supportedKeys } from "@libp2p/crypto/keys";
|
|
17
|
-
import {
|
|
13
|
+
import { peerIdFromKeys } from "@libp2p/peer-id";
|
|
18
14
|
import sodium from "libsodium-wrappers";
|
|
15
|
+
import { concat, equals } from "uint8arrays";
|
|
16
|
+
import { coerce } from "./bytes.js";
|
|
19
17
|
import { sign } from "./ed25519-sign.js";
|
|
18
|
+
import { Keypair, PrivateSignKey, PublicSignKey } from "./key.js";
|
|
20
19
|
import { PreHash } from "./prehash.js";
|
|
21
|
-
import {
|
|
20
|
+
import { SignatureWithKey } from "./signature.js";
|
|
21
|
+
import {} from "./signer.js";
|
|
22
|
+
import { toHexString } from "./utils.js";
|
|
22
23
|
let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extends PublicSignKey {
|
|
23
24
|
publicKey;
|
|
24
25
|
constructor(properties) {
|
|
@@ -58,7 +59,7 @@ let Ed25519PublicKey = Ed25519PublicKey_1 = class Ed25519PublicKey extends Publi
|
|
|
58
59
|
}
|
|
59
60
|
if (id.type === "Ed25519") {
|
|
60
61
|
return new Ed25519PublicKey_1({
|
|
61
|
-
publicKey: coerce(id.publicKey.slice(4))
|
|
62
|
+
publicKey: coerce(id.publicKey.slice(4)),
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -98,7 +99,7 @@ let Ed25519PrivateKey = Ed25519PrivateKey_1 = class Ed25519PrivateKey extends Pr
|
|
|
98
99
|
}
|
|
99
100
|
if (id.type === "Ed25519") {
|
|
100
101
|
return new Ed25519PrivateKey_1({
|
|
101
|
-
privateKey: coerce(id.privateKey.slice(4, 36))
|
|
102
|
+
privateKey: coerce(id.privateKey.slice(4, 36)),
|
|
102
103
|
});
|
|
103
104
|
}
|
|
104
105
|
throw new Error("Unsupported key type: " + id.type);
|
|
@@ -126,11 +127,11 @@ let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
|
126
127
|
const generated = sodium.crypto_sign_keypair();
|
|
127
128
|
const kp = new Ed25519Keypair_1({
|
|
128
129
|
publicKey: new Ed25519PublicKey({
|
|
129
|
-
publicKey: generated.publicKey
|
|
130
|
+
publicKey: generated.publicKey,
|
|
130
131
|
}),
|
|
131
132
|
privateKey: new Ed25519PrivateKey({
|
|
132
|
-
privateKey: generated.privateKey.slice(0, 32) // Only the private key part (?)
|
|
133
|
-
})
|
|
133
|
+
privateKey: generated.privateKey.slice(0, 32), // Only the private key part (?)
|
|
134
|
+
}),
|
|
134
135
|
});
|
|
135
136
|
return kp;
|
|
136
137
|
}
|
|
@@ -152,7 +153,7 @@ let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
|
152
153
|
static fromPeerId(peerId) {
|
|
153
154
|
return new Ed25519Keypair_1({
|
|
154
155
|
privateKey: Ed25519PrivateKey.fromPeerID(peerId),
|
|
155
|
-
publicKey: Ed25519PublicKey.fromPeerId(peerId)
|
|
156
|
+
publicKey: Ed25519PublicKey.fromPeerId(peerId),
|
|
156
157
|
});
|
|
157
158
|
}
|
|
158
159
|
_privateKeyPublicKey; // length 64
|
|
@@ -160,7 +161,7 @@ let Ed25519Keypair = Ed25519Keypair_1 = class Ed25519Keypair extends Keypair {
|
|
|
160
161
|
return (this._privateKeyPublicKey ||
|
|
161
162
|
(this._privateKeyPublicKey = concat([
|
|
162
163
|
this.privateKey.privateKey,
|
|
163
|
-
this.publicKey.publicKey
|
|
164
|
+
this.publicKey.publicKey,
|
|
164
165
|
])));
|
|
165
166
|
}
|
|
166
167
|
toPeerId() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../src/ed25519.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import { AbstractType } from "@dao-xyz/borsh";
|
|
3
|
-
import { X25519Keypair, X25519PublicKey } from "./x25519.js";
|
|
1
|
+
import { type AbstractType } from "@dao-xyz/borsh";
|
|
4
2
|
import { Ed25519PublicKey } from "./ed25519.js";
|
|
3
|
+
import { X25519Keypair, X25519PublicKey } from "./x25519.js";
|
|
4
|
+
export * from "./errors.js";
|
|
5
|
+
export declare const equals: (array1?: Uint8Array, array2?: Uint8Array) => boolean;
|
|
5
6
|
export type MaybePromise<T> = Promise<T> | T;
|
|
6
7
|
export type PublicKeyEncryptionParameters = {
|
|
7
8
|
type?: "publicKey";
|
|
@@ -17,12 +18,14 @@ type CipherWithEnvelope<E = PublicKeyEnvelope | HashedKeyEnvelope> = {
|
|
|
17
18
|
nonce: Uint8Array;
|
|
18
19
|
envelope: E;
|
|
19
20
|
};
|
|
21
|
+
type SymmetricKeys = Uint8Array;
|
|
22
|
+
type PublicKeyEncryptionKeys = X25519Keypair;
|
|
20
23
|
type EnvelopeFromParameter<Parameters extends KeyExchangeOptions> = Parameters extends PublicKeyEncryptionParameters ? PublicKeyEnvelope : HashedKeyEnvelope;
|
|
21
24
|
type EncryptProvide<Parameters extends KeyExchangeOptions> = (bytes: Uint8Array, parameters: Parameters) => Promise<CipherWithEnvelope<EnvelopeFromParameter<Parameters>>>;
|
|
22
25
|
interface KeyProvider {
|
|
23
26
|
exportByKey(publicKey: X25519PublicKey): Promise<X25519Keypair | undefined>;
|
|
24
27
|
}
|
|
25
|
-
export declare const createLocalEncryptProvider: <
|
|
28
|
+
export declare const createLocalEncryptProvider: <K extends PublicKeyEncryptionKeys | SymmetricKeys, Parameters extends KeyExchangeOptions = K extends X25519Keypair ? PublicKeyEncryptionParameters : SymmetricKeyEncryptionParameters>(keys: K) => (bytes: Uint8Array, parameters: Parameters) => Promise<CipherWithEnvelope<EnvelopeFromParameter<Parameters>>>;
|
|
26
29
|
export type DecryptProvider = (encrypted: Uint8Array, nonce: Uint8Array, exchange: Envelope) => Promise<Uint8Array>;
|
|
27
30
|
type KeyResolver = <T extends X25519PublicKey | Uint8Array>(key: T) => Promise<(T extends X25519PublicKey ? X25519Keypair : Uint8Array) | undefined>;
|
|
28
31
|
export declare const createDecrypterFromKeyResolver: (keyResolver: KeyResolver) => DecryptProvider;
|
|
@@ -50,8 +53,8 @@ export declare class DecryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
50
53
|
getValue(clazz: AbstractType<T>): T;
|
|
51
54
|
encrypt<Parameters extends KeyExchangeOptions>(provider: EncryptProvide<Parameters>, parameters: Parameters): Promise<EncryptReturnValue<T, Parameters>>;
|
|
52
55
|
encrypt(x25519Keypair: X25519Keypair, receiverPublicKeys: (X25519PublicKey | Ed25519PublicKey)[]): Promise<EncryptReturnValue<T, PublicKeyEncryptionParameters>>;
|
|
53
|
-
get decrypted():
|
|
54
|
-
decrypt():
|
|
56
|
+
get decrypted(): this;
|
|
57
|
+
decrypt(): this;
|
|
55
58
|
equals(other: MaybeEncrypted<T>): boolean;
|
|
56
59
|
clear(): void;
|
|
57
60
|
get byteLength(): number;
|
|
@@ -59,7 +62,7 @@ export declare class DecryptedThing<T> extends MaybeEncrypted<T> {
|
|
|
59
62
|
export declare class CipherWithNonce {
|
|
60
63
|
nonce: Uint8Array;
|
|
61
64
|
cipher: Uint8Array;
|
|
62
|
-
constructor(props
|
|
65
|
+
constructor(props: {
|
|
63
66
|
nonce: Uint8Array;
|
|
64
67
|
cipher: Uint8Array;
|
|
65
68
|
});
|
|
@@ -68,7 +71,7 @@ export declare class CipherWithNonce {
|
|
|
68
71
|
export declare class K {
|
|
69
72
|
_encryptedKey: CipherWithNonce;
|
|
70
73
|
_receiverPublicKey: X25519PublicKey;
|
|
71
|
-
constructor(props
|
|
74
|
+
constructor(props: {
|
|
72
75
|
encryptedKey: CipherWithNonce;
|
|
73
76
|
receiverPublicKey: X25519PublicKey;
|
|
74
77
|
});
|
|
@@ -80,7 +83,7 @@ declare abstract class Envelope {
|
|
|
80
83
|
declare class PublicKeyEnvelope extends Envelope {
|
|
81
84
|
_senderPublicKey: X25519PublicKey;
|
|
82
85
|
_ks: K[];
|
|
83
|
-
constructor(props
|
|
86
|
+
constructor(props: {
|
|
84
87
|
senderPublicKey: X25519PublicKey;
|
|
85
88
|
ks: K[];
|
|
86
89
|
});
|
|
@@ -88,7 +91,7 @@ declare class PublicKeyEnvelope extends Envelope {
|
|
|
88
91
|
}
|
|
89
92
|
declare class HashedKeyEnvelope extends Envelope {
|
|
90
93
|
hash: Uint8Array;
|
|
91
|
-
constructor(props
|
|
94
|
+
constructor(props: {
|
|
92
95
|
hash: Uint8Array;
|
|
93
96
|
});
|
|
94
97
|
equals(other: HashedKeyEnvelope): boolean;
|
|
@@ -97,7 +100,7 @@ export declare class EncryptedThing<T, E extends Envelope = PublicKeyEnvelope |
|
|
|
97
100
|
_encrypted: Uint8Array;
|
|
98
101
|
_nonce: Uint8Array;
|
|
99
102
|
_keyexchange: E;
|
|
100
|
-
constructor(props
|
|
103
|
+
constructor(props: {
|
|
101
104
|
encrypted: Uint8Array;
|
|
102
105
|
nonce: Uint8Array;
|
|
103
106
|
envelope: E;
|
|
@@ -110,3 +113,4 @@ export declare class EncryptedThing<T, E extends Envelope = PublicKeyEnvelope |
|
|
|
110
113
|
clear(): void;
|
|
111
114
|
get byteLength(): number;
|
|
112
115
|
}
|
|
116
|
+
//# sourceMappingURL=encryption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/encryption.ts"],"names":[],"mappings":"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"}
|