@digitaldefiance/node-ecies-lib 4.5.0 → 4.5.17
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 +6 -2
- package/src/builders/ecies-builder.d.ts +0 -11
- package/src/builders/ecies-builder.d.ts.map +0 -1
- package/src/builders/ecies-builder.js +0 -26
- package/src/builders/ecies-builder.js.map +0 -1
- package/src/builders/index.d.ts +0 -3
- package/src/builders/index.d.ts.map +0 -1
- package/src/builders/index.js +0 -6
- package/src/builders/index.js.map +0 -1
- package/src/builders/member-builder.d.ts +0 -47
- package/src/builders/member-builder.d.ts.map +0 -1
- package/src/builders/member-builder.js +0 -99
- package/src/builders/member-builder.js.map +0 -1
- package/src/constants.d.ts +0 -38
- package/src/constants.d.ts.map +0 -1
- package/src/constants.js +0 -191
- package/src/constants.js.map +0 -1
- package/src/core/errors/crypto-error.d.ts +0 -6
- package/src/core/errors/crypto-error.d.ts.map +0 -1
- package/src/core/errors/crypto-error.js +0 -15
- package/src/core/errors/crypto-error.js.map +0 -1
- package/src/core/index.d.ts +0 -3
- package/src/core/index.d.ts.map +0 -1
- package/src/core/index.js +0 -6
- package/src/core/index.js.map +0 -1
- package/src/core/types/result.d.ts +0 -8
- package/src/core/types/result.d.ts.map +0 -1
- package/src/core/types/result.js +0 -3
- package/src/core/types/result.js.map +0 -1
- package/src/enumerations/index.d.ts +0 -2
- package/src/enumerations/index.d.ts.map +0 -1
- package/src/enumerations/index.js +0 -5
- package/src/enumerations/index.js.map +0 -1
- package/src/enumerations/pbkdf2-profile.d.ts +0 -9
- package/src/enumerations/pbkdf2-profile.d.ts.map +0 -1
- package/src/enumerations/pbkdf2-profile.js +0 -13
- package/src/enumerations/pbkdf2-profile.js.map +0 -1
- package/src/i18n/ecies-i18n-factory.d.ts +0 -28
- package/src/i18n/ecies-i18n-factory.d.ts.map +0 -1
- package/src/i18n/ecies-i18n-factory.js +0 -90
- package/src/i18n/ecies-i18n-factory.js.map +0 -1
- package/src/i18n/index.d.ts +0 -3
- package/src/i18n/index.d.ts.map +0 -1
- package/src/i18n/index.js +0 -8
- package/src/i18n/index.js.map +0 -1
- package/src/i18n/node-ecies-i18n-setup.d.ts +0 -5
- package/src/i18n/node-ecies-i18n-setup.d.ts.map +0 -1
- package/src/i18n/node-ecies-i18n-setup.js +0 -48
- package/src/i18n/node-ecies-i18n-setup.js.map +0 -1
- package/src/i18n/node-keys.d.ts +0 -57
- package/src/i18n/node-keys.d.ts.map +0 -1
- package/src/i18n/node-keys.js +0 -67
- package/src/i18n/node-keys.js.map +0 -1
- package/src/i18n/translations/de.d.ts +0 -3
- package/src/i18n/translations/de.d.ts.map +0 -1
- package/src/i18n/translations/de.js +0 -57
- package/src/i18n/translations/de.js.map +0 -1
- package/src/i18n/translations/en-GB.d.ts +0 -3
- package/src/i18n/translations/en-GB.d.ts.map +0 -1
- package/src/i18n/translations/en-GB.js +0 -61
- package/src/i18n/translations/en-GB.js.map +0 -1
- package/src/i18n/translations/en-US.d.ts +0 -6
- package/src/i18n/translations/en-US.d.ts.map +0 -1
- package/src/i18n/translations/en-US.js +0 -65
- package/src/i18n/translations/en-US.js.map +0 -1
- package/src/i18n/translations/es.d.ts +0 -3
- package/src/i18n/translations/es.d.ts.map +0 -1
- package/src/i18n/translations/es.js +0 -57
- package/src/i18n/translations/es.js.map +0 -1
- package/src/i18n/translations/fr.d.ts +0 -3
- package/src/i18n/translations/fr.d.ts.map +0 -1
- package/src/i18n/translations/fr.js +0 -57
- package/src/i18n/translations/fr.js.map +0 -1
- package/src/i18n/translations/index.d.ts +0 -9
- package/src/i18n/translations/index.d.ts.map +0 -1
- package/src/i18n/translations/index.js +0 -20
- package/src/i18n/translations/index.js.map +0 -1
- package/src/i18n/translations/ja.d.ts +0 -3
- package/src/i18n/translations/ja.d.ts.map +0 -1
- package/src/i18n/translations/ja.js +0 -57
- package/src/i18n/translations/ja.js.map +0 -1
- package/src/i18n/translations/uk.d.ts +0 -3
- package/src/i18n/translations/uk.d.ts.map +0 -1
- package/src/i18n/translations/uk.js +0 -57
- package/src/i18n/translations/uk.js.map +0 -1
- package/src/i18n/translations/zh-cn.d.ts +0 -3
- package/src/i18n/translations/zh-cn.d.ts.map +0 -1
- package/src/i18n/translations/zh-cn.js +0 -57
- package/src/i18n/translations/zh-cn.js.map +0 -1
- package/src/index.d.ts +0 -19
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -31
- package/src/index.js.map +0 -1
- package/src/interfaces/authenticated-cipher.d.ts +0 -12
- package/src/interfaces/authenticated-cipher.d.ts.map +0 -1
- package/src/interfaces/authenticated-cipher.js +0 -3
- package/src/interfaces/authenticated-cipher.js.map +0 -1
- package/src/interfaces/authenticated-decipher.d.ts +0 -11
- package/src/interfaces/authenticated-decipher.d.ts.map +0 -1
- package/src/interfaces/authenticated-decipher.js +0 -3
- package/src/interfaces/authenticated-decipher.js.map +0 -1
- package/src/interfaces/backend-member-operational.d.ts +0 -48
- package/src/interfaces/backend-member-operational.d.ts.map +0 -1
- package/src/interfaces/backend-member-operational.js +0 -3
- package/src/interfaces/backend-member-operational.js.map +0 -1
- package/src/interfaces/checksum-config.d.ts +0 -5
- package/src/interfaces/checksum-config.d.ts.map +0 -1
- package/src/interfaces/checksum-config.js +0 -3
- package/src/interfaces/checksum-config.js.map +0 -1
- package/src/interfaces/checksum-consts.d.ts +0 -11
- package/src/interfaces/checksum-consts.d.ts.map +0 -1
- package/src/interfaces/checksum-consts.js +0 -3
- package/src/interfaces/checksum-consts.js.map +0 -1
- package/src/interfaces/constants.d.ts +0 -52
- package/src/interfaces/constants.d.ts.map +0 -1
- package/src/interfaces/constants.js +0 -3
- package/src/interfaces/constants.js.map +0 -1
- package/src/interfaces/ecies-consts.d.ts +0 -88
- package/src/interfaces/ecies-consts.d.ts.map +0 -1
- package/src/interfaces/ecies-consts.js +0 -3
- package/src/interfaces/ecies-consts.js.map +0 -1
- package/src/interfaces/encrypted-chunk.d.ts +0 -12
- package/src/interfaces/encrypted-chunk.d.ts.map +0 -1
- package/src/interfaces/encrypted-chunk.js +0 -3
- package/src/interfaces/encrypted-chunk.js.map +0 -1
- package/src/interfaces/encryption-consts.d.ts +0 -11
- package/src/interfaces/encryption-consts.d.ts.map +0 -1
- package/src/interfaces/encryption-consts.js +0 -3
- package/src/interfaces/encryption-consts.js.map +0 -1
- package/src/interfaces/index.d.ts +0 -29
- package/src/interfaces/index.d.ts.map +0 -1
- package/src/interfaces/index.js +0 -30
- package/src/interfaces/index.js.map +0 -1
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts +0 -6
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.d.ts.map +0 -1
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js +0 -3
- package/src/interfaces/keypair-buffer-with-un-encrypted-private-key.js.map +0 -1
- package/src/interfaces/keyring-consts.d.ts +0 -6
- package/src/interfaces/keyring-consts.d.ts.map +0 -1
- package/src/interfaces/keyring-consts.js +0 -3
- package/src/interfaces/keyring-consts.js.map +0 -1
- package/src/interfaces/member-with-mnemonic.d.ts +0 -7
- package/src/interfaces/member-with-mnemonic.d.ts.map +0 -1
- package/src/interfaces/member-with-mnemonic.js +0 -3
- package/src/interfaces/member-with-mnemonic.js.map +0 -1
- package/src/interfaces/member.d.ts +0 -54
- package/src/interfaces/member.d.ts.map +0 -1
- package/src/interfaces/member.js +0 -3
- package/src/interfaces/member.js.map +0 -1
- package/src/interfaces/multi-encrypted-message.d.ts +0 -8
- package/src/interfaces/multi-encrypted-message.d.ts.map +0 -1
- package/src/interfaces/multi-encrypted-message.js +0 -3
- package/src/interfaces/multi-encrypted-message.js.map +0 -1
- package/src/interfaces/multi-encrypted-parsed-header.d.ts +0 -27
- package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +0 -1
- package/src/interfaces/multi-encrypted-parsed-header.js +0 -3
- package/src/interfaces/multi-encrypted-parsed-header.js.map +0 -1
- package/src/interfaces/multi-recipient-chunk.d.ts +0 -26
- package/src/interfaces/multi-recipient-chunk.d.ts.map +0 -1
- package/src/interfaces/multi-recipient-chunk.js +0 -15
- package/src/interfaces/multi-recipient-chunk.js.map +0 -1
- package/src/interfaces/pbkdf-profiles.d.ts +0 -6
- package/src/interfaces/pbkdf-profiles.d.ts.map +0 -1
- package/src/interfaces/pbkdf-profiles.js +0 -3
- package/src/interfaces/pbkdf-profiles.js.map +0 -1
- package/src/interfaces/pbkdf2-result.d.ts +0 -6
- package/src/interfaces/pbkdf2-result.d.ts.map +0 -1
- package/src/interfaces/pbkdf2-result.js +0 -3
- package/src/interfaces/pbkdf2-result.js.map +0 -1
- package/src/interfaces/signing-key-private-key-info.d.ts +0 -11
- package/src/interfaces/signing-key-private-key-info.d.ts.map +0 -1
- package/src/interfaces/signing-key-private-key-info.js +0 -3
- package/src/interfaces/signing-key-private-key-info.js.map +0 -1
- package/src/interfaces/simple-keypair-buffer.d.ts +0 -6
- package/src/interfaces/simple-keypair-buffer.d.ts.map +0 -1
- package/src/interfaces/simple-keypair-buffer.js +0 -3
- package/src/interfaces/simple-keypair-buffer.js.map +0 -1
- package/src/interfaces/simple-keypair.d.ts +0 -6
- package/src/interfaces/simple-keypair.d.ts.map +0 -1
- package/src/interfaces/simple-keypair.js +0 -3
- package/src/interfaces/simple-keypair.js.map +0 -1
- package/src/interfaces/simple-public-key-only-buffer.d.ts +0 -4
- package/src/interfaces/simple-public-key-only-buffer.d.ts.map +0 -1
- package/src/interfaces/simple-public-key-only-buffer.js +0 -3
- package/src/interfaces/simple-public-key-only-buffer.js.map +0 -1
- package/src/interfaces/simple-public-key-only.d.ts +0 -4
- package/src/interfaces/simple-public-key-only.d.ts.map +0 -1
- package/src/interfaces/simple-public-key-only.js +0 -3
- package/src/interfaces/simple-public-key-only.js.map +0 -1
- package/src/interfaces/single-encrypted-parsed-header.d.ts +0 -35
- package/src/interfaces/single-encrypted-parsed-header.d.ts.map +0 -1
- package/src/interfaces/single-encrypted-parsed-header.js +0 -3
- package/src/interfaces/single-encrypted-parsed-header.js.map +0 -1
- package/src/interfaces/stream-config.d.ts +0 -6
- package/src/interfaces/stream-config.d.ts.map +0 -1
- package/src/interfaces/stream-config.js +0 -8
- package/src/interfaces/stream-config.js.map +0 -1
- package/src/interfaces/stream-progress.d.ts +0 -8
- package/src/interfaces/stream-progress.d.ts.map +0 -1
- package/src/interfaces/stream-progress.js +0 -3
- package/src/interfaces/stream-progress.js.map +0 -1
- package/src/interfaces/wallet-seed.d.ts +0 -7
- package/src/interfaces/wallet-seed.d.ts.map +0 -1
- package/src/interfaces/wallet-seed.js +0 -3
- package/src/interfaces/wallet-seed.js.map +0 -1
- package/src/interfaces/wrapped-key-consts.d.ts +0 -7
- package/src/interfaces/wrapped-key-consts.d.ts.map +0 -1
- package/src/interfaces/wrapped-key-consts.js +0 -3
- package/src/interfaces/wrapped-key-consts.js.map +0 -1
- package/src/lib/crypto-container.d.ts +0 -13
- package/src/lib/crypto-container.d.ts.map +0 -1
- package/src/lib/crypto-container.js +0 -32
- package/src/lib/crypto-container.js.map +0 -1
- package/src/lib/index.d.ts +0 -4
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/index.js +0 -7
- package/src/lib/index.js.map +0 -1
- package/src/lib/invariant-validator.d.ts +0 -69
- package/src/lib/invariant-validator.d.ts.map +0 -1
- package/src/lib/invariant-validator.js +0 -98
- package/src/lib/invariant-validator.js.map +0 -1
- package/src/lib/invariants/index.d.ts +0 -8
- package/src/lib/invariants/index.d.ts.map +0 -1
- package/src/lib/invariants/index.js +0 -12
- package/src/lib/invariants/index.js.map +0 -1
- package/src/lib/invariants/recipient-id-consistency.d.ts +0 -41
- package/src/lib/invariants/recipient-id-consistency.d.ts.map +0 -1
- package/src/lib/invariants/recipient-id-consistency.js +0 -75
- package/src/lib/invariants/recipient-id-consistency.js.map +0 -1
- package/src/member.d.ts +0 -97
- package/src/member.d.ts.map +0 -1
- package/src/member.js +0 -322
- package/src/member.js.map +0 -1
- package/src/services/aes-gcm.d.ts +0 -66
- package/src/services/aes-gcm.d.ts.map +0 -1
- package/src/services/aes-gcm.js +0 -161
- package/src/services/aes-gcm.js.map +0 -1
- package/src/services/chunk-processor.d.ts +0 -15
- package/src/services/chunk-processor.d.ts.map +0 -1
- package/src/services/chunk-processor.js +0 -36
- package/src/services/chunk-processor.js.map +0 -1
- package/src/services/ecies/crypto-core.d.ts +0 -104
- package/src/services/ecies/crypto-core.d.ts.map +0 -1
- package/src/services/ecies/crypto-core.js +0 -234
- package/src/services/ecies/crypto-core.js.map +0 -1
- package/src/services/ecies/file.d.ts +0 -30
- package/src/services/ecies/file.d.ts.map +0 -1
- package/src/services/ecies/file.js +0 -112
- package/src/services/ecies/file.js.map +0 -1
- package/src/services/ecies/index.d.ts +0 -8
- package/src/services/ecies/index.d.ts.map +0 -1
- package/src/services/ecies/index.js +0 -11
- package/src/services/ecies/index.js.map +0 -1
- package/src/services/ecies/multi-recipient.d.ts +0 -84
- package/src/services/ecies/multi-recipient.d.ts.map +0 -1
- package/src/services/ecies/multi-recipient.js +0 -494
- package/src/services/ecies/multi-recipient.js.map +0 -1
- package/src/services/ecies/service.d.ts +0 -75
- package/src/services/ecies/service.d.ts.map +0 -1
- package/src/services/ecies/service.js +0 -152
- package/src/services/ecies/service.js.map +0 -1
- package/src/services/ecies/signature.d.ts +0 -38
- package/src/services/ecies/signature.d.ts.map +0 -1
- package/src/services/ecies/signature.js +0 -69
- package/src/services/ecies/signature.js.map +0 -1
- package/src/services/ecies/single-recipient.d.ts +0 -83
- package/src/services/ecies/single-recipient.d.ts.map +0 -1
- package/src/services/ecies/single-recipient.js +0 -448
- package/src/services/ecies/single-recipient.js.map +0 -1
- package/src/services/ecies/utilities.d.ts +0 -33
- package/src/services/ecies/utilities.d.ts.map +0 -1
- package/src/services/ecies/utilities.js +0 -91
- package/src/services/ecies/utilities.js.map +0 -1
- package/src/services/encryption-stream.d.ts +0 -33
- package/src/services/encryption-stream.d.ts.map +0 -1
- package/src/services/encryption-stream.js +0 -211
- package/src/services/encryption-stream.js.map +0 -1
- package/src/services/index.d.ts +0 -8
- package/src/services/index.d.ts.map +0 -1
- package/src/services/index.js +0 -11
- package/src/services/index.js.map +0 -1
- package/src/services/multi-recipient-processor.d.ts +0 -72
- package/src/services/multi-recipient-processor.d.ts.map +0 -1
- package/src/services/multi-recipient-processor.js +0 -321
- package/src/services/multi-recipient-processor.js.map +0 -1
- package/src/services/pbkdf2.d.ts +0 -105
- package/src/services/pbkdf2.d.ts.map +0 -1
- package/src/services/pbkdf2.js +0 -191
- package/src/services/pbkdf2.js.map +0 -1
- package/src/services/progress-tracker.d.ts +0 -9
- package/src/services/progress-tracker.d.ts.map +0 -1
- package/src/services/progress-tracker.js +0 -41
- package/src/services/progress-tracker.js.map +0 -1
- package/src/services/voting.service.d.ts +0 -232
- package/src/services/voting.service.d.ts.map +0 -1
- package/src/services/voting.service.js +0 -589
- package/src/services/voting.service.js.map +0 -1
- package/src/test-mocks/index.d.ts +0 -2
- package/src/test-mocks/index.d.ts.map +0 -1
- package/src/test-mocks/index.js +0 -5
- package/src/test-mocks/index.js.map +0 -1
- package/src/test-mocks/mock-backend-member.d.ts +0 -76
- package/src/test-mocks/mock-backend-member.d.ts.map +0 -1
- package/src/test-mocks/mock-backend-member.js +0 -139
- package/src/test-mocks/mock-backend-member.js.map +0 -1
- package/src/testing.d.ts +0 -2
- package/src/testing.d.ts.map +0 -1
- package/src/testing.js +0 -6
- package/src/testing.js.map +0 -1
- package/src/types/id-guards.d.ts +0 -39
- package/src/types/id-guards.d.ts.map +0 -1
- package/src/types/id-guards.js +0 -91
- package/src/types/id-guards.js.map +0 -1
- package/src/types/index.d.ts +0 -2
- package/src/types/index.d.ts.map +0 -1
- package/src/types/index.js +0 -5
- package/src/types/index.js.map +0 -1
- package/src/types.d.ts +0 -26
- package/src/types.d.ts.map +0 -1
- package/src/types.js +0 -6
- package/src/types.js.map +0 -1
- package/src/utils.d.ts +0 -11
- package/src/utils.d.ts.map +0 -1
- package/src/utils.js +0 -82
- package/src/utils.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-recipient-processor.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/multi-recipient-processor.ts"],"names":[],"mappings":"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"}
|
package/src/services/pbkdf2.d.ts
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { IPbkdf2Config, IPBkdf2Consts, Pbkdf2ErrorType } from '@digitaldefiance/ecies-lib';
|
|
2
|
-
import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
|
|
3
|
-
import { Pbkdf2ProfileEnum } from '../enumerations/pbkdf2-profile';
|
|
4
|
-
import { IConstants } from '../interfaces/constants';
|
|
5
|
-
import { IECIESConsts } from '../interfaces/ecies-consts';
|
|
6
|
-
import { IPbkdf2Result } from '../interfaces/pbkdf2-result';
|
|
7
|
-
/**
|
|
8
|
-
* Custom PBKDF2 error class that works with the plugin i18n system
|
|
9
|
-
*/
|
|
10
|
-
export declare class NodePbkdf2Error extends Error {
|
|
11
|
-
readonly type: Pbkdf2ErrorType;
|
|
12
|
-
constructor(message: string, type: Pbkdf2ErrorType);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Service for handling PBKDF2 (Password-Based Key Derivation Function 2) operations.
|
|
16
|
-
* This service provides functionality for:
|
|
17
|
-
* - Generating secure key derivation configurations
|
|
18
|
-
* - Deriving cryptographic keys from passwords
|
|
19
|
-
* - Managing salt and iteration parameters
|
|
20
|
-
* - Both synchronous and asynchronous key derivation
|
|
21
|
-
*/
|
|
22
|
-
export declare class Pbkdf2Service<TLanguage extends CoreLanguageCode = CoreLanguageCode> {
|
|
23
|
-
protected readonly profiles: Record<string, IPbkdf2Config>;
|
|
24
|
-
protected readonly eciesConsts: IECIESConsts;
|
|
25
|
-
protected readonly pbkdf2Consts: IPBkdf2Consts;
|
|
26
|
-
constructor(profiles?: Record<string, IPbkdf2Config>, eciesParams?: IECIESConsts, pbkdf2Params?: IPBkdf2Consts);
|
|
27
|
-
/**
|
|
28
|
-
* Register a new PBKDF2 profile
|
|
29
|
-
* @param profileName The name of the profile
|
|
30
|
-
* @param config The configuration for the profile
|
|
31
|
-
*/
|
|
32
|
-
registerProfile(profileName: string, config: IPbkdf2Config): void;
|
|
33
|
-
/**
|
|
34
|
-
* Get all registered profile names
|
|
35
|
-
* @returns Array of profile names
|
|
36
|
-
*/
|
|
37
|
-
getRegisteredProfiles(): string[];
|
|
38
|
-
/**
|
|
39
|
-
* Check if a profile is registered
|
|
40
|
-
* @param profileName The name of the profile to check
|
|
41
|
-
* @returns True if the profile exists
|
|
42
|
-
*/
|
|
43
|
-
hasProfile(profileName: string): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Create a Pbkdf2Service instance from IConstants (for backward compatibility)
|
|
46
|
-
* @param constants The constants object
|
|
47
|
-
* @returns A new Pbkdf2Service instance
|
|
48
|
-
*/
|
|
49
|
-
static fromConstants(constants: IConstants): Pbkdf2Service;
|
|
50
|
-
/**
|
|
51
|
-
* Get a predefined configuration profile for common use cases
|
|
52
|
-
* @param profile The name of the profile to use
|
|
53
|
-
* @returns Configuration object for the specified profile
|
|
54
|
-
*/
|
|
55
|
-
getProfileConfig(profile: string): IPbkdf2Config;
|
|
56
|
-
/**
|
|
57
|
-
* Generate an options object for pbkdf2
|
|
58
|
-
* @param iterations Optional number of iterations (defaults to Pbkdf2IterationsPerSecond)
|
|
59
|
-
* @param saltBytes Optional salt size in bytes (defaults to PBKDF2.SALT_BYTES)
|
|
60
|
-
* @param hashBytes Optional hash size in bytes (defaults to ECIES.SYMMETRIC.KEY_SIZE)
|
|
61
|
-
* @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
|
|
62
|
-
* @returns Configuration object for PBKDF2
|
|
63
|
-
*/
|
|
64
|
-
getConfig(iterations?: number, saltBytes?: number, hashBytes?: number, algorithm?: string): IPbkdf2Config;
|
|
65
|
-
/**
|
|
66
|
-
* Given a password, use pbkdf2 to generate an appropriately sized key for AES encryption
|
|
67
|
-
* @param password The password to derive a key from
|
|
68
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
69
|
-
* @param iterations Optional number of iterations
|
|
70
|
-
* @param saltBytes Optional salt size in bytes
|
|
71
|
-
* @param keySize Optional key size in bytes
|
|
72
|
-
* @param algorithm Optional hash algorithm
|
|
73
|
-
* @returns Object containing the derived key, salt, and iteration count
|
|
74
|
-
*/
|
|
75
|
-
deriveKeyFromPassword(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): IPbkdf2Result;
|
|
76
|
-
/**
|
|
77
|
-
* Async version of deriveKeyFromPassword that uses libuv threadpool via crypto.pbkdf2
|
|
78
|
-
* to avoid blocking the event loop during password verification.
|
|
79
|
-
* @param password The password to derive a key from
|
|
80
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
81
|
-
* @param iterations Optional number of iterations
|
|
82
|
-
* @param saltBytes Optional salt size in bytes
|
|
83
|
-
* @param keySize Optional key size in bytes
|
|
84
|
-
* @param algorithm Optional hash algorithm
|
|
85
|
-
* @returns Promise resolving to object containing the derived key, salt, and iteration count
|
|
86
|
-
*/
|
|
87
|
-
deriveKeyFromPasswordAsync(password: Buffer, salt?: Buffer, iterations?: number, saltBytes?: number, keySize?: number, algorithm?: string): Promise<IPbkdf2Result>;
|
|
88
|
-
/**
|
|
89
|
-
* Derive a key using a predefined configuration profile
|
|
90
|
-
* @param password The password to derive a key from
|
|
91
|
-
* @param profile The configuration profile to use
|
|
92
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
93
|
-
* @returns Object containing the derived key, salt, and iteration count
|
|
94
|
-
*/
|
|
95
|
-
deriveKeyFromPasswordWithProfile(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): IPbkdf2Result;
|
|
96
|
-
/**
|
|
97
|
-
* Async version of deriveKeyFromPasswordWithProfile
|
|
98
|
-
* @param password The password to derive a key from
|
|
99
|
-
* @param profile The configuration profile to use
|
|
100
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
101
|
-
* @returns Promise resolving to object containing the derived key, salt, and iteration count
|
|
102
|
-
*/
|
|
103
|
-
deriveKeyFromPasswordWithProfileAsync(password: Buffer, profile: Pbkdf2ProfileEnum, salt?: Buffer): Promise<IPbkdf2Result>;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=pbkdf2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/pbkdf2.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAKxC;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa,CAExB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB;IAErD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;gBAG7C,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAA6B,EACnE,WAAW,GAAE,YAA8B,EAC3C,YAAY,GAAE,aAAgC;IAOhD;;;;OAIG;IACI,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;OAIG;WACW,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa;IAOjE;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAkBvD;;;;;;;OAOG;IACI,SAAS,CACd,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAkBhB;;;;;;;;;OASG;IACI,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa;IAqChB;;;;;;;;;;OAUG;IACU,0BAA0B,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAsCzB;;;;;;OAMG;IACI,gCAAgC,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,aAAa;IAYhB;;;;;;OAMG;IACU,qCAAqC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC;CAW1B"}
|
package/src/services/pbkdf2.js
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pbkdf2Service = exports.NodePbkdf2Error = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
6
|
-
const crypto_1 = require("crypto");
|
|
7
|
-
const util_1 = require("util");
|
|
8
|
-
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
9
|
-
const constants_1 = require("../constants");
|
|
10
|
-
const ecies_i18n_factory_1 = require("../i18n/ecies-i18n-factory");
|
|
11
|
-
/**
|
|
12
|
-
* Custom PBKDF2 error class that works with the plugin i18n system
|
|
13
|
-
*/
|
|
14
|
-
class NodePbkdf2Error extends Error {
|
|
15
|
-
type;
|
|
16
|
-
constructor(message, type) {
|
|
17
|
-
super(message);
|
|
18
|
-
this.type = type;
|
|
19
|
-
this.name = 'NodePbkdf2Error';
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.NodePbkdf2Error = NodePbkdf2Error;
|
|
23
|
-
/**
|
|
24
|
-
* Service for handling PBKDF2 (Password-Based Key Derivation Function 2) operations.
|
|
25
|
-
* This service provides functionality for:
|
|
26
|
-
* - Generating secure key derivation configurations
|
|
27
|
-
* - Deriving cryptographic keys from passwords
|
|
28
|
-
* - Managing salt and iteration parameters
|
|
29
|
-
* - Both synchronous and asynchronous key derivation
|
|
30
|
-
*/
|
|
31
|
-
class Pbkdf2Service {
|
|
32
|
-
profiles;
|
|
33
|
-
eciesConsts;
|
|
34
|
-
pbkdf2Consts;
|
|
35
|
-
constructor(profiles = constants_1.Constants.PBKDF2_PROFILES, eciesParams = constants_1.Constants.ECIES, pbkdf2Params = constants_1.Constants.PBKDF2) {
|
|
36
|
-
this.profiles = profiles;
|
|
37
|
-
this.eciesConsts = eciesParams;
|
|
38
|
-
this.pbkdf2Consts = pbkdf2Params;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Register a new PBKDF2 profile
|
|
42
|
-
* @param profileName The name of the profile
|
|
43
|
-
* @param config The configuration for the profile
|
|
44
|
-
*/
|
|
45
|
-
registerProfile(profileName, config) {
|
|
46
|
-
this.profiles[profileName] = { ...config };
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get all registered profile names
|
|
50
|
-
* @returns Array of profile names
|
|
51
|
-
*/
|
|
52
|
-
getRegisteredProfiles() {
|
|
53
|
-
return Object.keys(this.profiles);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Check if a profile is registered
|
|
57
|
-
* @param profileName The name of the profile to check
|
|
58
|
-
* @returns True if the profile exists
|
|
59
|
-
*/
|
|
60
|
-
hasProfile(profileName) {
|
|
61
|
-
return profileName in this.profiles;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Create a Pbkdf2Service instance from IConstants (for backward compatibility)
|
|
65
|
-
* @param constants The constants object
|
|
66
|
-
* @returns A new Pbkdf2Service instance
|
|
67
|
-
*/
|
|
68
|
-
static fromConstants(constants) {
|
|
69
|
-
return new Pbkdf2Service(constants.PBKDF2_PROFILES, constants.ECIES, constants.PBKDF2);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get a predefined configuration profile for common use cases
|
|
73
|
-
* @param profile The name of the profile to use
|
|
74
|
-
* @returns Configuration object for the specified profile
|
|
75
|
-
*/
|
|
76
|
-
getProfileConfig(profile) {
|
|
77
|
-
const profileConfig = this.profiles[profile];
|
|
78
|
-
if (!profileConfig) {
|
|
79
|
-
throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidProfile);
|
|
80
|
-
}
|
|
81
|
-
return {
|
|
82
|
-
hashBytes: profileConfig.hashBytes,
|
|
83
|
-
saltBytes: profileConfig.saltBytes,
|
|
84
|
-
iterations: profileConfig.iterations,
|
|
85
|
-
algorithm: profileConfig.algorithm,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Generate an options object for pbkdf2
|
|
90
|
-
* @param iterations Optional number of iterations (defaults to Pbkdf2IterationsPerSecond)
|
|
91
|
-
* @param saltBytes Optional salt size in bytes (defaults to PBKDF2.SALT_BYTES)
|
|
92
|
-
* @param hashBytes Optional hash size in bytes (defaults to ECIES.SYMMETRIC.KEY_SIZE)
|
|
93
|
-
* @param algorithm Optional hash algorithm (defaults to PBKDF2.ALGORITHM)
|
|
94
|
-
* @returns Configuration object for PBKDF2
|
|
95
|
-
*/
|
|
96
|
-
getConfig(iterations, saltBytes, hashBytes, algorithm) {
|
|
97
|
-
// larger numbers mean better security, less
|
|
98
|
-
return {
|
|
99
|
-
// size of the generated hash
|
|
100
|
-
hashBytes: hashBytes ?? this.eciesConsts.SYMMETRIC.KEY_SIZE,
|
|
101
|
-
// larger salt means hashed passwords are more resistant to rainbow table, but
|
|
102
|
-
// you get diminishing returns pretty fast
|
|
103
|
-
saltBytes: saltBytes ?? this.pbkdf2Consts.SALT_BYTES,
|
|
104
|
-
// more iterations means an attacker has to take longer to brute force an
|
|
105
|
-
// individual password, so larger is better. however, larger also means longer
|
|
106
|
-
// to hash the password. tune so that hashing the password takes about a
|
|
107
|
-
// second
|
|
108
|
-
iterations: iterations ?? this.pbkdf2Consts.ITERATIONS_PER_SECOND,
|
|
109
|
-
// hash algorithm
|
|
110
|
-
algorithm: algorithm ?? this.pbkdf2Consts.ALGORITHM,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Given a password, use pbkdf2 to generate an appropriately sized key for AES encryption
|
|
115
|
-
* @param password The password to derive a key from
|
|
116
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
117
|
-
* @param iterations Optional number of iterations
|
|
118
|
-
* @param saltBytes Optional salt size in bytes
|
|
119
|
-
* @param keySize Optional key size in bytes
|
|
120
|
-
* @param algorithm Optional hash algorithm
|
|
121
|
-
* @returns Object containing the derived key, salt, and iteration count
|
|
122
|
-
*/
|
|
123
|
-
deriveKeyFromPassword(password, salt, iterations, saltBytes, keySize, algorithm) {
|
|
124
|
-
const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
|
|
125
|
-
const saltBytes_ = salt ?? (0, crypto_1.randomBytes)(config.saltBytes);
|
|
126
|
-
if (saltBytes_.length !== config.saltBytes) {
|
|
127
|
-
throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidSaltLength);
|
|
128
|
-
}
|
|
129
|
-
const hashBytes = (0, crypto_1.pbkdf2Sync)(password, saltBytes_, config.iterations, config.hashBytes, config.algorithm);
|
|
130
|
-
if (hashBytes.length !== config.hashBytes) {
|
|
131
|
-
throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength), ecies_lib_1.Pbkdf2ErrorType.InvalidHashLength);
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
salt: saltBytes_,
|
|
135
|
-
hash: hashBytes,
|
|
136
|
-
iterations: config.iterations,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Async version of deriveKeyFromPassword that uses libuv threadpool via crypto.pbkdf2
|
|
141
|
-
* to avoid blocking the event loop during password verification.
|
|
142
|
-
* @param password The password to derive a key from
|
|
143
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
144
|
-
* @param iterations Optional number of iterations
|
|
145
|
-
* @param saltBytes Optional salt size in bytes
|
|
146
|
-
* @param keySize Optional key size in bytes
|
|
147
|
-
* @param algorithm Optional hash algorithm
|
|
148
|
-
* @returns Promise resolving to object containing the derived key, salt, and iteration count
|
|
149
|
-
*/
|
|
150
|
-
async deriveKeyFromPasswordAsync(password, salt, iterations, saltBytes, keySize, algorithm) {
|
|
151
|
-
const config = this.getConfig(iterations, saltBytes, keySize, algorithm);
|
|
152
|
-
const saltBytes_ = salt ?? (0, crypto_1.randomBytes)(config.saltBytes);
|
|
153
|
-
if (saltBytes_.length !== config.saltBytes) {
|
|
154
|
-
throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidSaltLength), ecies_lib_1.Pbkdf2ErrorType.InvalidSaltLength);
|
|
155
|
-
}
|
|
156
|
-
const pbkdf2 = (0, util_1.promisify)(crypto_1.pbkdf2);
|
|
157
|
-
const hashBytes = (await pbkdf2(password, saltBytes_, config.iterations, config.hashBytes, config.algorithm));
|
|
158
|
-
if (hashBytes.length !== config.hashBytes) {
|
|
159
|
-
throw new NodePbkdf2Error((0, ecies_i18n_factory_1.getNodeEciesTranslation)(ecies_i18n_factory_1.NodeEciesStringKey.Error_Pbkdf2_InvalidHashLength), ecies_lib_1.Pbkdf2ErrorType.InvalidHashLength);
|
|
160
|
-
}
|
|
161
|
-
return {
|
|
162
|
-
salt: saltBytes_,
|
|
163
|
-
hash: hashBytes,
|
|
164
|
-
iterations: config.iterations,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Derive a key using a predefined configuration profile
|
|
169
|
-
* @param password The password to derive a key from
|
|
170
|
-
* @param profile The configuration profile to use
|
|
171
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
172
|
-
* @returns Object containing the derived key, salt, and iteration count
|
|
173
|
-
*/
|
|
174
|
-
deriveKeyFromPasswordWithProfile(password, profile, salt) {
|
|
175
|
-
const config = this.getProfileConfig(profile);
|
|
176
|
-
return this.deriveKeyFromPassword(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Async version of deriveKeyFromPasswordWithProfile
|
|
180
|
-
* @param password The password to derive a key from
|
|
181
|
-
* @param profile The configuration profile to use
|
|
182
|
-
* @param salt Optional salt (will be randomly generated if not provided)
|
|
183
|
-
* @returns Promise resolving to object containing the derived key, salt, and iteration count
|
|
184
|
-
*/
|
|
185
|
-
async deriveKeyFromPasswordWithProfileAsync(password, profile, salt) {
|
|
186
|
-
const config = this.getProfileConfig(profile);
|
|
187
|
-
return this.deriveKeyFromPasswordAsync(password, salt, config.iterations, config.saltBytes, config.hashBytes, config.algorithm);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
exports.Pbkdf2Service = Pbkdf2Service;
|
|
191
|
-
//# sourceMappingURL=pbkdf2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/pbkdf2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IStreamProgress } from '../interfaces/stream-progress';
|
|
2
|
-
export declare class ProgressTracker {
|
|
3
|
-
private processedBytes;
|
|
4
|
-
private startTime;
|
|
5
|
-
private recentSamples;
|
|
6
|
-
private readonly maxSamples;
|
|
7
|
-
update(bytesProcessed: number): IStreamProgress;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=progress-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tracker.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAEzB,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe;CAqCvD"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProgressTracker = void 0;
|
|
4
|
-
class ProgressTracker {
|
|
5
|
-
processedBytes = 0;
|
|
6
|
-
startTime = Date.now();
|
|
7
|
-
recentSamples = [];
|
|
8
|
-
maxSamples = 5;
|
|
9
|
-
update(bytesProcessed) {
|
|
10
|
-
this.processedBytes += bytesProcessed;
|
|
11
|
-
const now = Date.now();
|
|
12
|
-
this.recentSamples.push({ bytes: bytesProcessed, timestamp: now });
|
|
13
|
-
if (this.recentSamples.length > this.maxSamples) {
|
|
14
|
-
this.recentSamples.shift();
|
|
15
|
-
}
|
|
16
|
-
const elapsedMs = now - this.startTime;
|
|
17
|
-
const elapsedSec = elapsedMs / 1000;
|
|
18
|
-
let throughputBytesPerSec = 0;
|
|
19
|
-
if (this.recentSamples.length >= 2) {
|
|
20
|
-
const firstSample = this.recentSamples[0];
|
|
21
|
-
const lastSample = this.recentSamples[this.recentSamples.length - 1];
|
|
22
|
-
const sampleBytes = this.recentSamples.reduce((sum, s) => sum + s.bytes, 0);
|
|
23
|
-
const sampleTime = (lastSample.timestamp - firstSample.timestamp) / 1000;
|
|
24
|
-
if (sampleTime > 0) {
|
|
25
|
-
throughputBytesPerSec = sampleBytes / sampleTime;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
else if (elapsedSec > 0) {
|
|
29
|
-
throughputBytesPerSec = this.processedBytes / elapsedSec;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
processedBytes: this.processedBytes,
|
|
33
|
-
totalBytes: 0,
|
|
34
|
-
percentComplete: 0,
|
|
35
|
-
throughputBytesPerSec,
|
|
36
|
-
estimatedTimeRemainingMs: 0,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.ProgressTracker = ProgressTracker;
|
|
41
|
-
//# sourceMappingURL=progress-tracker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/progress-tracker.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAClB,cAAc,GAAG,CAAC,CAAC;IACnB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,aAAa,GAAgD,EAAE,CAAC;IACvD,UAAU,GAAG,CAAC,CAAC;IAEzB,MAAM,CAAC,cAAsB;QAClC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;QAEpC,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EACzB,CAAC,CACF,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAEzE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,qBAAqB,GAAG,WAAW,GAAG,UAAU,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,qBAAqB,GAAG,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC;YAClB,qBAAqB;YACrB,wBAAwB,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;CACF;AA3CD,0CA2CC"}
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Voting Service for Node.js environments
|
|
3
|
-
* Provides ECIES-to-Paillier key bridge for homomorphic encryption voting systems.
|
|
4
|
-
*
|
|
5
|
-
* SECURITY ARCHITECTURE:
|
|
6
|
-
* This service implements a novel but cryptographically sound bridge between
|
|
7
|
-
* ECDSA/ECDH keys and Paillier homomorphic encryption keys. The construction
|
|
8
|
-
* uses only proven cryptographic primitives:
|
|
9
|
-
*
|
|
10
|
-
* - ECDH (secp256k1): Shared secret computation
|
|
11
|
-
* - HKDF (RFC 5869): Cryptographically secure key derivation
|
|
12
|
-
* - HMAC-DRBG (NIST SP 800-90A): Deterministic random generation
|
|
13
|
-
* - Miller-Rabin (256 rounds): Primality testing (error < 2^-512)
|
|
14
|
-
* - Paillier (3072-bit): Homomorphic encryption
|
|
15
|
-
*
|
|
16
|
-
* SECURITY GUARANTEES:
|
|
17
|
-
* - 128-bit security level (equivalent to 3072-bit RSA)
|
|
18
|
-
* - One-way: Cannot recover ECDH keys from Paillier keys
|
|
19
|
-
* - Deterministic: Enables key recovery from same ECDH source
|
|
20
|
-
* - Collision-resistant: Birthday bound ~2^128 operations
|
|
21
|
-
* - Domain-separated: Cryptographic binding via HKDF info string
|
|
22
|
-
*
|
|
23
|
-
* THREAT MODEL:
|
|
24
|
-
* Protected against: factorization attacks, weak primes, small prime attacks
|
|
25
|
-
* Timing attacks: Mitigated via constant-time operations where possible
|
|
26
|
-
* Side-channels: Dependent on underlying crypto library implementation
|
|
27
|
-
* Quantum: Vulnerable to Shor's algorithm (like all RSA-type systems)
|
|
28
|
-
*
|
|
29
|
-
* For detailed security analysis, see:
|
|
30
|
-
* docs/SECURITY_ANALYSIS_ECIES_PAILLIER_BRIDGE.md
|
|
31
|
-
*/
|
|
32
|
-
import type { KeyPair, PrivateKey, PublicKey } from 'paillier-bigint';
|
|
33
|
-
export interface DeriveVotingKeysOptions {
|
|
34
|
-
/** Curve name (default: 'secp256k1') */
|
|
35
|
-
curveName?: string;
|
|
36
|
-
/** ECIES public key magic byte (default: 0x04) */
|
|
37
|
-
publicKeyMagic?: number;
|
|
38
|
-
/** Raw public key length without prefix (default: 64) */
|
|
39
|
-
rawPublicKeyLength?: number;
|
|
40
|
-
/** Public key length with prefix (default: 65) */
|
|
41
|
-
publicKeyLength?: number;
|
|
42
|
-
/** HMAC algorithm for HKDF (default: 'sha512') */
|
|
43
|
-
hmacAlgorithm?: string;
|
|
44
|
-
/** HKDF info string (default: 'PaillierPrimeGen') */
|
|
45
|
-
hkdfInfo?: string;
|
|
46
|
-
/** HKDF output length (default: 64) */
|
|
47
|
-
hkdfLength?: number;
|
|
48
|
-
/** Key pair bit length (default: 3072) */
|
|
49
|
-
keypairBitLength?: number;
|
|
50
|
-
/** Prime test iterations (default: 256) */
|
|
51
|
-
primeTestIterations?: number;
|
|
52
|
-
/** Max attempts to generate prime (default: 10000) */
|
|
53
|
-
maxPrimeAttempts?: number;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Miller-Rabin primality test with deterministic witnesses
|
|
57
|
-
*
|
|
58
|
-
* SECURITY: With k=256 rounds, probability of false positive is < 2^-512
|
|
59
|
-
*
|
|
60
|
-
* @param n - Number to test for primality
|
|
61
|
-
* @param k - Number of rounds (witnesses to test)
|
|
62
|
-
* @returns true if n is probably prime, false if definitely composite
|
|
63
|
-
*/
|
|
64
|
-
export declare function millerRabinTest(n: bigint, k: number): boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Modular exponentiation: (base^exp) mod mod
|
|
67
|
-
*/
|
|
68
|
-
export declare function modPow(base: bigint, exp: bigint, mod: bigint): bigint;
|
|
69
|
-
/**
|
|
70
|
-
* Extended Euclidean algorithm to find modular multiplicative inverse
|
|
71
|
-
*/
|
|
72
|
-
export declare function modInverse(a: bigint, m: bigint): bigint;
|
|
73
|
-
/**
|
|
74
|
-
* Greatest common divisor using Euclidean algorithm
|
|
75
|
-
*/
|
|
76
|
-
export declare function gcd(a: bigint, b: bigint): bigint;
|
|
77
|
-
/**
|
|
78
|
-
* Least common multiple
|
|
79
|
-
*/
|
|
80
|
-
export declare function lcm(a: bigint, b: bigint): bigint;
|
|
81
|
-
/**
|
|
82
|
-
* HKDF implementation following RFC 5869 using Node.js crypto
|
|
83
|
-
*
|
|
84
|
-
* SECURITY: This is a cryptographically secure key derivation function.
|
|
85
|
-
* - Provides pseudorandomness indistinguishable from random
|
|
86
|
-
* - One-way: computationally infeasible to recover IKM from OKM
|
|
87
|
-
* - Domain separation via 'info' parameter
|
|
88
|
-
*
|
|
89
|
-
* @param secret - The input key material (IKM)
|
|
90
|
-
* @param salt - Optional salt value (non-secret random value)
|
|
91
|
-
* @param info - Context string for domain separation
|
|
92
|
-
* @param length - Length of output keying material in bytes
|
|
93
|
-
* @param hmacAlgorithm - HMAC algorithm to use (default: 'sha512')
|
|
94
|
-
* @returns Derived key material (OKM)
|
|
95
|
-
*/
|
|
96
|
-
export declare function hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
|
|
97
|
-
/**
|
|
98
|
-
* Secure Deterministic Random Bit Generator using HMAC-DRBG (SP 800-90A)
|
|
99
|
-
* This is a simplified version focused on the specific needs of prime generation.
|
|
100
|
-
*/
|
|
101
|
-
export declare class SecureDeterministicDRBG {
|
|
102
|
-
private v;
|
|
103
|
-
private k;
|
|
104
|
-
private readonly hmacAlgorithm;
|
|
105
|
-
constructor(seed: Uint8Array, hmacAlgorithm?: string);
|
|
106
|
-
private update;
|
|
107
|
-
generate(numBytes: number): Buffer;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Generate a deterministic prime number using DRBG
|
|
111
|
-
* @param drbg - Deterministic random bit generator
|
|
112
|
-
* @param numBits - Number of bits in the prime
|
|
113
|
-
* @param primeTestIterations - Miller-Rabin iterations (default: 256)
|
|
114
|
-
* @param maxAttempts - Maximum attempts (default: 10000)
|
|
115
|
-
* @returns A prime number of specified bit length
|
|
116
|
-
*/
|
|
117
|
-
export declare function generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
|
|
118
|
-
/**
|
|
119
|
-
* Generate a deterministic Paillier key pair from a seed
|
|
120
|
-
* @param seed - Seed bytes for deterministic generation
|
|
121
|
-
* @param bits - Key pair bit length (default: 3072)
|
|
122
|
-
* @param primeTestIterations - Miller-Rabin iterations (default: 256)
|
|
123
|
-
* @returns Paillier key pair
|
|
124
|
-
*/
|
|
125
|
-
export declare function generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): KeyPair;
|
|
126
|
-
/**
|
|
127
|
-
* Derive Paillier voting keys from ECDH key pair.
|
|
128
|
-
* This is the core bridge function that connects ECDSA/ECDH keys
|
|
129
|
-
* to homomorphic encryption keys for secure voting systems.
|
|
130
|
-
*
|
|
131
|
-
* SECURITY PROPERTIES:
|
|
132
|
-
* - One-way: Computationally infeasible to recover ECDH keys from Paillier keys
|
|
133
|
-
* - Deterministic: Same ECDH keys always produce same Paillier keys (enables key recovery)
|
|
134
|
-
* - Collision-resistant: Different ECDH keys produce different Paillier keys (Birthday bound ~2^128)
|
|
135
|
-
* - Domain-separated: Cryptographically bound to voting purpose via HKDF info="PaillierPrimeGen"
|
|
136
|
-
*
|
|
137
|
-
* SECURITY LEVEL: ~128 bits (equivalent to 3072-bit RSA)
|
|
138
|
-
* - ECDH: secp256k1 curve (~128-bit security)
|
|
139
|
-
* - HKDF: SHA-512 (512-bit security against preimage)
|
|
140
|
-
* - Paillier: 3072-bit modulus (NIST recommended for 128-bit security)
|
|
141
|
-
*
|
|
142
|
-
* @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
|
|
143
|
-
* @param ecdhPubKey - ECDH public key (64 or 65 bytes, with or without 0x04 prefix)
|
|
144
|
-
* @param options - Configuration options
|
|
145
|
-
* @returns Paillier key pair for voting operations
|
|
146
|
-
*/
|
|
147
|
-
export declare function deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): KeyPair;
|
|
148
|
-
/**
|
|
149
|
-
* Voting service for deriving and managing Paillier voting keys from ECDH keys.
|
|
150
|
-
*/
|
|
151
|
-
export declare class VotingService {
|
|
152
|
-
private static instance?;
|
|
153
|
-
/**
|
|
154
|
-
* Get singleton instance of VotingService
|
|
155
|
-
*/
|
|
156
|
-
static getInstance(): VotingService;
|
|
157
|
-
/**
|
|
158
|
-
* Derive Paillier voting keys from ECDH key pair.
|
|
159
|
-
*
|
|
160
|
-
* @param ecdhPrivKey - ECDH private key (32 bytes for secp256k1)
|
|
161
|
-
* @param ecdhPubKey - ECDH public key (64 or 65 bytes)
|
|
162
|
-
* @param options - Configuration options
|
|
163
|
-
* @returns Paillier key pair for voting operations
|
|
164
|
-
*/
|
|
165
|
-
deriveVotingKeysFromECDH(ecdhPrivKey: Uint8Array, ecdhPubKey: Uint8Array, options?: DeriveVotingKeysOptions): KeyPair;
|
|
166
|
-
/**
|
|
167
|
-
* HKDF key derivation function (RFC 5869)
|
|
168
|
-
*/
|
|
169
|
-
hkdf(secret: Uint8Array, salt: Uint8Array | null, info: string, length: number, hmacAlgorithm?: string): Uint8Array;
|
|
170
|
-
/**
|
|
171
|
-
* Miller-Rabin primality test
|
|
172
|
-
*/
|
|
173
|
-
millerRabinTest(n: bigint, k: number): boolean;
|
|
174
|
-
/**
|
|
175
|
-
* Modular exponentiation
|
|
176
|
-
*/
|
|
177
|
-
modPow(base: bigint, exp: bigint, mod: bigint): bigint;
|
|
178
|
-
/**
|
|
179
|
-
* Modular multiplicative inverse
|
|
180
|
-
*/
|
|
181
|
-
modInverse(a: bigint, m: bigint): bigint;
|
|
182
|
-
/**
|
|
183
|
-
* Greatest common divisor
|
|
184
|
-
*/
|
|
185
|
-
gcd(a: bigint, b: bigint): bigint;
|
|
186
|
-
/**
|
|
187
|
-
* Least common multiple
|
|
188
|
-
*/
|
|
189
|
-
lcm(a: bigint, b: bigint): bigint;
|
|
190
|
-
/**
|
|
191
|
-
* Generate a deterministic prime using DRBG
|
|
192
|
-
*/
|
|
193
|
-
generateDeterministicPrime(drbg: SecureDeterministicDRBG, numBits: number, primeTestIterations?: number, maxAttempts?: number): bigint;
|
|
194
|
-
/**
|
|
195
|
-
* Generate a deterministic Paillier key pair from seed
|
|
196
|
-
*/
|
|
197
|
-
generateDeterministicKeyPair(seed: Uint8Array, bits?: number, primeTestIterations?: number): KeyPair;
|
|
198
|
-
/**
|
|
199
|
-
* Create a secure deterministic random bit generator
|
|
200
|
-
*/
|
|
201
|
-
createDRBG(seed: Uint8Array, hmacAlgorithm?: string): SecureDeterministicDRBG;
|
|
202
|
-
/**
|
|
203
|
-
* Serialize a Paillier public key to buffer
|
|
204
|
-
*
|
|
205
|
-
* SECURITY: Public keys are safe to share. This serialization
|
|
206
|
-
* format is deterministic and preserves all key information.
|
|
207
|
-
*/
|
|
208
|
-
votingPublicKeyToBuffer(publicKey: PublicKey): Buffer;
|
|
209
|
-
/**
|
|
210
|
-
* Deserialize a Paillier public key from buffer
|
|
211
|
-
*/
|
|
212
|
-
bufferToVotingPublicKey(buffer: Buffer): PublicKey;
|
|
213
|
-
/**
|
|
214
|
-
* Serialize a Paillier private key to buffer
|
|
215
|
-
*
|
|
216
|
-
* SECURITY WARNING: Private keys must be kept secret!
|
|
217
|
-
* - Only serialize for secure storage or transmission
|
|
218
|
-
* - Encrypt serialized keys before storing or transmitting
|
|
219
|
-
* - Clear sensitive memory after use
|
|
220
|
-
* - Consider using hardware security modules (HSM) for production
|
|
221
|
-
*/
|
|
222
|
-
votingPrivateKeyToBuffer(privateKey: PrivateKey): Buffer;
|
|
223
|
-
/**
|
|
224
|
-
* Deserialize a Paillier private key from buffer
|
|
225
|
-
*/
|
|
226
|
-
bufferToVotingPrivateKey(buffer: Buffer, publicKey: PublicKey): PrivateKey;
|
|
227
|
-
serializePublicKey(publicKey: PublicKey): Buffer;
|
|
228
|
-
deserializePublicKey(buffer: Buffer | Uint8Array): PublicKey;
|
|
229
|
-
serializePrivateKey(privateKey: PrivateKey): Buffer;
|
|
230
|
-
deserializePrivateKey(buffer: Buffer | Uint8Array, publicKey: PublicKey): PrivateKey;
|
|
231
|
-
}
|
|
232
|
-
//# sourceMappingURL=voting.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voting.service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/services/voting.service.ts"],"names":[],"mappings":"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"}
|