@digitaldefiance/ecies-lib 4.6.2 → 4.7.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.
Files changed (120) hide show
  1. package/README.md +420 -0
  2. package/package.json +4 -10
  3. package/src/builders/ecies-builder.d.ts +1 -1
  4. package/src/builders/ecies-builder.d.ts.map +1 -1
  5. package/src/builders/ecies-builder.js +2 -2
  6. package/src/builders/ecies-builder.js.map +1 -1
  7. package/src/email-string.js +2 -3
  8. package/src/email-string.js.map +1 -1
  9. package/src/i18n-setup.js +1 -1
  10. package/src/i18n-setup.js.map +1 -1
  11. package/src/index.d.ts +1 -0
  12. package/src/index.d.ts.map +1 -1
  13. package/src/index.js +2 -0
  14. package/src/index.js.map +1 -1
  15. package/src/interfaces/index.d.ts +1 -0
  16. package/src/interfaces/index.d.ts.map +1 -1
  17. package/src/interfaces/index.js +3 -0
  18. package/src/interfaces/index.js.map +1 -1
  19. package/src/interfaces/member.d.ts.map +1 -1
  20. package/src/interfaces/voting-poll.d.ts +455 -0
  21. package/src/interfaces/voting-poll.d.ts.map +1 -0
  22. package/src/interfaces/voting-poll.js +54 -0
  23. package/src/interfaces/voting-poll.js.map +1 -0
  24. package/src/isolated-private.d.ts +0 -4
  25. package/src/isolated-private.d.ts.map +1 -1
  26. package/src/isolated-private.js +0 -13
  27. package/src/isolated-private.js.map +1 -1
  28. package/src/isolated-public.d.ts +4 -2
  29. package/src/isolated-public.d.ts.map +1 -1
  30. package/src/isolated-public.js +10 -8
  31. package/src/isolated-public.js.map +1 -1
  32. package/src/lib/voting/audit.d.ts +79 -0
  33. package/src/lib/voting/audit.d.ts.map +1 -0
  34. package/src/lib/voting/audit.js +188 -0
  35. package/src/lib/voting/audit.js.map +1 -0
  36. package/src/lib/voting/bulletin-board.d.ts +94 -0
  37. package/src/lib/voting/bulletin-board.d.ts.map +1 -0
  38. package/src/lib/voting/bulletin-board.js +287 -0
  39. package/src/lib/voting/bulletin-board.js.map +1 -0
  40. package/src/lib/voting/encoder.d.ts +42 -0
  41. package/src/lib/voting/encoder.d.ts.map +1 -0
  42. package/src/lib/voting/encoder.js +157 -0
  43. package/src/lib/voting/encoder.js.map +1 -0
  44. package/src/lib/voting/event-logger.d.ts +81 -0
  45. package/src/lib/voting/event-logger.d.ts.map +1 -0
  46. package/src/lib/voting/event-logger.js +162 -0
  47. package/src/lib/voting/event-logger.js.map +1 -0
  48. package/src/lib/voting/examples.d.ts +30 -0
  49. package/src/lib/voting/examples.d.ts.map +1 -0
  50. package/src/lib/voting/examples.js +153 -0
  51. package/src/lib/voting/examples.js.map +1 -0
  52. package/src/lib/voting/factory.d.ts +35 -0
  53. package/src/lib/voting/factory.d.ts.map +1 -0
  54. package/src/lib/voting/factory.js +57 -0
  55. package/src/lib/voting/factory.js.map +1 -0
  56. package/src/lib/voting/index.d.ts +44 -0
  57. package/src/lib/voting/index.d.ts.map +1 -0
  58. package/src/lib/voting/index.js +60 -0
  59. package/src/lib/voting/index.js.map +1 -0
  60. package/src/lib/voting/poll-core.d.ts +55 -0
  61. package/src/lib/voting/poll-core.d.ts.map +1 -0
  62. package/src/lib/voting/poll-core.js +225 -0
  63. package/src/lib/voting/poll-core.js.map +1 -0
  64. package/src/lib/voting/poll.d.ts +124 -0
  65. package/src/lib/voting/poll.d.ts.map +1 -0
  66. package/src/lib/voting/poll.js +322 -0
  67. package/src/lib/voting/poll.js.map +1 -0
  68. package/src/lib/voting/security.d.ts +33 -0
  69. package/src/lib/voting/security.d.ts.map +1 -0
  70. package/src/lib/voting/security.js +68 -0
  71. package/src/lib/voting/security.js.map +1 -0
  72. package/src/lib/voting/tallier.d.ts +35 -0
  73. package/src/lib/voting/tallier.d.ts.map +1 -0
  74. package/src/lib/voting/tallier.js +415 -0
  75. package/src/lib/voting/tallier.js.map +1 -0
  76. package/src/lib/voting/types.d.ts +145 -0
  77. package/src/lib/voting/types.d.ts.map +1 -0
  78. package/src/lib/voting/types.js +48 -0
  79. package/src/lib/voting/types.js.map +1 -0
  80. package/src/member.d.ts +2 -2
  81. package/src/member.d.ts.map +1 -1
  82. package/src/member.js +2 -2
  83. package/src/member.js.map +1 -1
  84. package/src/secure-string.d.ts +2 -2
  85. package/src/secure-string.d.ts.map +1 -1
  86. package/src/secure-string.js +2 -2
  87. package/src/secure-string.js.map +1 -1
  88. package/src/services/aes-gcm.js.map +1 -1
  89. package/src/services/chunk-processor.d.ts +2 -2
  90. package/src/services/chunk-processor.d.ts.map +1 -1
  91. package/src/services/chunk-processor.js +3 -3
  92. package/src/services/chunk-processor.js.map +1 -1
  93. package/src/services/ecies/service.d.ts +3 -0
  94. package/src/services/ecies/service.d.ts.map +1 -1
  95. package/src/services/ecies/service.js +6 -0
  96. package/src/services/ecies/service.js.map +1 -1
  97. package/src/services/ecies/single-recipient.d.ts +1 -1
  98. package/src/services/ecies/single-recipient.d.ts.map +1 -1
  99. package/src/services/ecies/single-recipient.js +1 -1
  100. package/src/services/ecies/single-recipient.js.map +1 -1
  101. package/src/services/encryption-stream.d.ts +3 -3
  102. package/src/services/encryption-stream.d.ts.map +1 -1
  103. package/src/services/encryption-stream.js +7 -7
  104. package/src/services/encryption-stream.js.map +1 -1
  105. package/src/services/index.d.ts +1 -0
  106. package/src/services/index.d.ts.map +1 -1
  107. package/src/services/index.js.map +1 -1
  108. package/src/services/multi-recipient-processor.d.ts +2 -2
  109. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  110. package/src/services/multi-recipient-processor.js +4 -4
  111. package/src/services/multi-recipient-processor.js.map +1 -1
  112. package/src/services/voting.service.d.ts.map +1 -1
  113. package/src/services/voting.service.js +4 -4
  114. package/src/services/voting.service.js.map +1 -1
  115. package/src/test-mocks/mock-frontend-member.d.ts +1 -1
  116. package/src/test-mocks/mock-frontend-member.d.ts.map +1 -1
  117. package/src/test-mocks/mock-frontend-member.js +1 -1
  118. package/src/test-mocks/mock-frontend-member.js.map +1 -1
  119. package/src/types.d.ts +1 -1
  120. package/src/types.d.ts.map +1 -1
