@kynesyslabs/demosdk 2.9.0 → 2.10.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/build/abstraction/CoinFinder.js +19 -23
- package/build/abstraction/CoinFinder.js.map +1 -1
- package/build/abstraction/EvmCoinFinder.js +48 -89
- package/build/abstraction/EvmCoinFinder.js.map +1 -1
- package/build/abstraction/Identities.d.ts +28 -1
- package/build/abstraction/Identities.js +58 -24
- package/build/abstraction/Identities.js.map +1 -1
- package/build/abstraction/index.js +4 -9
- package/build/abstraction/index.js.map +1 -1
- package/build/abstraction/providers/AbstractionProviders.js +1 -3
- package/build/abstraction/providers/AbstractionProviders.js.map +1 -1
- package/build/abstraction/providers/CoinAddresses.js +4 -7
- package/build/abstraction/providers/CoinAddresses.js.map +1 -1
- package/build/abstraction/providers/Providers.js +13 -18
- package/build/abstraction/providers/Providers.js.map +1 -1
- package/build/abstraction/providers/evm/ankr.js +8 -14
- package/build/abstraction/providers/evm/ankr.js.map +1 -1
- package/build/abstraction/providers/evm/arbitrum.js +4 -10
- package/build/abstraction/providers/evm/arbitrum.js.map +1 -1
- package/build/abstraction/providers/evm/bsc.js +4 -10
- package/build/abstraction/providers/evm/bsc.js.map +1 -1
- package/build/abstraction/providers/evm/ethereum.js +5 -11
- package/build/abstraction/providers/evm/ethereum.js.map +1 -1
- package/build/abstraction/providers/evm/index.js +4 -14
- package/build/abstraction/providers/evm/index.js.map +1 -1
- package/build/abstraction/providers/evm/optimism.js +4 -10
- package/build/abstraction/providers/evm/optimism.js.map +1 -1
- package/build/abstraction/providers/index.js +2 -7
- package/build/abstraction/providers/index.js.map +1 -1
- package/build/abstraction/providers/non-evm/bitcoin.js +4 -10
- package/build/abstraction/providers/non-evm/bitcoin.js.map +1 -1
- package/build/abstraction/providers/non-evm/index.js +4 -14
- package/build/abstraction/providers/non-evm/index.js.map +1 -1
- package/build/abstraction/providers/non-evm/multiversx.js +4 -10
- package/build/abstraction/providers/non-evm/multiversx.js.map +1 -1
- package/build/abstraction/providers/non-evm/solana.js +7 -13
- package/build/abstraction/providers/non-evm/solana.js.map +1 -1
- package/build/abstraction/providers/non-evm/xrp.js +4 -10
- package/build/abstraction/providers/non-evm/xrp.js.map +1 -1
- package/build/abstraction/types/UDResolution.js +1 -2
- package/build/abstraction/types/UDResolution.js.map +1 -1
- package/build/bridge/index.js +12 -33
- package/build/bridge/index.js.map +1 -1
- package/build/bridge/nativeBridge.js +16 -19
- package/build/bridge/nativeBridge.js.map +1 -1
- package/build/bridge/nativeBridgeTypes.js +6 -9
- package/build/bridge/nativeBridgeTypes.js.map +1 -1
- package/build/bridge/rubicBridge.js +1 -4
- package/build/bridge/rubicBridge.js.map +1 -1
- package/build/contracts/ContractDeployer.js +6 -43
- package/build/contracts/ContractDeployer.js.map +1 -1
- package/build/contracts/ContractFactory.js +8 -13
- package/build/contracts/ContractFactory.js.map +1 -1
- package/build/contracts/ContractInstance.js +3 -7
- package/build/contracts/ContractInstance.js.map +1 -1
- package/build/contracts/ContractInteractor.js +4 -41
- package/build/contracts/ContractInteractor.js.map +1 -1
- package/build/contracts/index.js +4 -12
- package/build/contracts/index.js.map +1 -1
- package/build/contracts/templates/TemplateRegistry.js +3 -7
- package/build/contracts/templates/TemplateRegistry.js.map +1 -1
- package/build/contracts/templates/TemplateValidator.js +1 -5
- package/build/contracts/templates/TemplateValidator.js.map +1 -1
- package/build/contracts/types/ContractABI.js +1 -2
- package/build/contracts/types/ContractABI.js.map +1 -1
- package/build/contracts/types/TypedContract.js +1 -2
- package/build/contracts/types/TypedContract.js.map +1 -1
- package/build/d402/client/D402Client.js +4 -41
- package/build/d402/client/D402Client.js.map +1 -1
- package/build/d402/client/index.js +1 -5
- package/build/d402/client/index.js.map +1 -1
- package/build/d402/client/types.js +1 -2
- package/build/d402/client/types.js.map +1 -1
- package/build/d402/index.js +2 -20
- package/build/d402/index.js.map +1 -1
- package/build/d402/server/D402Server.js +1 -5
- package/build/d402/server/D402Server.js.map +1 -1
- package/build/d402/server/index.js +2 -7
- package/build/d402/server/index.js.map +1 -1
- package/build/d402/server/middleware.js +3 -6
- package/build/d402/server/middleware.js.map +1 -1
- package/build/d402/server/types.js +1 -2
- package/build/d402/server/types.js.map +1 -1
- package/build/demoswork/executor/index.js +1 -4
- package/build/demoswork/executor/index.js.map +1 -1
- package/build/demoswork/executor/stepexecutor.js +2 -6
- package/build/demoswork/executor/stepexecutor.js.map +1 -1
- package/build/demoswork/index.js +8 -25
- package/build/demoswork/index.js.map +1 -1
- package/build/demoswork/operations/baseoperation.js +2 -6
- package/build/demoswork/operations/baseoperation.js.map +1 -1
- package/build/demoswork/operations/conditional/condition.js +7 -11
- package/build/demoswork/operations/conditional/condition.js.map +1 -1
- package/build/demoswork/operations/conditional/index.js +9 -13
- package/build/demoswork/operations/conditional/index.js.map +1 -1
- package/build/demoswork/operations/index.js +5 -9
- package/build/demoswork/operations/index.js.map +1 -1
- package/build/demoswork/utils/createTestWorkScript.js +22 -28
- package/build/demoswork/utils/createTestWorkScript.js.map +1 -1
- package/build/demoswork/utils/index.js +3 -8
- package/build/demoswork/utils/index.js.map +1 -1
- package/build/demoswork/validator/index.js +3 -6
- package/build/demoswork/validator/index.js.map +1 -1
- package/build/demoswork/validator/steps.validator.js +3 -6
- package/build/demoswork/validator/steps.validator.js.map +1 -1
- package/build/demoswork/work.js +6 -11
- package/build/demoswork/work.js.map +1 -1
- package/build/demoswork/workstep.js +16 -26
- package/build/demoswork/workstep.js.map +1 -1
- package/build/encryption/Cryptography.js +36 -71
- package/build/encryption/Cryptography.js.map +1 -1
- package/build/encryption/FHE/index.js +3 -9
- package/build/encryption/FHE/index.js.map +1 -1
- package/build/encryption/Hashing.js +8 -15
- package/build/encryption/Hashing.js.map +1 -1
- package/build/encryption/PQC/enigma.js +22 -59
- package/build/encryption/PQC/enigma.js.map +1 -1
- package/build/encryption/PQC/falconts/falcon.js +3 -6
- package/build/encryption/PQC/falconts/falcon.js.map +1 -1
- package/build/encryption/PQC/falconts/index.js +3 -15
- package/build/encryption/PQC/falconts/index.js.map +1 -1
- package/build/encryption/PQC/falconts/mnemonic.js +9 -15
- package/build/encryption/PQC/falconts/mnemonic.js.map +1 -1
- package/build/encryption/PQC/falconts/wordlist.js +1 -4
- package/build/encryption/PQC/falconts/wordlist.js.map +1 -1
- package/build/encryption/PQC/utils.js +2 -7
- package/build/encryption/PQC/utils.js.map +1 -1
- package/build/encryption/index.js +7 -50
- package/build/encryption/index.js.map +1 -1
- package/build/encryption/unifiedCrypto.js +23 -63
- package/build/encryption/unifiedCrypto.js.map +1 -1
- package/build/encryption/zK/identity/CommitmentService.js +5 -10
- package/build/encryption/zK/identity/CommitmentService.js.map +1 -1
- package/build/encryption/zK/identity/ProofGenerator.js +3 -40
- package/build/encryption/zK/identity/ProofGenerator.js.map +1 -1
- package/build/encryption/zK/identity/ZKIdentity.js +3 -40
- package/build/encryption/zK/identity/ZKIdentity.js.map +1 -1
- package/build/encryption/zK/identity/index.js +3 -40
- package/build/encryption/zK/identity/index.js.map +1 -1
- package/build/encryption/zK/index.js +2 -38
- package/build/encryption/zK/index.js.map +1 -1
- package/build/encryption/zK/interactive/index.js +4 -12
- package/build/encryption/zK/interactive/index.js.map +1 -1
- package/build/encryption/zK/primer.js +7 -13
- package/build/encryption/zK/primer.js.map +1 -1
- package/build/escrow/EscrowQueries.js +1 -5
- package/build/escrow/EscrowQueries.js.map +1 -1
- package/build/escrow/EscrowTransaction.js +8 -45
- package/build/escrow/EscrowTransaction.js.map +1 -1
- package/build/escrow/index.js +2 -7
- package/build/escrow/index.js.map +1 -1
- package/build/index.js +18 -54
- package/build/index.js.map +1 -1
- package/build/instant_messaging/index.js +13 -17
- package/build/instant_messaging/index.js.map +1 -1
- package/build/ipfs/IPFSOperations.js +5 -9
- package/build/ipfs/IPFSOperations.js.map +1 -1
- package/build/ipfs/index.js +1 -6
- package/build/ipfs/index.js.map +1 -1
- package/build/keyserver/KeyServerClient.js +10 -14
- package/build/keyserver/KeyServerClient.js.map +1 -1
- package/build/keyserver/errors.js +1 -5
- package/build/keyserver/errors.js.map +1 -1
- package/build/keyserver/index.js +3 -10
- package/build/keyserver/index.js.map +1 -1
- package/build/keyserver/types.js +1 -2
- package/build/keyserver/types.js.map +1 -1
- package/build/keyserver/verification.js +4 -8
- package/build/keyserver/verification.js.map +1 -1
- package/build/l2ps/index.js +2 -8
- package/build/l2ps/index.js.map +1 -1
- package/build/l2ps/l2ps.js +6 -41
- package/build/l2ps/l2ps.js.map +1 -1
- package/build/multichain/core/aptos.js +40 -77
- package/build/multichain/core/aptos.js.map +1 -1
- package/build/multichain/core/btc.js +22 -62
- package/build/multichain/core/btc.js.map +1 -1
- package/build/multichain/core/evm.js +24 -61
- package/build/multichain/core/evm.js.map +1 -1
- package/build/multichain/core/ibc.js +34 -71
- package/build/multichain/core/ibc.js.map +1 -1
- package/build/multichain/core/index.js +12 -28
- package/build/multichain/core/index.js.map +1 -1
- package/build/multichain/core/multiversx.js +34 -41
- package/build/multichain/core/multiversx.js.map +1 -1
- package/build/multichain/core/near.js +44 -84
- package/build/multichain/core/near.js.map +1 -1
- package/build/multichain/core/solana.js +51 -91
- package/build/multichain/core/solana.js.map +1 -1
- package/build/multichain/core/ten.js +11 -48
- package/build/multichain/core/ten.js.map +1 -1
- package/build/multichain/core/ton.d.ts +1 -1
- package/build/multichain/core/ton.js +30 -37
- package/build/multichain/core/ton.js.map +1 -1
- package/build/multichain/core/tron.js +34 -41
- package/build/multichain/core/tron.js.map +1 -1
- package/build/multichain/core/types/SolanaPhantomProvider.js +1 -2
- package/build/multichain/core/types/SolanaPhantomProvider.js.map +1 -1
- package/build/multichain/core/types/defaultChain.js +1 -5
- package/build/multichain/core/types/defaultChain.js.map +1 -1
- package/build/multichain/core/types/interfaces.js +2 -5
- package/build/multichain/core/types/interfaces.js.map +1 -1
- package/build/multichain/core/utils.js +1 -4
- package/build/multichain/core/utils.js.map +1 -1
- package/build/multichain/core/xrp.js +17 -22
- package/build/multichain/core/xrp.js.map +1 -1
- package/build/multichain/index.js +3 -39
- package/build/multichain/index.js.map +1 -1
- package/build/multichain/localsdk/aptos.js +11 -15
- package/build/multichain/localsdk/aptos.js.map +1 -1
- package/build/multichain/localsdk/btc.js +10 -50
- package/build/multichain/localsdk/btc.js.map +1 -1
- package/build/multichain/localsdk/evm.js +6 -10
- package/build/multichain/localsdk/evm.js.map +1 -1
- package/build/multichain/localsdk/ibc.js +5 -9
- package/build/multichain/localsdk/ibc.js.map +1 -1
- package/build/multichain/localsdk/index.js +10 -23
- package/build/multichain/localsdk/index.js.map +1 -1
- package/build/multichain/localsdk/multiversx.js +12 -16
- package/build/multichain/localsdk/multiversx.js.map +1 -1
- package/build/multichain/localsdk/near.js +9 -13
- package/build/multichain/localsdk/near.js.map +1 -1
- package/build/multichain/localsdk/solana.js +5 -9
- package/build/multichain/localsdk/solana.js.map +1 -1
- package/build/multichain/localsdk/ten.js +8 -45
- package/build/multichain/localsdk/ten.js.map +1 -1
- package/build/multichain/localsdk/ton.js +9 -13
- package/build/multichain/localsdk/ton.js.map +1 -1
- package/build/multichain/localsdk/tron.js +2 -6
- package/build/multichain/localsdk/tron.js.map +1 -1
- package/build/multichain/localsdk/xrp.js +6 -43
- package/build/multichain/localsdk/xrp.js.map +1 -1
- package/build/multichain/websdk/aptos.js +1 -5
- package/build/multichain/websdk/aptos.js.map +1 -1
- package/build/multichain/websdk/btc.js +2 -6
- package/build/multichain/websdk/btc.js.map +1 -1
- package/build/multichain/websdk/evm.js +2 -6
- package/build/multichain/websdk/evm.js.map +1 -1
- package/build/multichain/websdk/ibc.js +2 -6
- package/build/multichain/websdk/ibc.js.map +1 -1
- package/build/multichain/websdk/index.js +9 -21
- package/build/multichain/websdk/index.js.map +1 -1
- package/build/multichain/websdk/multiversx.js +9 -13
- package/build/multichain/websdk/multiversx.js.map +1 -1
- package/build/multichain/websdk/near.js +2 -6
- package/build/multichain/websdk/near.js.map +1 -1
- package/build/multichain/websdk/solana.js +10 -18
- package/build/multichain/websdk/solana.js.map +1 -1
- package/build/multichain/websdk/ton.js +2 -6
- package/build/multichain/websdk/ton.js.map +1 -1
- package/build/multichain/websdk/xrp.js +2 -6
- package/build/multichain/websdk/xrp.js.map +1 -1
- package/build/storage/StorageProgram.js +11 -18
- package/build/storage/StorageProgram.js.map +1 -1
- package/build/storage/index.js +2 -10
- package/build/storage/index.js.map +1 -1
- package/build/tlsnotary/TLSNotary.js +11 -52
- package/build/tlsnotary/TLSNotary.js.map +1 -1
- package/build/tlsnotary/TLSNotaryService.js +21 -25
- package/build/tlsnotary/TLSNotaryService.js.map +1 -1
- package/build/tlsnotary/auto-init.js +11 -17
- package/build/tlsnotary/auto-init.js.map +1 -1
- package/build/tlsnotary/helpers.js +1 -4
- package/build/tlsnotary/helpers.js.map +1 -1
- package/build/tlsnotary/index.js +8 -25
- package/build/tlsnotary/index.js.map +1 -1
- package/build/tlsnotary/service.js +2 -7
- package/build/tlsnotary/service.js.map +1 -1
- package/build/tlsnotary/types.js +1 -2
- package/build/tlsnotary/types.js.map +1 -1
- package/build/tlsnotary/webpack.js +10 -52
- package/build/tlsnotary/webpack.js.map +1 -1
- package/build/tlsnotary/worker.js +5 -40
- package/build/tlsnotary/worker.js.map +1 -1
- package/build/types/abstraction/index.d.ts +64 -1
- package/build/types/abstraction/index.js +1 -2
- package/build/types/abstraction/index.js.map +1 -1
- package/build/types/blockchain/Confirmation.js +1 -4
- package/build/types/blockchain/Confirmation.js.map +1 -1
- package/build/types/blockchain/CustomCharges.js +2 -6
- package/build/types/blockchain/CustomCharges.js.map +1 -1
- package/build/types/blockchain/GCREdit.d.ts +1 -1
- package/build/types/blockchain/GCREdit.js +1 -2
- package/build/types/blockchain/GCREdit.js.map +1 -1
- package/build/types/blockchain/ISignature.js +1 -2
- package/build/types/blockchain/Transaction.js +1 -17
- package/build/types/blockchain/Transaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/ContractCallTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/ContractDeployTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/CrosschainTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/DemosworkTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/EscrowTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/IPFSTransaction.js +5 -12
- package/build/types/blockchain/TransactionSubtypes/IPFSTransaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/IdentityTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/InstantMessagingTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/L2PSHashTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/L2PSTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/NativeBridgeTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/NativeTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js +4 -10
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/StorageTransaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/Web2Transaction.js +1 -2
- package/build/types/blockchain/TransactionSubtypes/index.js +16 -32
- package/build/types/blockchain/TransactionSubtypes/index.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/utils.js +2 -6
- package/build/types/blockchain/TransactionSubtypes/utils.js.map +1 -1
- package/build/types/blockchain/TxFee.js +1 -2
- package/build/types/blockchain/ValidityData.js +1 -5
- package/build/types/blockchain/ValidityData.js.map +1 -1
- package/build/types/blockchain/WalletTypes.js +1 -2
- package/build/types/blockchain/address.js +1 -2
- package/build/types/blockchain/addressInfo.js +1 -2
- package/build/types/blockchain/blocks.js +1 -2
- package/build/types/blockchain/blocks.js.map +1 -1
- package/build/types/blockchain/encryptedTransaction.js +1 -2
- package/build/types/blockchain/genesisTypes.js +1 -2
- package/build/types/blockchain/genesisTypes.js.map +1 -1
- package/build/types/blockchain/identities.js +1 -2
- package/build/types/blockchain/identities.js.map +1 -1
- package/build/types/blockchain/rawTransaction.js +1 -2
- package/build/types/blockchain/rawTransaction.js.map +1 -1
- package/build/types/blockchain/statusNative.js +1 -2
- package/build/types/blockchain/statusProperties.js +1 -2
- package/build/types/bridge/bridgeTradePayload.js +1 -2
- package/build/types/bridge/constants.js +3 -6
- package/build/types/bridge/constants.js.map +1 -1
- package/build/types/communication/demosWork.js +1 -2
- package/build/types/communication/rpc.js +1 -4
- package/build/types/communication/rpc.js.map +1 -1
- package/build/types/communication/transmit.js +1 -2
- package/build/types/communication/transmit.js.map +1 -1
- package/build/types/cryptography.js +1 -2
- package/build/types/demoswork/datatypes.js +2 -5
- package/build/types/demoswork/datatypes.js.map +1 -1
- package/build/types/demoswork/index.js +1 -2
- package/build/types/demoswork/operations.js +1 -2
- package/build/types/demoswork/steps.js +4 -7
- package/build/types/demoswork/steps.js.map +1 -1
- package/build/types/gls/Operation.js +1 -2
- package/build/types/gls/StateChange.js +1 -2
- package/build/types/gls/StateChange.js.map +1 -1
- package/build/types/gls/account.js +1 -2
- package/build/types/index.js +10 -30
- package/build/types/index.js.map +1 -1
- package/build/types/instantMessaging/index.js +1 -2
- package/build/types/native/INativePayload.js +1 -2
- package/build/types/native/INativePayload.js.map +1 -1
- package/build/types/native/index.js +1 -17
- package/build/types/native/index.js.map +1 -1
- package/build/types/network/ExecutionResult.js +1 -2
- package/build/types/network/SecurityTypes.js +1 -2
- package/build/types/peers/Peer.js +1 -2
- package/build/types/peers/Peer.js.map +1 -1
- package/build/types/web2/discord.js +1 -2
- package/build/types/web2/index.js +2 -5
- package/build/types/web2/index.js.map +1 -1
- package/build/types/web2/telegram.js +1 -2
- package/build/types/web2/telegram.js.map +1 -1
- package/build/types/web2/twitter.js +1 -2
- package/build/types/xm/apiTools.js +1 -2
- package/build/types/xm/index.js +1 -2
- package/build/utils/dataManipulation.js +5 -12
- package/build/utils/dataManipulation.js.map +1 -1
- package/build/utils/getRemoteIP.js +3 -9
- package/build/utils/getRemoteIP.js.map +1 -1
- package/build/utils/index.js +4 -44
- package/build/utils/index.js.map +1 -1
- package/build/utils/pprint.js +3 -9
- package/build/utils/pprint.js.map +1 -1
- package/build/utils/uint8Serialize.js +2 -6
- package/build/utils/uint8Serialize.js.map +1 -1
- package/build/wallet/Wallet.js +11 -46
- package/build/wallet/Wallet.js.map +1 -1
- package/build/wallet/index.js +1 -37
- package/build/wallet/index.js.map +1 -1
- package/build/wallet/passkeys/passkeys.js +9 -16
- package/build/wallet/passkeys/passkeys.js.map +1 -1
- package/build/websdk/DemosContracts.d.ts +1 -1
- package/build/websdk/DemosContracts.js +9 -13
- package/build/websdk/DemosContracts.js.map +1 -1
- package/build/websdk/DemosTransactions.js +33 -69
- package/build/websdk/DemosTransactions.js.map +1 -1
- package/build/websdk/DemosWebAuth.js +17 -24
- package/build/websdk/DemosWebAuth.js.map +1 -1
- package/build/websdk/GCRGeneration.js +31 -19
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/build/websdk/Web2Calls.js +14 -18
- package/build/websdk/Web2Calls.js.map +1 -1
- package/build/websdk/XMTransactions.js +8 -13
- package/build/websdk/XMTransactions.js.map +1 -1
- package/build/websdk/bridge.js +1 -5
- package/build/websdk/bridge.js.map +1 -1
- package/build/websdk/demos.js +2 -5
- package/build/websdk/demos.js.map +1 -1
- package/build/websdk/demosclass.js +55 -95
- package/build/websdk/demosclass.js.map +1 -1
- package/build/websdk/examples/tryWeb2.js +4 -6
- package/build/websdk/examples/tryWeb2.js.map +1 -1
- package/build/websdk/index.js +14 -69
- package/build/websdk/index.js.map +1 -1
- package/build/websdk/rsa.js +17 -24
- package/build/websdk/rsa.js.map +1 -1
- package/build/websdk/types/IBuffer.js +1 -2
- package/build/websdk/types/KeyPair.js +1 -2
- package/build/websdk/utils/bufferizer.js +1 -4
- package/build/websdk/utils/bufferizer.js.map +1 -1
- package/build/websdk/utils/canonicalJson.js +3 -8
- package/build/websdk/utils/canonicalJson.js.map +1 -1
- package/build/websdk/utils/forge_converter.js +4 -7
- package/build/websdk/utils/forge_converter.js.map +1 -1
- package/build/websdk/utils/required.js +2 -6
- package/build/websdk/utils/required.js.map +1 -1
- package/build/websdk/utils/sha256.js +1 -4
- package/build/websdk/utils/sha256.js.map +1 -1
- package/build/websdk/utils/skeletons.js +3 -8
- package/build/websdk/utils/skeletons.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* LICENSE
|
|
3
2
|
|
|
4
3
|
© 2023 by KyneSys Labs, licensed under CC BY-NC-ND 4.0
|
|
@@ -9,53 +8,16 @@ Human readable license: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
|
|
9
8
|
KyneSys Labs: https://www.kynesys.xyz/
|
|
10
9
|
|
|
11
10
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (k2 === undefined) k2 = k;
|
|
21
|
-
o[k2] = m[k];
|
|
22
|
-
}));
|
|
23
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
-
}) : function(o, v) {
|
|
26
|
-
o["default"] = v;
|
|
27
|
-
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
-
var ownKeys = function(o) {
|
|
30
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
-
var ar = [];
|
|
32
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
-
return ar;
|
|
34
|
-
};
|
|
35
|
-
return ownKeys(o);
|
|
36
|
-
};
|
|
37
|
-
return function (mod) {
|
|
38
|
-
if (mod && mod.__esModule) return mod;
|
|
39
|
-
var result = {};
|
|
40
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
-
__setModuleDefault(result, mod);
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
|
-
})();
|
|
45
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.Cryptography = void 0;
|
|
50
|
-
const crypto = __importStar(require("crypto"));
|
|
51
|
-
const fs_1 = require("fs");
|
|
52
|
-
const path = __importStar(require("path"));
|
|
53
|
-
const node_forge_1 = __importDefault(require("node-forge"));
|
|
54
|
-
const bip39 = __importStar(require("@scure/bip39"));
|
|
55
|
-
const dataManipulation_1 = require("../utils/dataManipulation");
|
|
56
|
-
const Hashing_1 = require("./Hashing");
|
|
11
|
+
import * as crypto from "crypto";
|
|
12
|
+
import * as path from "path";
|
|
13
|
+
import forge from "node-forge";
|
|
14
|
+
// Helper to dynamically import fs (Node.js only) - avoids bundling fs for browser builds
|
|
15
|
+
const getFs = async () => (await import("fs")).promises;
|
|
16
|
+
import * as bip39 from "@scure/bip39";
|
|
17
|
+
import { HexToForge } from "../utils/dataManipulation.js";
|
|
18
|
+
import { Hashing } from "./Hashing.js";
|
|
57
19
|
const algorithm = "aes-256-cbc";
|
|
58
|
-
class Cryptography {
|
|
20
|
+
export class Cryptography {
|
|
59
21
|
/**
|
|
60
22
|
* Validates and sanitizes file paths to prevent path traversal attacks
|
|
61
23
|
* @param filePath The file path to validate
|
|
@@ -76,8 +38,8 @@ class Cryptography {
|
|
|
76
38
|
return resolvedPath;
|
|
77
39
|
}
|
|
78
40
|
static new() {
|
|
79
|
-
const seed =
|
|
80
|
-
const keys =
|
|
41
|
+
const seed = forge.random.getBytesSync(32);
|
|
42
|
+
const keys = forge.pki.ed25519.generateKeyPair({ seed });
|
|
81
43
|
return keys;
|
|
82
44
|
}
|
|
83
45
|
// INFO Method to generate a new key pair from a seed
|
|
@@ -91,18 +53,19 @@ class Cryptography {
|
|
|
91
53
|
seed = bip39.mnemonicToSeedSync(seed);
|
|
92
54
|
}
|
|
93
55
|
const stringSeed = seed.toString();
|
|
94
|
-
const hashedSeed =
|
|
56
|
+
const hashedSeed = Hashing.sha256(stringSeed);
|
|
95
57
|
const bufferSeed = Buffer.from(hashedSeed, "hex");
|
|
96
|
-
return
|
|
58
|
+
return forge.pki.ed25519.generateKeyPair({ seed: bufferSeed });
|
|
97
59
|
}
|
|
98
60
|
// TODO Eliminate the old legacy compatibility
|
|
99
61
|
static async save(keypair, path, mode = "hex") {
|
|
62
|
+
const fs = await getFs();
|
|
100
63
|
if (mode === "hex") {
|
|
101
64
|
let hexPrivKey = Cryptography.saveToHex(keypair.privateKey);
|
|
102
|
-
await
|
|
65
|
+
await fs.writeFile(path, hexPrivKey);
|
|
103
66
|
}
|
|
104
67
|
else {
|
|
105
|
-
await
|
|
68
|
+
await fs.writeFile(path, JSON.stringify(keypair.privateKey));
|
|
106
69
|
}
|
|
107
70
|
}
|
|
108
71
|
static saveToHex(forgeBuffer) {
|
|
@@ -112,14 +75,16 @@ class Cryptography {
|
|
|
112
75
|
}
|
|
113
76
|
// SECTION Encrypted save and load
|
|
114
77
|
static async saveEncrypted(keypair, path, password) {
|
|
78
|
+
const fs = await getFs();
|
|
115
79
|
const key = crypto.createCipher(algorithm, password);
|
|
116
80
|
// Getting the private key in hex form
|
|
117
81
|
const hex_key = keypair.privateKey.toString("hex");
|
|
118
82
|
// Encrypting and saving
|
|
119
83
|
const encryptedMessage = key.update(hex_key, "utf8", "hex");
|
|
120
|
-
await
|
|
84
|
+
await fs.writeFile(path, encryptedMessage);
|
|
121
85
|
}
|
|
122
86
|
static async loadEncrypted(path, password) {
|
|
87
|
+
const fs = await getFs();
|
|
123
88
|
let keypair = {
|
|
124
89
|
privateKey: null,
|
|
125
90
|
publicKey: null,
|
|
@@ -128,7 +93,7 @@ class Cryptography {
|
|
|
128
93
|
const safePath = Cryptography.validateFilePath(path);
|
|
129
94
|
// Preparing the environment
|
|
130
95
|
const decipher = crypto.createDecipher(algorithm, password);
|
|
131
|
-
const contentOfFile = await
|
|
96
|
+
const contentOfFile = await fs.readFile(safePath, "utf8");
|
|
132
97
|
// Decrypting
|
|
133
98
|
const decryptedKey = decipher.update(contentOfFile, "hex", "utf8");
|
|
134
99
|
// Loading
|
|
@@ -149,9 +114,10 @@ class Cryptography {
|
|
|
149
114
|
};
|
|
150
115
|
let content;
|
|
151
116
|
if (isFile) {
|
|
117
|
+
const fs = await getFs();
|
|
152
118
|
// Validate and sanitize the file path to prevent path traversal attacks
|
|
153
119
|
const safePath = Cryptography.validateFilePath(path);
|
|
154
|
-
content = await
|
|
120
|
+
content = await fs.readFile(safePath, "utf8");
|
|
155
121
|
}
|
|
156
122
|
else {
|
|
157
123
|
content = path;
|
|
@@ -174,7 +140,7 @@ class Cryptography {
|
|
|
174
140
|
finalArray[i / 2] = decimalValue;
|
|
175
141
|
}
|
|
176
142
|
keypair.privateKey = Buffer.from(finalArray);
|
|
177
|
-
keypair.publicKey =
|
|
143
|
+
keypair.publicKey = forge.pki.ed25519.publicKeyFromPrivateKey({
|
|
178
144
|
privateKey: keypair.privateKey,
|
|
179
145
|
});
|
|
180
146
|
return keypair;
|
|
@@ -182,7 +148,7 @@ class Cryptography {
|
|
|
182
148
|
static loadFromBufferString(content) {
|
|
183
149
|
let keypair = { publicKey: null, privateKey: null };
|
|
184
150
|
keypair.privateKey = Buffer.from(JSON.parse(content));
|
|
185
|
-
keypair.publicKey =
|
|
151
|
+
keypair.publicKey = forge.pki.ed25519.publicKeyFromPrivateKey({
|
|
186
152
|
privateKey: keypair.privateKey,
|
|
187
153
|
});
|
|
188
154
|
return keypair;
|
|
@@ -190,9 +156,9 @@ class Cryptography {
|
|
|
190
156
|
static sign(message, privateKey) {
|
|
191
157
|
// REVIEW Test HexToForge support
|
|
192
158
|
if (privateKey.type == "string") {
|
|
193
|
-
privateKey =
|
|
159
|
+
privateKey = HexToForge(privateKey);
|
|
194
160
|
}
|
|
195
|
-
return
|
|
161
|
+
return forge.pki.ed25519.sign({
|
|
196
162
|
message,
|
|
197
163
|
encoding: "utf8",
|
|
198
164
|
privateKey,
|
|
@@ -201,10 +167,10 @@ class Cryptography {
|
|
|
201
167
|
static verify(signed, signature, publicKey) {
|
|
202
168
|
// REVIEW Test HexToForge support
|
|
203
169
|
if (signature.type == "string") {
|
|
204
|
-
signature =
|
|
170
|
+
signature = HexToForge(signature);
|
|
205
171
|
}
|
|
206
172
|
if (publicKey.type == "string") {
|
|
207
|
-
publicKey =
|
|
173
|
+
publicKey = HexToForge(publicKey);
|
|
208
174
|
}
|
|
209
175
|
// Also, we have to sanitize buffers so that they are forge compatible
|
|
210
176
|
if (signature.type == "Buffer") {
|
|
@@ -213,7 +179,7 @@ class Cryptography {
|
|
|
213
179
|
if (publicKey.type == "Buffer") {
|
|
214
180
|
publicKey = Buffer.from(publicKey); // REVIEW Does not work in bun
|
|
215
181
|
}
|
|
216
|
-
return
|
|
182
|
+
return forge.pki.ed25519.verify({
|
|
217
183
|
message: signed,
|
|
218
184
|
encoding: "utf8",
|
|
219
185
|
signature: signature,
|
|
@@ -221,15 +187,14 @@ class Cryptography {
|
|
|
221
187
|
});
|
|
222
188
|
}
|
|
223
189
|
}
|
|
224
|
-
exports.Cryptography = Cryptography;
|
|
225
190
|
Cryptography.ed25519 = {
|
|
226
191
|
sign: (message, privateKey) => {
|
|
227
192
|
// REVIEW Test HexToForge support
|
|
228
193
|
if (privateKey.type == "string") {
|
|
229
194
|
console.log("[HexToForge] Deriving a buffer from privateKey...");
|
|
230
|
-
privateKey =
|
|
195
|
+
privateKey = HexToForge(privateKey);
|
|
231
196
|
}
|
|
232
|
-
return
|
|
197
|
+
return forge.pki.ed25519.sign({
|
|
233
198
|
message,
|
|
234
199
|
encoding: "utf8",
|
|
235
200
|
privateKey,
|
|
@@ -238,10 +203,10 @@ Cryptography.ed25519 = {
|
|
|
238
203
|
verify: (signed, signature, publicKey) => {
|
|
239
204
|
// REVIEW Test HexToForge support
|
|
240
205
|
if (signature.type == "string") {
|
|
241
|
-
signature =
|
|
206
|
+
signature = HexToForge(signature);
|
|
242
207
|
}
|
|
243
208
|
if (publicKey.type == "string") {
|
|
244
|
-
publicKey =
|
|
209
|
+
publicKey = HexToForge(publicKey);
|
|
245
210
|
}
|
|
246
211
|
// Also, we have to sanitize buffers so that they are forge compatible
|
|
247
212
|
if (signature.type == "Buffer") {
|
|
@@ -250,7 +215,7 @@ Cryptography.ed25519 = {
|
|
|
250
215
|
if (publicKey.type == "Buffer") {
|
|
251
216
|
publicKey = Buffer.from(publicKey); // REVIEW Does not work in bun
|
|
252
217
|
}
|
|
253
|
-
return
|
|
218
|
+
return forge.pki.ed25519.verify({
|
|
254
219
|
message: signed,
|
|
255
220
|
encoding: "utf8",
|
|
256
221
|
signature: signature,
|
|
@@ -266,7 +231,7 @@ Cryptography.rsa = {
|
|
|
266
231
|
publicKey = Buffer.from(publicKey);
|
|
267
232
|
}
|
|
268
233
|
// Converting the message and decrypting it
|
|
269
|
-
let based =
|
|
234
|
+
let based = forge.util.encode64(message);
|
|
270
235
|
const encrypted = publicKey.encrypt(based);
|
|
271
236
|
return [true, encrypted];
|
|
272
237
|
},
|
|
@@ -287,7 +252,7 @@ Cryptography.rsa = {
|
|
|
287
252
|
if (!privateKey) {
|
|
288
253
|
return [false, "No private key found"];
|
|
289
254
|
}
|
|
290
|
-
let debased =
|
|
255
|
+
let debased = forge.util.decode64(message);
|
|
291
256
|
const decrypted = privateKey.decrypt(debased);
|
|
292
257
|
return [true, decrypted.toString()];
|
|
293
258
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cryptography.js","sourceRoot":"","sources":["../../../src/encryption/Cryptography.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cryptography.js","sourceRoot":"","sources":["../../../src/encryption/Cryptography.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
1
|
// LINK https://github.com/s0l0ist/node-seal/blob/main/USAGE.md
|
|
7
2
|
// LINK https://s0l0ist.github.io/seal-sandbox/
|
|
8
|
-
|
|
3
|
+
import SEAL from 'node-seal';
|
|
9
4
|
// Initialize SEAL completely
|
|
10
5
|
let seal = null;
|
|
11
6
|
(async () => {
|
|
12
|
-
seal = await (
|
|
7
|
+
seal = await SEAL();
|
|
13
8
|
})();
|
|
14
|
-
class FHE {
|
|
9
|
+
export default class FHE {
|
|
15
10
|
constructor() {
|
|
16
11
|
// Encryption Parameters
|
|
17
12
|
this.schemeType = seal.SchemeType.bfv;
|
|
@@ -24,5 +19,4 @@ class FHE {
|
|
|
24
19
|
// TODO Continue from here
|
|
25
20
|
}
|
|
26
21
|
}
|
|
27
|
-
exports.default = FHE;
|
|
28
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/encryption/FHE/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/encryption/FHE/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+CAA+C;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAA;AAI5B,6BAA6B;AAC7B,IAAI,IAAI,GAAgB,IAAI,CAAC;AAC7B,CAAC,KAAK,IAAG,EAAE;IACP,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,CAAC,OAAO,OAAO,GAAG;IAUpB;QACI,wBAAwB;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,+BAA+B;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvD,0BAA0B;IAC9B,CAAC;CAEJ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/* LICENSE
|
|
3
2
|
|
|
4
3
|
© 2023 by KyneSys Labs, licensed under CC BY-NC-ND 4.0
|
|
@@ -9,27 +8,21 @@ Human readable license: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
|
|
9
8
|
KyneSys Labs: https://www.kynesys.xyz/
|
|
10
9
|
|
|
11
10
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
exports.Hashing = void 0;
|
|
17
|
-
const node_forge_1 = __importDefault(require("node-forge"));
|
|
18
|
-
const sha3_1 = require("@noble/hashes/sha3");
|
|
19
|
-
const utils_1 = require("@noble/hashes/utils");
|
|
20
|
-
class Hashing {
|
|
11
|
+
import forge from "node-forge";
|
|
12
|
+
import { sha3_256, sha3_512 } from "@noble/hashes/sha3";
|
|
13
|
+
import { bytesToHex } from "@noble/hashes/utils";
|
|
14
|
+
export class Hashing {
|
|
21
15
|
static sha256(message) {
|
|
22
|
-
const md =
|
|
16
|
+
const md = forge.sha256.create();
|
|
23
17
|
md.update(message);
|
|
24
18
|
return md.digest().toHex();
|
|
25
19
|
}
|
|
26
20
|
static sha3_256(message) {
|
|
27
|
-
const hash =
|
|
28
|
-
return
|
|
21
|
+
const hash = sha3_256(message);
|
|
22
|
+
return bytesToHex(hash);
|
|
29
23
|
}
|
|
30
24
|
static sha3_512(message) {
|
|
31
|
-
return
|
|
25
|
+
return sha3_512(message);
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
|
-
exports.Hashing = Hashing;
|
|
35
28
|
//# sourceMappingURL=Hashing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hashing.js","sourceRoot":"","sources":["../../../src/encryption/Hashing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Hashing.js","sourceRoot":"","sources":["../../../src/encryption/Hashing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AAEF,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,MAAM,OAAO,OAAO;IAChB,MAAM,CAAC,MAAM,CAAC,OAAe;QACzB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QAChC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAClB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAA4B;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,OAA4B;QACxC,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACJ"}
|
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Enigma = void 0;
|
|
37
1
|
/* INFO Enigma - An experimental wrapper for Post Quantum Cryptography in Typescript designed with ease of use in mind
|
|
38
2
|
Currently suggested and tested schemas for each algorithm are:
|
|
39
3
|
- Signing: ml-dsa or falcon
|
|
@@ -47,13 +11,13 @@ exports.Enigma = void 0;
|
|
|
47
11
|
- ChaCha20-Poly1305
|
|
48
12
|
To properly test the encryption and decryption of data, please see the pqc test suite.
|
|
49
13
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
class Enigma {
|
|
14
|
+
import { ml_kem768 } from "@noble/post-quantum/ml-kem";
|
|
15
|
+
import { ml_dsa65 } from "@noble/post-quantum/ml-dsa";
|
|
16
|
+
import { sha3_256 } from "@noble/hashes/sha3";
|
|
17
|
+
import * as crypto from "crypto";
|
|
18
|
+
import { Falcon } from "./falconts/index.js";
|
|
19
|
+
import { randomBytes } from "crypto";
|
|
20
|
+
export class Enigma {
|
|
57
21
|
constructor() {
|
|
58
22
|
// ml-dsa signing keypair
|
|
59
23
|
this.ml_dsa_signing_keypair = null;
|
|
@@ -72,7 +36,7 @@ class Enigma {
|
|
|
72
36
|
*/
|
|
73
37
|
static async hash(data, algorithm = "sha3-256") {
|
|
74
38
|
// NOTE: algorithm is not used yet, but will be used in the future
|
|
75
|
-
return
|
|
39
|
+
return sha3_256.create().update(data).digest();
|
|
76
40
|
}
|
|
77
41
|
/**
|
|
78
42
|
* Verifies a signature using ml-dsa
|
|
@@ -82,7 +46,7 @@ class Enigma {
|
|
|
82
46
|
* @returns True if the signature is valid, false otherwise
|
|
83
47
|
*/
|
|
84
48
|
static async verify_ml_dsa(signature, message, publicKey) {
|
|
85
|
-
return
|
|
49
|
+
return ml_dsa65.verify(publicKey, message, signature);
|
|
86
50
|
}
|
|
87
51
|
/**
|
|
88
52
|
* Verifies a signature using falcon
|
|
@@ -92,7 +56,7 @@ class Enigma {
|
|
|
92
56
|
* @returns True if the signature is valid, false otherwise
|
|
93
57
|
*/
|
|
94
58
|
static async verify_falcon(signature, message, publicKey) {
|
|
95
|
-
const falcon = new
|
|
59
|
+
const falcon = new Falcon(); // Initialize falcon kernel
|
|
96
60
|
await falcon.init();
|
|
97
61
|
return falcon.verify(message, signature, publicKey);
|
|
98
62
|
}
|
|
@@ -108,7 +72,7 @@ class Enigma {
|
|
|
108
72
|
if (!keypair.privateKey) {
|
|
109
73
|
throw new Error("ml_dsa_signing_keypair.privateKey is not set");
|
|
110
74
|
}
|
|
111
|
-
return
|
|
75
|
+
return ml_dsa65.sign(keypair.privateKey, message);
|
|
112
76
|
}
|
|
113
77
|
/** Sign data using falcon
|
|
114
78
|
* @param message The message to sign
|
|
@@ -121,7 +85,7 @@ class Enigma {
|
|
|
121
85
|
if (!keypair.privateKey) {
|
|
122
86
|
throw new Error("falcon_signing_keypair.privateKey is not set");
|
|
123
87
|
}
|
|
124
|
-
const falcon = new
|
|
88
|
+
const falcon = new Falcon();
|
|
125
89
|
await falcon.init();
|
|
126
90
|
await falcon.setKeypair({
|
|
127
91
|
genkeySeed: this.falcon_signing_keypair.genKey,
|
|
@@ -134,13 +98,13 @@ class Enigma {
|
|
|
134
98
|
if (!this.ml_kem_encryption_keypair.privateKey) {
|
|
135
99
|
throw new Error("ml_kem_encryption_keypair.privateKey is not set");
|
|
136
100
|
}
|
|
137
|
-
return
|
|
101
|
+
return ml_kem768.encapsulate(peerPublicKey);
|
|
138
102
|
}
|
|
139
103
|
async decapsulate_ml_kem(cipherText) {
|
|
140
104
|
if (!this.ml_kem_encryption_keypair.privateKey) {
|
|
141
105
|
throw new Error("ml_kem_encryption_keypair.privateKey is not set");
|
|
142
106
|
}
|
|
143
|
-
return
|
|
107
|
+
return ml_kem768.decapsulate(cipherText, this.ml_kem_encryption_keypair.privateKey);
|
|
144
108
|
}
|
|
145
109
|
/** Encrypt data using ml_kem + aes
|
|
146
110
|
* @param message The message to encrypt
|
|
@@ -151,7 +115,7 @@ class Enigma {
|
|
|
151
115
|
throw new Error("ml_kem_encryption_keypair.privateKey is not set");
|
|
152
116
|
}
|
|
153
117
|
// Generate shared secret and encapsulate it in a cipher text using ml_kem and the peer's public key
|
|
154
|
-
const encapsulatedSecret =
|
|
118
|
+
const encapsulatedSecret = ml_kem768.encapsulate(peerPublicKey);
|
|
155
119
|
// Encrypt the message using AES-256-GCM with the shared secret
|
|
156
120
|
const iv = crypto.randomBytes(12); // 96-bit IV for GCM mode
|
|
157
121
|
const cipher = crypto.createCipheriv("aes-256-gcm", encapsulatedSecret.sharedSecret, iv);
|
|
@@ -183,7 +147,7 @@ class Enigma {
|
|
|
183
147
|
throw new Error("ml_kem_encryption_keypair.privateKey is not set");
|
|
184
148
|
}
|
|
185
149
|
// Get the shared secret from the cipher text
|
|
186
|
-
const sharedSecret =
|
|
150
|
+
const sharedSecret = ml_kem768.decapsulate(cipherText, this.ml_kem_encryption_keypair.privateKey);
|
|
187
151
|
// Decrypt the message using AES-256-GCM with the shared secret
|
|
188
152
|
const iv = encryptedMessage.slice(0, 12);
|
|
189
153
|
const message = encryptedMessage.slice(12, -16);
|
|
@@ -204,9 +168,9 @@ class Enigma {
|
|
|
204
168
|
*/
|
|
205
169
|
async generate_ml_dsa_signing_keypair(seed = null) {
|
|
206
170
|
if (!seed) {
|
|
207
|
-
seed =
|
|
171
|
+
seed = randomBytes(32);
|
|
208
172
|
}
|
|
209
|
-
const keypair =
|
|
173
|
+
const keypair = ml_dsa65.keygen(seed);
|
|
210
174
|
this.ml_dsa_signing_keypair = {
|
|
211
175
|
publicKey: keypair.publicKey,
|
|
212
176
|
privateKey: keypair.secretKey,
|
|
@@ -218,9 +182,9 @@ class Enigma {
|
|
|
218
182
|
*/
|
|
219
183
|
async generate_falcon_signing_keypair(seed = null) {
|
|
220
184
|
if (!seed) {
|
|
221
|
-
seed =
|
|
185
|
+
seed = randomBytes(48);
|
|
222
186
|
}
|
|
223
|
-
const falcon = new
|
|
187
|
+
const falcon = new Falcon();
|
|
224
188
|
await falcon.init();
|
|
225
189
|
await falcon.genkey(seed);
|
|
226
190
|
const falconKeyPair = await falcon.getKeypair();
|
|
@@ -236,14 +200,13 @@ class Enigma {
|
|
|
236
200
|
*/
|
|
237
201
|
async generate_ml_kem_encryption_keypair(seed = null) {
|
|
238
202
|
if (!seed) {
|
|
239
|
-
seed =
|
|
203
|
+
seed = randomBytes(64);
|
|
240
204
|
}
|
|
241
|
-
let keys =
|
|
205
|
+
let keys = ml_kem768.keygen(seed);
|
|
242
206
|
this.ml_kem_encryption_keypair = {
|
|
243
207
|
privateKey: keys.secretKey,
|
|
244
208
|
publicKey: keys.publicKey,
|
|
245
209
|
};
|
|
246
210
|
}
|
|
247
211
|
}
|
|
248
|
-
exports.Enigma = Enigma;
|
|
249
212
|
//# sourceMappingURL=enigma.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigma.js","sourceRoot":"","sources":["../../../../src/encryption/PQC/enigma.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enigma.js","sourceRoot":"","sources":["../../../../src/encryption/PQC/enigma.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const falcon_sign_1 = require("falcon-sign");
|
|
4
|
-
class Falcon {
|
|
1
|
+
import { getKernel } from 'falcon-sign';
|
|
2
|
+
export default class Falcon {
|
|
5
3
|
constructor(algid) {
|
|
6
4
|
if (algid && (algid !== 'falcon512_n3_v1' && algid !== 'falcon1024_n3_v1')) {
|
|
7
5
|
throw new Error(`Invalid algorithm ID: ${algid}\nSupported algorithms: falcon512_n3_v1, falcon1024_n3_v1\nLeave blank for default: falcon512_n3_v1`);
|
|
@@ -9,7 +7,7 @@ class Falcon {
|
|
|
9
7
|
this.algid = algid || 'falcon512_n3_v1';
|
|
10
8
|
}
|
|
11
9
|
async init() {
|
|
12
|
-
this.kernel = await
|
|
10
|
+
this.kernel = await getKernel(this.algid);
|
|
13
11
|
}
|
|
14
12
|
// SECTION: Signing
|
|
15
13
|
async genkey(seed) {
|
|
@@ -224,5 +222,4 @@ class Falcon {
|
|
|
224
222
|
return Falcon.uint8ArrayToBase64(publicKey);
|
|
225
223
|
}
|
|
226
224
|
}
|
|
227
|
-
exports.default = Falcon;
|
|
228
225
|
//# sourceMappingURL=falcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"falcon.js","sourceRoot":"","sources":["../../../../../src/encryption/PQC/falconts/falcon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"falcon.js","sourceRoot":"","sources":["../../../../../src/encryption/PQC/falconts/falcon.ts"],"names":[],"mappings":"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"}
|