summaryrefslogtreecommitdiff
path: root/packages/anastasis-core/src/crypto.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-10-19 18:39:38 +0200
committerFlorian Dold <florian@dold.me>2021-10-19 18:39:47 +0200
commit26738d14f1d60d9aa7471d0be267d286a4644069 (patch)
tree1b35547ec784aef11006569dc252c4d2fb171316 /packages/anastasis-core/src/crypto.ts
parentaac2bc389a32b2e91494d097a3f3fc9560ddbfbc (diff)
downloadwallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.tar.gz
wallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.tar.bz2
wallet-core-26738d14f1d60d9aa7471d0be267d286a4644069.zip
anastasis-core: crypto fixes
Diffstat (limited to 'packages/anastasis-core/src/crypto.ts')
-rw-r--r--packages/anastasis-core/src/crypto.ts10
1 files changed, 3 insertions, 7 deletions
diff --git a/packages/anastasis-core/src/crypto.ts b/packages/anastasis-core/src/crypto.ts
index 32cf470c4..1332f8492 100644
--- a/packages/anastasis-core/src/crypto.ts
+++ b/packages/anastasis-core/src/crypto.ts
@@ -66,16 +66,12 @@ export function accountKeypairDerive(userId: UserIdentifier): AccountKeyPair {
// FIXME: the KDF invocation looks fishy, but that's what the C code presently does.
const d = kdfKw({
outputLength: 32,
- ikm: stringToBytes("ver"),
- salt: decodeCrock(userId),
+ ikm: decodeCrock(userId),
+ info: stringToBytes("ver"),
});
- // FIXME: This bit twiddling seems wrong/unnecessary.
- d[0] &= 248;
- d[31] &= 127;
- d[31] |= 64;
const pair = crypto_sign_keyPair_fromSeed(d);
return {
- priv: encodeCrock(pair.secretKey),
+ priv: encodeCrock(d),
pub: encodeCrock(pair.publicKey),
};
}