From 474a171f5e6684ab7d11bb2987fc90fe6e1b37c8 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 6 Jun 2023 15:00:10 +0200 Subject: wallet-core: deterministic p2p contract encryption --- packages/taler-util/src/taler-crypto.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'packages/taler-util/src') diff --git a/packages/taler-util/src/taler-crypto.ts b/packages/taler-util/src/taler-crypto.ts index c4eb925f7..ed3b82cd0 100644 --- a/packages/taler-util/src/taler-crypto.ts +++ b/packages/taler-util/src/taler-crypto.ts @@ -1465,6 +1465,7 @@ export function encryptContractForMerge( contractPriv: ContractPrivateKey, mergePriv: MergePrivateKey, contractTerms: any, + nonce: EncryptionNonce, ): Promise { const contractTermsCanon = canonicalJson(contractTerms) + "\0"; const contractTermsBytes = stringToBytes(contractTermsCanon); @@ -1476,13 +1477,14 @@ export function encryptContractForMerge( contractTermsCompressed, ]); const key = keyExchangeEcdhEddsa(contractPriv, pursePub); - return encryptWithDerivedKey(getRandomBytesF(24), key, data, mergeSalt); + return encryptWithDerivedKey(nonce, key, data, mergeSalt); } export function encryptContractForDeposit( pursePub: PursePublicKey, contractPriv: ContractPrivateKey, contractTerms: any, + nonce: EncryptionNonce, ): Promise { const contractTermsCanon = canonicalJson(contractTerms) + "\0"; const contractTermsBytes = stringToBytes(contractTermsCanon); @@ -1493,7 +1495,7 @@ export function encryptContractForDeposit( contractTermsCompressed, ]); const key = keyExchangeEcdhEddsa(contractPriv, pursePub); - return encryptWithDerivedKey(getRandomBytesF(24), key, data, depositSalt); + return encryptWithDerivedKey(nonce, key, data, depositSalt); } export interface DecryptForMergeResult { -- cgit v1.2.3