@@ -30,16 +30,18 @@ class IsolatedPublicKey extends paillier_bigint_1.PublicKey {
30
30
  keyId;
31
31
  /**
32
32
  * Original instance ID generated at construction time
33
+ * @deprecated Currently unused, may be used for instance tracking in future
33
34
  */
34
- _originalInstanceId;
35
+ ___originalInstanceId;
35
36
  /**
36
37
  * Current instance ID (can be updated via updateInstanceId())
37
38
  */
38
39
  _currentInstanceId;
39
40
  /**
40
41
  * Unique salt used for instance ID generation
42
+ * @deprecated Currently stored but not actively used
41
43
  */
42
- uniqueInstanceSalt;
44
+ __uniqueInstanceSalt;
43
45
  /**
44
46
  * Updates the current instance ID to a new random value.
45
47
  * This invalidates all previously encrypted ciphertexts.
@@ -100,10 +102,10 @@ class IsolatedPublicKey extends paillier_bigint_1.PublicKey {
100
102
  // Generate unique salt for this instance
101
103
  const uniqueInstanceSalt = new Uint8Array(32);
102
104
  crypto.getRandomValues(uniqueInstanceSalt);
103
- this.uniqueInstanceSalt = uniqueInstanceSalt;
105
+ this.__uniqueInstanceSalt = uniqueInstanceSalt;
104
106
  // Generate instance IDs (this is problematic with sync constructor)
105
107
  // We'll need to handle this differently
106
- this._originalInstanceId = new Uint8Array(32); // Placeholder
108
+ this.___originalInstanceId = new Uint8Array(32); // Placeholder
107
109
  this._currentInstanceId = new Uint8Array(32); // Placeholder
108
110
  // TODO: This needs to be refactored to use async factory method
109
111
  }
@@ -126,13 +128,13 @@ class IsolatedPublicKey extends paillier_bigint_1.PublicKey {
126
128
  combined.set(uniqueInstanceSalt, keyId.length + nBytes.length);
127
129
  const instanceId = await key.sha256Async(combined);
128
130
  // Use Object.defineProperty to set readonly fields
129
- Object.defineProperty(key, 'uniqueInstanceSalt', {
131
+ Object.defineProperty(key, '_uniqueInstanceSalt', {
130
132
  value: uniqueInstanceSalt,
131
133
  writable: false,
132
134
  enumerable: true,
133
135
  configurable: false,
134
136
  });
135
- Object.defineProperty(key, '_originalInstanceId', {
137
+ Object.defineProperty(key, '__originalInstanceId', {
136
138
  value: instanceId,
137
139
  writable: false,
138
140
  enumerable: false,
@@ -156,13 +158,13 @@ class IsolatedPublicKey extends paillier_bigint_1.PublicKey {
156
158
  // Set uniqueInstanceSalt to empty array
157
159
  const uniqueInstanceSalt = new Uint8Array(0);
158
160
  // Use Object.defineProperty to set readonly fields
159
- Object.defineProperty(key, 'uniqueInstanceSalt', {
161
+ Object.defineProperty(key, '_uniqueInstanceSalt', {
160
162
  value: uniqueInstanceSalt,
161
163
  writable: false,
162
164
  enumerable: true,
163
165
  configurable: false,
164
166
  });
165
- Object.defineProperty(key, '_originalInstanceId', {
167
+ Object.defineProperty(key, '__originalInstanceId', {
166
168
  value: instanceId,
167
169
  writable: false,
168
170
  enumerable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-public.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/isolated-public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolated-public.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/isolated-public.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Immutable Audit Log for Government-Grade Voting
3
+ * Implements requirement 1.1: Cryptographically signed, hash-chained audit trail
4
+ */
5
+ import type { IMember } from './types';
6
+ export declare enum AuditEventType {
7
+ PollCreated = "poll_created",
8
+ VoteCast = "vote_cast",
9
+ PollClosed = "poll_closed"
10
+ }
11
+ export interface AuditEntry {
12
+ /** Sequence number (monotonically increasing) */
13
+ readonly sequence: number;
14
+ /** Event type */
15
+ readonly eventType: AuditEventType;
16
+ /** Microsecond-precision timestamp */
17
+ readonly timestamp: number;
18
+ /** Poll identifier */
19
+ readonly pollId: Uint8Array;
20
+ /** Hash of voter ID (for vote events) */
21
+ readonly voterIdHash?: Uint8Array;
22
+ /** Authority/creator ID (for creation/closure events) */
23
+ readonly authorityId?: Uint8Array;
24
+ /** Hash of previous entry (chain integrity) */
25
+ readonly previousHash: Uint8Array;
26
+ /** Hash of this entry's data */
27
+ readonly entryHash: Uint8Array;
28
+ /** Cryptographic signature from authority */
29
+ readonly signature: Uint8Array;
30
+ /** Additional metadata */
31
+ readonly metadata?: Record<string, unknown>;
32
+ }
33
+ export interface AuditLog {
34
+ /** Get all entries in chronological order */
35
+ getEntries(): readonly AuditEntry[];
36
+ /** Get entries for a specific poll */
37
+ getEntriesForPoll(pollId: Uint8Array): readonly AuditEntry[];
38
+ /** Verify the entire chain integrity */
39
+ verifyChain(): boolean;
40
+ /** Verify a specific entry's signature */
41
+ verifyEntry(entry: AuditEntry): boolean;
42
+ }
43
+ /**
44
+ * Immutable audit log with cryptographic hash chain
45
+ */
46
+ export declare class ImmutableAuditLog implements AuditLog {
47
+ private readonly entries;
48
+ private readonly authority;
49
+ private sequence;
50
+ constructor(authority: IMember);
51
+ /**
52
+ * Record poll creation event
53
+ */
54
+ recordPollCreated(pollId: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
55
+ /**
56
+ * Record vote cast event
57
+ */
58
+ recordVoteCast(pollId: Uint8Array, voterIdHash: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
59
+ /**
60
+ * Record poll closure event
61
+ */
62
+ recordPollClosed(pollId: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
63
+ getEntries(): readonly AuditEntry[];
64
+ getEntriesForPoll(pollId: Uint8Array): readonly AuditEntry[];
65
+ verifyChain(): boolean;
66
+ verifyEntry(entry: AuditEntry): boolean;
67
+ private appendEntry;
68
+ private computeEntryHash;
69
+ private serializeEntryForHashing;
70
+ private serializeEntryForSigning;
71
+ private getMicrosecondTimestamp;
72
+ private sha256Sync;
73
+ private encodeNumber;
74
+ private encodeString;
75
+ private concat;
76
+ private arraysEqual;
77
+ private toHex;
78
+ }
79
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,oBAAY,cAAc;IACxB,WAAW,iBAAiB;IAC5B,QAAQ,cAAc;IACtB,UAAU,gBAAgB;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iBAAiB;IACjB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,UAAU,IAAI,SAAS,UAAU,EAAE,CAAC;IACpC,sCAAsC;IACtC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;IAC7D,wCAAwC;IACxC,WAAW,IAAI,OAAO,CAAC;IACvB,0CAA0C;IAC1C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAK;gBAET,SAAS,EAAE,OAAO;IAI9B;;OAEG;IACH,iBAAiB,CACf,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb;;OAEG;IACH,cAAc,CACZ,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,UAAU,EACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb,UAAU,IAAI,SAAS,UAAU,EAAE;IAInC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE;IAO5D,WAAW,IAAI,OAAO;IA6BtB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAKvC,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,KAAK;CAKd"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmutableAuditLog = exports.AuditEventType = void 0;
4
+ var AuditEventType;
5
+ (function (AuditEventType) {
6
+ AuditEventType["PollCreated"] = "poll_created";
7
+ AuditEventType["VoteCast"] = "vote_cast";
8
+ AuditEventType["PollClosed"] = "poll_closed";
9
+ })(AuditEventType || (exports.AuditEventType = AuditEventType = {}));
10
+ /**
11
+ * Immutable audit log with cryptographic hash chain
12
+ */
13
+ class ImmutableAuditLog {
14
+ entries = [];
15
+ authority;
16
+ sequence = 0;
17
+ constructor(authority) {
18
+ this.authority = authority;
19
+ }
20
+ /**
21
+ * Record poll creation event
22
+ */
23
+ recordPollCreated(pollId, metadata) {
24
+ return this.appendEntry({
25
+ eventType: AuditEventType.PollCreated,
26
+ pollId,
27
+ authorityId: this.authority.id,
28
+ metadata,
29
+ });
30
+ }
31
+ /**
32
+ * Record vote cast event
33
+ */
34
+ recordVoteCast(pollId, voterIdHash, metadata) {
35
+ return this.appendEntry({
36
+ eventType: AuditEventType.VoteCast,
37
+ pollId,
38
+ voterIdHash,
39
+ metadata,
40
+ });
41
+ }
42
+ /**
43
+ * Record poll closure event
44
+ */
45
+ recordPollClosed(pollId, metadata) {
46
+ return this.appendEntry({
47
+ eventType: AuditEventType.PollClosed,
48
+ pollId,
49
+ authorityId: this.authority.id,
50
+ metadata,
51
+ });
52
+ }
53
+ getEntries() {
54
+ return Object.freeze([...this.entries]);
55
+ }
56
+ getEntriesForPoll(pollId) {
57
+ const pollIdStr = this.toHex(pollId);
58
+ return Object.freeze(this.entries.filter((e) => this.toHex(e.pollId) === pollIdStr));
59
+ }
60
+ verifyChain() {
61
+ if (this.entries.length === 0)
62
+ return true;
63
+ for (let i = 0; i < this.entries.length; i++) {
64
+ const entry = this.entries[i];
65
+ // Verify entry hash
66
+ const computedHash = this.computeEntryHash(entry);
67
+ if (!this.arraysEqual(computedHash, entry.entryHash)) {
68
+ return false;
69
+ }
70
+ // Verify signature
71
+ if (!this.verifyEntry(entry)) {
72
+ return false;
73
+ }
74
+ // Verify chain link (except first entry)
75
+ if (i > 0) {
76
+ const prevEntry = this.entries[i - 1];
77
+ if (!this.arraysEqual(entry.previousHash, prevEntry.entryHash)) {
78
+ return false;
79
+ }
80
+ }
81
+ }
82
+ return true;
83
+ }
84
+ verifyEntry(entry) {
85
+ const data = this.serializeEntryForSigning(entry);
86
+ return this.authority.verify(entry.signature, data);
87
+ }
88
+ appendEntry(partial) {
89
+ const previousHash = this.entries.length > 0
90
+ ? this.entries[this.entries.length - 1].entryHash
91
+ : new Uint8Array(32); // Genesis entry uses zero hash
92
+ const entry = {
93
+ sequence: this.sequence++,
94
+ timestamp: this.getMicrosecondTimestamp(),
95
+ previousHash,
96
+ ...partial,
97
+ };
98
+ const entryHash = this.computeEntryHash(entry);
99
+ const data = this.serializeEntryForSigning({ ...entry, entryHash });
100
+ const signature = this.authority.sign(data);
101
+ const finalEntry = {
102
+ ...entry,
103
+ entryHash,
104
+ signature,
105
+ };
106
+ this.entries.push(finalEntry);
107
+ return finalEntry;
108
+ }
109
+ computeEntryHash(entry) {
110
+ const data = this.serializeEntryForHashing(entry);
111
+ return this.sha256Sync(data);
112
+ }
113
+ serializeEntryForHashing(entry) {
114
+ const parts = [
115
+ this.encodeNumber(entry.sequence),
116
+ this.encodeString(entry.eventType),
117
+ this.encodeNumber(entry.timestamp),
118
+ entry.pollId,
119
+ entry.previousHash,
120
+ ];
121
+ if (entry.voterIdHash)
122
+ parts.push(entry.voterIdHash);
123
+ if (entry.authorityId)
124
+ parts.push(entry.authorityId);
125
+ if (entry.metadata)
126
+ parts.push(this.encodeString(JSON.stringify(entry.metadata)));
127
+ return this.concat(parts);
128
+ }
129
+ serializeEntryForSigning(entry) {
130
+ return this.concat([this.serializeEntryForHashing(entry), entry.entryHash]);
131
+ }
132
+ getMicrosecondTimestamp() {
133
+ return Math.floor(performance.now() * 1000) + Date.now() * 1000;
134
+ }
135
+ sha256Sync(data) {
136
+ // Simple deterministic hash for browser compatibility
137
+ // NOTE: This is NOT cryptographically secure - consider using @noble/hashes for production
138
+ const encoder = new TextEncoder();
139
+ const hashInput = encoder.encode(this.toHex(data));
140
+ let hash = 0;
141
+ for (let i = 0; i < hashInput.length; i++) {
142
+ hash = ((hash << 5) - hash + hashInput[i]) | 0;
143
+ }
144
+ // Convert to 32-byte array
145
+ const result = new Uint8Array(32);
146
+ const view = new DataView(result.buffer);
147
+ view.setUint32(0, hash >>> 0, false);
148
+ // Fill rest with deterministic pattern
149
+ for (let i = 4; i < 32; i++) {
150
+ result[i] = (hash * (i + 1)) & 0xff;
151
+ }
152
+ return result;
153
+ }
154
+ encodeNumber(n) {
155
+ const buffer = new ArrayBuffer(8);
156
+ new DataView(buffer).setBigUint64(0, BigInt(n), false);
157
+ return new Uint8Array(buffer);
158
+ }
159
+ encodeString(s) {
160
+ return new TextEncoder().encode(s);
161
+ }
162
+ concat(arrays) {
163
+ const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);
164
+ const result = new Uint8Array(totalLength);
165
+ let offset = 0;
166
+ for (const arr of arrays) {
167
+ result.set(arr, offset);
168
+ offset += arr.length;
169
+ }
170
+ return result;
171
+ }
172
+ arraysEqual(a, b) {
173
+ if (a.length !== b.length)
174
+ return false;
175
+ for (let i = 0; i < a.length; i++) {
176
+ if (a[i] !== b[i])
177
+ return false;
178
+ }
179
+ return true;
180
+ }
181
+ toHex(arr) {
182
+ return Array.from(arr)
183
+ .map((b) => b.toString(16).padStart(2, '0'))
184
+ .join('');
185
+ }
186
+ }
187
+ exports.ImmutableAuditLog = ImmutableAuditLog;
188
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Public Bulletin Board for Government-Grade Voting
3
+ * Implements requirement 1.2: Append-only, publicly verifiable vote publication
4
+ */
5
+ import type { IMember } from './types';
6
+ export interface BulletinBoardEntry {
7
+ /** Sequence number (monotonically increasing) */
8
+ readonly sequence: number;
9
+ /** Microsecond-precision timestamp */
10
+ readonly timestamp: number;
11
+ /** Poll identifier */
12
+ readonly pollId: Uint8Array;
13
+ /** Encrypted vote data */
14
+ readonly encryptedVote: bigint[];
15
+ /** Hash of voter ID (anonymized) */
16
+ readonly voterIdHash: Uint8Array;
17
+ /** Merkle root of all entries up to this point */
18
+ readonly merkleRoot: Uint8Array;
19
+ /** Hash of this entry */
20
+ readonly entryHash: Uint8Array;
21
+ /** Authority signature */
22
+ readonly signature: Uint8Array;
23
+ }
24
+ export interface TallyProof {
25
+ /** Poll identifier */
26
+ readonly pollId: Uint8Array;
27
+ /** Final tallies */
28
+ readonly tallies: bigint[];
29
+ /** Choice names */
30
+ readonly choices: string[];
31
+ /** Timestamp of tally */
32
+ readonly timestamp: number;
33
+ /** Hash of all encrypted votes */
34
+ readonly votesHash: Uint8Array;
35
+ /** Cryptographic proof of correct decryption */
36
+ readonly decryptionProof: Uint8Array;
37
+ /** Authority signature */
38
+ readonly signature: Uint8Array;
39
+ }
40
+ export interface BulletinBoard {
41
+ /** Publish encrypted vote to bulletin board */
42
+ publishVote(pollId: Uint8Array, encryptedVote: bigint[], voterIdHash: Uint8Array): BulletinBoardEntry;
43
+ /** Publish tally with cryptographic proof */
44
+ publishTally(pollId: Uint8Array, tallies: bigint[], choices: string[], encryptedVotes: bigint[][]): TallyProof;
45
+ /** Get all entries for a poll */
46
+ getEntries(pollId: Uint8Array): readonly BulletinBoardEntry[];
47
+ /** Get all entries (entire bulletin board) */
48
+ getAllEntries(): readonly BulletinBoardEntry[];
49
+ /** Get tally proof for a poll */
50
+ getTallyProof(pollId: Uint8Array): TallyProof | undefined;
51
+ /** Verify entry signature and hash */
52
+ verifyEntry(entry: BulletinBoardEntry): boolean;
53
+ /** Verify tally proof */
54
+ verifyTallyProof(proof: TallyProof): boolean;
55
+ /** Verify Merkle tree integrity */
56
+ verifyMerkleTree(): boolean;
57
+ /** Export complete bulletin board for archival */
58
+ export(): Uint8Array;
59
+ }
60
+ /**
61
+ * Append-only public bulletin board with cryptographic verification
62
+ */
63
+ export declare class PublicBulletinBoard implements BulletinBoard {
64
+ private readonly entries;
65
+ private readonly tallyProofs;
66
+ private readonly authority;
67
+ private sequence;
68
+ constructor(authority: IMember);
69
+ publishVote(pollId: Uint8Array, encryptedVote: bigint[], voterIdHash: Uint8Array): BulletinBoardEntry;
70
+ publishTally(pollId: Uint8Array, tallies: bigint[], choices: string[], encryptedVotes: bigint[][]): TallyProof;
71
+ getEntries(pollId: Uint8Array): readonly BulletinBoardEntry[];
72
+ getAllEntries(): readonly BulletinBoardEntry[];
73
+ getTallyProof(pollId: Uint8Array): TallyProof | undefined;
74
+ verifyEntry(entry: BulletinBoardEntry): boolean;
75
+ verifyTallyProof(proof: TallyProof): boolean;
76
+ verifyMerkleTree(): boolean;
77
+ export(): Uint8Array;
78
+ private computeMerkleRoot;
79
+ private hashEncryptedVotes;
80
+ private generateDecryptionProof;
81
+ private serializeEntryData;
82
+ private serializeTallyProof;
83
+ private serializeEntry;
84
+ private serializeTallyProofFull;
85
+ private getMicrosecondTimestamp;
86
+ private sha256;
87
+ private encodeNumber;
88
+ private encodeBigInt;
89
+ private encodeString;
90
+ private concat;
91
+ private arraysEqual;
92
+ private toHex;
93
+ }
94
+ //# sourceMappingURL=bulletin-board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulletin-board.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/bulletin-board.ts"],"names":[],"mappings":"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"}