@digitaldefiance/ecies-lib 4.4.23 → 4.5.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/package.json +10 -2
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/interfaces/member.d.ts +7 -0
- package/src/interfaces/member.d.ts.map +1 -1
- package/src/member.d.ts +11 -0
- package/src/member.d.ts.map +1 -1
- package/src/member.js +29 -0
- package/src/member.js.map +1 -1
- package/src/services/index.d.ts +1 -0
- package/src/services/index.d.ts.map +1 -1
- package/src/services/index.js +3 -0
- package/src/services/index.js.map +1 -1
- package/src/services/voting.service.d.ts +196 -0
- package/src/services/voting.service.d.ts.map +1 -0
- package/src/services/voting.service.js +537 -0
- package/src/services/voting.service.js.map +1 -0
- package/src/voting-utils.d.ts +86 -0
- package/src/voting-utils.d.ts.map +1 -0
- package/src/voting-utils.js +148 -0
- package/src/voting-utils.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/ecies-lib",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.5.0",
|
|
4
4
|
"description": "Digital Defiance ECIES Library",
|
|
5
5
|
"homepage": "https://github.com/Digital-Defiance/ecies-lib",
|
|
6
6
|
"repository": {
|
|
@@ -53,8 +53,16 @@
|
|
|
53
53
|
"author": "Digital Defiance",
|
|
54
54
|
"license": "MIT",
|
|
55
55
|
"packageManager": "yarn@4.11.0",
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"paillier-bigint": "^3.4.1"
|
|
58
|
+
},
|
|
59
|
+
"peerDependenciesMeta": {
|
|
60
|
+
"paillier-bigint": {
|
|
61
|
+
"optional": true
|
|
62
|
+
}
|
|
63
|
+
},
|
|
56
64
|
"dependencies": {
|
|
57
|
-
"@digitaldefiance/i18n-lib": "3.8.
|
|
65
|
+
"@digitaldefiance/i18n-lib": "3.8.16",
|
|
58
66
|
"@ethereumjs/wallet": "^10.0.0",
|
|
59
67
|
"@noble/curves": "^2.0.1",
|
|
60
68
|
"@noble/hashes": "^2.0.1",
|
package/src/index.d.ts
CHANGED
|
@@ -32,4 +32,6 @@ export * from './secure-string';
|
|
|
32
32
|
export * from './services';
|
|
33
33
|
export * from './types';
|
|
34
34
|
export * from './utils';
|
|
35
|
+
export * from './voting-utils';
|
|
36
|
+
export type { PrivateKey, PublicKey, KeyPair as PaillierKeyPair } from 'paillier-bigint';
|
|
35
37
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AASvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AASvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAG/B,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
|
package/src/index.js
CHANGED
|
@@ -55,4 +55,5 @@ tslib_1.__exportStar(require("./secure-string"), exports);
|
|
|
55
55
|
tslib_1.__exportStar(require("./services"), exports);
|
|
56
56
|
tslib_1.__exportStar(require("./types"), exports);
|
|
57
57
|
tslib_1.__exportStar(require("./utils"), exports);
|
|
58
|
+
tslib_1.__exportStar(require("./voting-utils"), exports); // Keep this - contains shared math utilities
|
|
58
59
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;AAEH,kBAAkB;AAClB,2DAAiC;AACjC,uDAA6B;AAC7B,sDAA4B;AAE5B,UAAU;AACV,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AAGtB,mFAAmF;AACnF,mEAAmE;AACnE,uEAKuC;AAJrC,iIAAA,wBAAwB,OAAA;AACxB,+HAAA,sBAAsB,OAAA;AACtB,sIAAA,6BAA6B,OAAA;AAC7B,wIAAA,+BAA+B,OAAA;AAGjC,2DAA2D;AAC3D,oEAAoE;AACpE,8DAA8D;AAE9D,kEAAkE;AAClE,gEAAgE;AAEhE,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,mDAAyB;AACzB,uDAA6B;AAC7B,uEAA6C;AAC7C,kEAAyE;AAAhE,4HAAA,wBAAwB,OAAA;AAEjC,qEAA2C;AAC3C,qEAA2C;AAC3C,uEAA6C;AAC7C,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,0DAAgC;AAChC,qDAA2B;AAC3B,kDAAwB;AACxB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;AAEH,kBAAkB;AAClB,2DAAiC;AACjC,uDAA6B;AAC7B,sDAA4B;AAE5B,UAAU;AACV,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AAGtB,mFAAmF;AACnF,mEAAmE;AACnE,uEAKuC;AAJrC,iIAAA,wBAAwB,OAAA;AACxB,+HAAA,sBAAsB,OAAA;AACtB,sIAAA,6BAA6B,OAAA;AAC7B,wIAAA,+BAA+B,OAAA;AAGjC,2DAA2D;AAC3D,oEAAoE;AACpE,8DAA8D;AAE9D,kEAAkE;AAClE,gEAAgE;AAEhE,sDAA4B;AAC5B,yDAA+B;AAC/B,yDAA+B;AAC/B,mDAAyB;AACzB,uDAA6B;AAC7B,uEAA6C;AAC7C,kEAAyE;AAAhE,4HAAA,wBAAwB,OAAA;AAEjC,qEAA2C;AAC3C,qEAA2C;AAC3C,uEAA6C;AAC7C,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,0DAAgC;AAChC,qDAA2B;AAC3B,kDAAwB;AACxB,kDAAwB;AACxB,yDAA+B,CAAC,6CAA6C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Wallet } from '@ethereumjs/wallet';
|
|
2
|
+
import type { PrivateKey, PublicKey } from 'paillier-bigint';
|
|
2
3
|
import type { EmailString } from '../email-string';
|
|
3
4
|
import type { MemberType } from '../enumerations/member-type';
|
|
4
5
|
import type { SecureBuffer } from '../secure-buffer';
|
|
@@ -22,12 +23,18 @@ export interface IMember {
|
|
|
22
23
|
readonly dateUpdated: Date;
|
|
23
24
|
readonly privateKey: SecureBuffer | undefined;
|
|
24
25
|
readonly wallet: Wallet;
|
|
26
|
+
readonly votingPublicKey?: PublicKey;
|
|
27
|
+
readonly votingPrivateKey?: PrivateKey;
|
|
25
28
|
readonly hasPrivateKey: boolean;
|
|
29
|
+
readonly hasVotingPrivateKey: boolean;
|
|
26
30
|
unloadPrivateKey(): void;
|
|
27
31
|
unloadWallet(): void;
|
|
28
32
|
unloadWalletAndPrivateKey(): void;
|
|
29
33
|
loadWallet(mnemonic: SecureString, eciesParams?: IECIESConstants): void;
|
|
30
34
|
loadPrivateKey(privateKey: SecureBuffer): void;
|
|
35
|
+
loadVotingKeys?(votingPublicKey: PublicKey, votingPrivateKey?: PrivateKey): void;
|
|
36
|
+
deriveVotingKeys?(): void;
|
|
37
|
+
unloadVotingPrivateKey?(): void;
|
|
31
38
|
sign(data: Uint8Array): SignatureUint8Array;
|
|
32
39
|
signData(data: Uint8Array): SignatureUint8Array;
|
|
33
40
|
verify(signature: SignatureUint8Array, data: Uint8Array): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,OAAO;IAEtB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAG3B,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/interfaces/member.ts"],"names":[],"mappings":"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"}
|
package/src/member.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Wallet } from '@ethereumjs/wallet';
|
|
2
|
+
import type { PrivateKey, PublicKey } from 'paillier-bigint';
|
|
2
3
|
import { EmailString } from './email-string';
|
|
3
4
|
import { MemberType } from './enumerations/member-type';
|
|
4
5
|
import { IECIESConstants } from './interfaces/ecies-consts';
|
|
@@ -9,6 +10,7 @@ import { IMemberWithMnemonic } from './interfaces/member-with-mnemonic';
|
|
|
9
10
|
import { SecureBuffer } from './secure-buffer';
|
|
10
11
|
import { SecureString } from './secure-string';
|
|
11
12
|
import { ECIESService } from './services/ecies/service';
|
|
13
|
+
import { DeriveVotingKeysOptions } from './services/voting.service';
|
|
12
14
|
import { SignatureUint8Array } from './types';
|
|
13
15
|
/**
|
|
14
16
|
* Represents a member with cryptographic capabilities.
|
|
@@ -27,6 +29,8 @@ export declare class Member implements IMember, IFrontendMemberOperational<Uint8
|
|
|
27
29
|
private readonly _dateUpdated;
|
|
28
30
|
private _privateKey?;
|
|
29
31
|
private _wallet?;
|
|
32
|
+
private _votingPublicKey?;
|
|
33
|
+
private _votingPrivateKey?;
|
|
30
34
|
constructor(eciesService: ECIESService, type: MemberType, name: string, email: EmailString, publicKey: Uint8Array, privateKey?: SecureBuffer, wallet?: Wallet, id?: Uint8Array, dateCreated?: Date, dateUpdated?: Date, creatorId?: Uint8Array);
|
|
31
35
|
get id(): Uint8Array;
|
|
32
36
|
get type(): MemberType;
|
|
@@ -39,6 +43,12 @@ export declare class Member implements IMember, IFrontendMemberOperational<Uint8
|
|
|
39
43
|
get privateKey(): SecureBuffer | undefined;
|
|
40
44
|
get wallet(): Wallet;
|
|
41
45
|
get hasPrivateKey(): boolean;
|
|
46
|
+
get hasVotingPrivateKey(): boolean;
|
|
47
|
+
get votingPublicKey(): PublicKey | undefined;
|
|
48
|
+
get votingPrivateKey(): PrivateKey | undefined;
|
|
49
|
+
deriveVotingKeys(options?: DeriveVotingKeysOptions): Promise<void>;
|
|
50
|
+
loadVotingKeys(publicKey: PublicKey, privateKey?: PrivateKey): void;
|
|
51
|
+
unloadVotingPrivateKey(): void;
|
|
42
52
|
unloadPrivateKey(): void;
|
|
43
53
|
unloadWallet(): void;
|
|
44
54
|
unloadWalletAndPrivateKey(): void;
|
|
@@ -61,6 +71,7 @@ export declare class Member implements IMember, IFrontendMemberOperational<Uint8
|
|
|
61
71
|
*/
|
|
62
72
|
encryptDataStream(source: AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>, options?: {
|
|
63
73
|
recipientPublicKey?: Uint8Array;
|
|
74
|
+
chunkSize?: number;
|
|
64
75
|
onProgress?: (progress: {
|
|
65
76
|
bytesProcessed: number;
|
|
66
77
|
chunksProcessed: number;
|
package/src/member.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
package/src/member.js
CHANGED
|
@@ -8,6 +8,7 @@ const member_type_1 = require("./enumerations/member-type");
|
|
|
8
8
|
const member_1 = require("./errors/member");
|
|
9
9
|
const secure_buffer_1 = require("./secure-buffer");
|
|
10
10
|
const encryption_stream_1 = require("./services/encryption-stream");
|
|
11
|
+
const voting_service_1 = require("./services/voting.service");
|
|
11
12
|
const utils_1 = require("./utils");
|
|
12
13
|
/**
|
|
13
14
|
* Represents a member with cryptographic capabilities.
|
|
@@ -26,6 +27,9 @@ class Member {
|
|
|
26
27
|
_dateUpdated;
|
|
27
28
|
_privateKey;
|
|
28
29
|
_wallet;
|
|
30
|
+
// Optional voting keys for homomorphic encryption voting systems
|
|
31
|
+
_votingPublicKey;
|
|
32
|
+
_votingPrivateKey;
|
|
29
33
|
constructor(
|
|
30
34
|
// Add injected services as parameters
|
|
31
35
|
eciesService,
|
|
@@ -98,6 +102,30 @@ class Member {
|
|
|
98
102
|
get hasPrivateKey() {
|
|
99
103
|
return this._privateKey !== undefined;
|
|
100
104
|
}
|
|
105
|
+
get hasVotingPrivateKey() {
|
|
106
|
+
return this._votingPrivateKey !== undefined;
|
|
107
|
+
}
|
|
108
|
+
get votingPublicKey() {
|
|
109
|
+
return this._votingPublicKey;
|
|
110
|
+
}
|
|
111
|
+
get votingPrivateKey() {
|
|
112
|
+
return this._votingPrivateKey;
|
|
113
|
+
}
|
|
114
|
+
async deriveVotingKeys(options) {
|
|
115
|
+
if (!this._privateKey) {
|
|
116
|
+
throw new member_1.MemberError(member_error_type_1.MemberErrorType.MissingPrivateKey);
|
|
117
|
+
}
|
|
118
|
+
const keyPair = await (0, voting_service_1.deriveVotingKeysFromECDH)(new Uint8Array(this._privateKey.value), this._publicKey, options);
|
|
119
|
+
this._votingPublicKey = keyPair.publicKey;
|
|
120
|
+
this._votingPrivateKey = keyPair.privateKey;
|
|
121
|
+
}
|
|
122
|
+
loadVotingKeys(publicKey, privateKey) {
|
|
123
|
+
this._votingPublicKey = publicKey;
|
|
124
|
+
this._votingPrivateKey = privateKey;
|
|
125
|
+
}
|
|
126
|
+
unloadVotingPrivateKey() {
|
|
127
|
+
this._votingPrivateKey = undefined;
|
|
128
|
+
}
|
|
101
129
|
unloadPrivateKey() {
|
|
102
130
|
// Do not dispose here; tests expect the same SecureBuffer instance to remain usable
|
|
103
131
|
// when reloaded into another member in the same process.
|
|
@@ -171,6 +199,7 @@ class Member {
|
|
|
171
199
|
let chunksProcessed = 0;
|
|
172
200
|
for await (const chunk of stream.encryptStream(asyncSource, targetPublicKey, {
|
|
173
201
|
signal: options?.signal,
|
|
202
|
+
chunkSize: options?.chunkSize,
|
|
174
203
|
})) {
|
|
175
204
|
bytesProcessed += chunk.metadata?.originalSize || 0;
|
|
176
205
|
chunksProcessed++;
|
package/src/member.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
|
package/src/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,OAAO,CAAC"}
|
package/src/services/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VotingService = void 0;
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
tslib_1.__exportStar(require("./aes-gcm"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./chunk-processor"), exports);
|
|
@@ -10,5 +11,7 @@ tslib_1.__exportStar(require("./password-login"), exports);
|
|
|
10
11
|
tslib_1.__exportStar(require("./pbkdf2"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./progress-tracker"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./resumable-encryption"), exports);
|
|
14
|
+
var voting_service_1 = require("./voting.service");
|
|
15
|
+
Object.defineProperty(exports, "VotingService", { enumerable: true, get: function () { return voting_service_1.VotingService; } });
|
|
13
16
|
tslib_1.__exportStar(require("./xor"), exports);
|
|
14
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,4DAAkC;AAClC,kDAAwB;AACxB,8DAAoC;AACpC,sEAA4C;AAC5C,2DAAiC;AACjC,mDAAyB;AACzB,6DAAmC;AACnC,iEAAuC;AACvC,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,gDAAsB"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voting Service for browser/web environments
|
|
3
|
+
* Provides ECIES-to-Paillier key bridge for homomorphic encryption voting systems.
|
|
4
|
+
* Uses @noble/secp256k1 for ECDH (matching Node.js implementation).
|
|
5
|
+
*/
|
|
6
|
+
import type { KeyPair, PrivateKey, PublicKey } from 'paillier-bigint';
|
|
7
|
+
import { millerRabinTest, modPow, modInverse, gcd, lcm, type DeriveVotingKeysOptions } from '../voting-utils';
|
|
8
|
+
export { millerRabinTest, modPow, modInverse, gcd, lcm, type DeriveVotingKeysOptions, };
|
|
9
|
+
/**
|
|
10
|
+
* HKDF implementation using Web Crypto API
|
|
11
|
+
*
|
|
12
|
+
* SECURITY: This is a cryptographically secure key derivation function.
|
|
13
|
+
* - Uses Web Crypto API for browser compatibility
|
|
14
|
+
* - Provides pseudorandomness indistinguishable from random
|
|
15
|
+
* - One-way: computationally infeasible to recover IKM from OKM
|
|
16
|
+
* - Domain separation via 'info' parameter
|
|
17
|
+
*
|
|
18
|
+
* @param secret - The input key material (IKM)
|
|
19
|
+
* @param salt - Optional salt value (non-secret random value)
|
|
20
|
+
* @param info - Context string for domain separation
|
|
21
|
+
* @param length - Length of output keying material in bytes
|
|
22
|
+
* @param hmacAlgorithm - HMAC algorithm to use (default: 'SHA-512')
|
|
23
|
+
* @returns Derived key material (OKM)
|
|
24
|
+
*/
|
|
25
|
+
export declare function hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Promise<Uint8Array>;
|
|
26
|
+
/**
|
|
27
|
+
* Secure Deterministic Random Bit Generator using HMAC-DRBG (SP 800-90A)
|
|
28
|
+
* Web Crypto API version with proper async initialization
|
|
29
|
+
*
|
|
30
|
+
* SECURITY: NIST-approved deterministic random bit generator
|
|
31
|
+
* - Provides backtracking resistance
|
|
32
|
+
* - Provides prediction resistance
|
|
33
|
+
* - Cryptographically secure pseudorandom output
|
|
34
|
+
* - Uses async factory pattern for proper HMAC initialization
|
|
35
|
+
*/
|
|
36
|
+
export declare class SecureDeterministicDRBG {
|
|
37
|
+
private v;
|
|
38
|
+
private k;
|
|
39
|
+
private readonly hmacAlgorithm;
|
|
40
|
+
private readonly hashLength;
|
|
41
|
+
private constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Create and initialize a new DRBG instance
|
|
44
|
+
*/
|
|
45
|
+
static create(seed: Uint8Array, hmacAlgorithm?: string): Promise<SecureDeterministicDRBG>;
|
|
46
|
+
private hmacAsync;
|
|
47
|
+
private update;
|
|
48
|
+
generate(numBytes: number): Promise<Uint8Array>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Generate a deterministic prime number using DRBG (async web version)
|
|
52
|
+
*/
|
|
53
|
+
export declare function generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): Promise<bigint>;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a deterministic Paillier key pair from a seed (async web version)
|
|
56
|
+
*/
|
|
57
|
+
export declare function generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): Promise<KeyPair>;
|
|
58
|
+
/**
|
|
59
|
+
* Derive Paillier voting keys from ECDH key pair (async web version)
|
|
60
|
+
*
|
|
61
|
+
* SECURITY PROPERTIES:
|
|
62
|
+
* - One-way: Computationally infeasible to recover ECDH keys from Paillier keys
|
|
63
|
+
* - Deterministic: Same ECDH keys always produce same Paillier keys
|
|
64
|
+
* - Collision-resistant: Different ECDH keys produce different Paillier keys
|
|
65
|
+
* - Domain-separated: Cryptographically bound to voting purpose via HKDF info
|
|
66
|
+
*
|
|
67
|
+
* SECURITY LEVEL: ~128 bits (equivalent to 3072-bit RSA)
|
|
68
|
+
* - ECDH: secp256k1 curve (~128-bit security, matches Node.js)
|
|
69
|
+
* - HKDF: SHA-512 (512-bit security against preimage)
|
|
70
|
+
* - Paillier: 3072-bit modulus (NIST recommended for 128-bit security)
|
|
71
|
+
*
|
|
72
|
+
* @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
|
|
73
|
+
* @param ecdhPubKey - ECDH public key (33/64/65 bytes, compressed or uncompressed)
|
|
74
|
+
* @param options - Configuration options
|
|
75
|
+
* @returns Paillier key pair for voting operations
|
|
76
|
+
*/
|
|
77
|
+
export declare function deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): Promise<KeyPair>;
|
|
78
|
+
/**
|
|
79
|
+
* Voting service for deriving and managing Paillier voting keys from ECDH keys.
|
|
80
|
+
* Web/Browser version using @noble/secp256k1.
|
|
81
|
+
*
|
|
82
|
+
* SECURITY ARCHITECTURE:
|
|
83
|
+
* This service implements a novel but cryptographically sound bridge between
|
|
84
|
+
* ECDSA/ECDH keys and Paillier homomorphic encryption keys. The construction
|
|
85
|
+
* uses only proven cryptographic primitives:
|
|
86
|
+
*
|
|
87
|
+
* - ECDH (secp256k1): Shared secret computation via @noble/secp256k1
|
|
88
|
+
* - HKDF (RFC 5869): Cryptographically secure key derivation
|
|
89
|
+
* - HMAC-DRBG (NIST SP 800-90A): Deterministic random generation
|
|
90
|
+
* - Miller-Rabin (256 rounds): Primality testing (error < 2^-512)
|
|
91
|
+
* - Paillier (3072-bit): Homomorphic encryption
|
|
92
|
+
*
|
|
93
|
+
* SECURITY GUARANTEES:
|
|
94
|
+
* - 128-bit security level (equivalent to 3072-bit RSA)
|
|
95
|
+
* - One-way: Cannot recover ECDH keys from Paillier keys
|
|
96
|
+
* - Deterministic: Enables key recovery from same ECDH source
|
|
97
|
+
* - Collision-resistant: Birthday bound ~2^128 operations
|
|
98
|
+
* - Domain-separated: Cryptographic binding via HKDF info string
|
|
99
|
+
*
|
|
100
|
+
* THREAT MODEL:
|
|
101
|
+
* Protected against: factorization attacks, weak primes, small prime attacks
|
|
102
|
+
* Timing attacks: Mitigated via constant-time operations where possible
|
|
103
|
+
* Side-channels: Dependent on @noble/secp256k1 implementation
|
|
104
|
+
* Quantum: Vulnerable to Shor's algorithm (like all RSA-type systems)
|
|
105
|
+
*
|
|
106
|
+
* WEB-SPECIFIC CONSIDERATIONS:
|
|
107
|
+
* - All cryptographic operations are async
|
|
108
|
+
* - Uses secp256k1 curve (same as Node.js for cross-platform compatibility)
|
|
109
|
+
* - Uses @noble/secp256k1 library (already used for ECIES operations)
|
|
110
|
+
* - DRBG uses proper async factory pattern for HMAC initialization
|
|
111
|
+
*
|
|
112
|
+
* For detailed security analysis, see:
|
|
113
|
+
* docs/SECURITY_ANALYSIS_ECIES_PAILLIER_BRIDGE.md
|
|
114
|
+
*/
|
|
115
|
+
export declare class VotingService {
|
|
116
|
+
private static instance?;
|
|
117
|
+
/**
|
|
118
|
+
* Get singleton instance of VotingService
|
|
119
|
+
*/
|
|
120
|
+
static getInstance(): VotingService;
|
|
121
|
+
/**
|
|
122
|
+
* Derive Paillier voting keys from ECDH key pair.
|
|
123
|
+
*
|
|
124
|
+
* @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
|
|
125
|
+
* @param ecdhPubKey - ECDH public key (33/64/65 bytes, compressed or uncompressed)
|
|
126
|
+
* @param options - Configuration options
|
|
127
|
+
* @returns Paillier key pair for voting operations
|
|
128
|
+
*/
|
|
129
|
+
deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): Promise<KeyPair>;
|
|
130
|
+
/**
|
|
131
|
+
* HKDF key derivation function (RFC 5869)
|
|
132
|
+
*/
|
|
133
|
+
hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Promise<Uint8Array>;
|
|
134
|
+
/**
|
|
135
|
+
* Miller-Rabin primality test
|
|
136
|
+
*/
|
|
137
|
+
millerRabinTest(n: bigint, k: number): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Modular exponentiation
|
|
140
|
+
*/
|
|
141
|
+
modPow(base: bigint, exp: bigint, mod: bigint): bigint;
|
|
142
|
+
/**
|
|
143
|
+
* Modular multiplicative inverse
|
|
144
|
+
*/
|
|
145
|
+
modInverse(a: bigint, m: bigint): bigint;
|
|
146
|
+
/**
|
|
147
|
+
* Greatest common divisor
|
|
148
|
+
*/
|
|
149
|
+
gcd(a: bigint, b: bigint): bigint;
|
|
150
|
+
/**
|
|
151
|
+
* Least common multiple
|
|
152
|
+
*/
|
|
153
|
+
lcm(a: bigint, b: bigint): bigint;
|
|
154
|
+
/**
|
|
155
|
+
* Generate a deterministic prime using DRBG
|
|
156
|
+
*/
|
|
157
|
+
generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): Promise<bigint>;
|
|
158
|
+
/**
|
|
159
|
+
* Generate a deterministic Paillier key pair from seed
|
|
160
|
+
*/
|
|
161
|
+
generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): Promise<KeyPair>;
|
|
162
|
+
/**
|
|
163
|
+
* Create a secure deterministic random bit generator
|
|
164
|
+
*/
|
|
165
|
+
createDRBG(seed: Uint8Array, hmacAlgorithm?: string): Promise<SecureDeterministicDRBG>;
|
|
166
|
+
/**
|
|
167
|
+
* Serialize a Paillier public key to Uint8Array
|
|
168
|
+
*
|
|
169
|
+
* SECURITY: Public keys are safe to share. This serialization
|
|
170
|
+
* format is deterministic and preserves all key information.
|
|
171
|
+
*/
|
|
172
|
+
votingPublicKeyToBuffer(publicKey: PublicKey): Uint8Array;
|
|
173
|
+
/**
|
|
174
|
+
* Deserialize a Paillier public key from Uint8Array
|
|
175
|
+
*/
|
|
176
|
+
bufferToVotingPublicKey(buffer: Uint8Array): Promise<PublicKey>;
|
|
177
|
+
/**
|
|
178
|
+
* Serialize a Paillier private key to Uint8Array
|
|
179
|
+
*
|
|
180
|
+
* SECURITY WARNING: Private keys must be kept secret!
|
|
181
|
+
* - Only serialize for secure storage or transmission
|
|
182
|
+
* - Encrypt serialized keys before storing or transmitting
|
|
183
|
+
* - Consider using browser's IndexedDB with encryption
|
|
184
|
+
* - Never log or expose private keys in client-side code
|
|
185
|
+
*/
|
|
186
|
+
votingPrivateKeyToBuffer(privateKey: PrivateKey): Uint8Array;
|
|
187
|
+
/**
|
|
188
|
+
* Deserialize a Paillier private key from Uint8Array
|
|
189
|
+
*/
|
|
190
|
+
bufferToVotingPrivateKey(buffer: Uint8Array, publicKey: PublicKey): Promise<PrivateKey>;
|
|
191
|
+
serializePublicKey(publicKey: PublicKey): Promise<Uint8Array>;
|
|
192
|
+
deserializePublicKey(buffer: Uint8Array): Promise<PublicKey>;
|
|
193
|
+
serializePrivateKey(privateKey: PrivateKey): Promise<Uint8Array>;
|
|
194
|
+
deserializePrivateKey(buffer: Uint8Array, publicKey: PublicKey): Promise<PrivateKey>;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=voting.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voting.service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}
|