From 182a0954201af3df751d6bf98ca9361e347a9552 Mon Sep 17 00:00:00 2001 From: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com> Date: Fri, 27 Oct 2023 17:32:21 -0600 Subject: [PATCH] use old secret key derivation function (#2482) * use old secret key derivation function * compat * cargo --- backend/Cargo.lock | 1 + backend/Cargo.toml | 2 +- backend/src/util/crypto.rs | 12 ++++-------- system-images/compat/Cargo.lock | 1 + 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index c2b316f24..1607bf7f2 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -4911,6 +4911,7 @@ dependencies = [ "digest 0.10.7", "divrem", "ed25519 2.2.3", + "ed25519-dalek 1.0.1", "ed25519-dalek 2.0.0", "embassy_container_init", "emver", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index bd9b4e608..444ad3cf3 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -66,11 +66,11 @@ divrem = "1.0.0" ed25519 = { version = "2.2.3", features = ["pkcs8", "pem", "alloc"] } ed25519-dalek = { version = "2.0.0", features = [ "serde", - "hazmat", "zeroize", "rand_core", "digest", ] } +ed25519-dalek-v1 = { package = "ed25519-dalek", version = "1" } embassy_container_init = { path = "../libs/embassy_container_init" } emver = { version = "0.1.7", git = "https://github.com/Start9Labs/emver-rs.git", features = [ "serde", diff --git a/backend/src/util/crypto.rs b/backend/src/util/crypto.rs index ba9f68599..5c1aed01e 100644 --- a/backend/src/util/crypto.rs +++ b/backend/src/util/crypto.rs @@ -1,13 +1,9 @@ -use ed25519_dalek::hazmat::ExpandedSecretKey; use ed25519_dalek::{SecretKey, EXPANDED_SECRET_KEY_LENGTH}; #[inline] pub fn ed25519_expand_key(key: &SecretKey) -> [u8; EXPANDED_SECRET_KEY_LENGTH] { - let key = ExpandedSecretKey::from(key); - - let mut bytes: [u8; 64] = [0u8; 64]; - - bytes[..32].copy_from_slice(key.scalar.as_bytes()); - bytes[32..].copy_from_slice(&key.hash_prefix[..]); - bytes + ed25519_dalek_v1::ExpandedSecretKey::from( + &ed25519_dalek_v1::SecretKey::from_bytes(key).unwrap(), + ) + .to_bytes() } diff --git a/system-images/compat/Cargo.lock b/system-images/compat/Cargo.lock index f28d2379e..68b670cb0 100644 --- a/system-images/compat/Cargo.lock +++ b/system-images/compat/Cargo.lock @@ -4421,6 +4421,7 @@ dependencies = [ "digest 0.10.7", "divrem", "ed25519 2.2.3", + "ed25519-dalek 1.0.1", "ed25519-dalek 2.0.0", "embassy_container_init", "emver",