bump ed25519-dalek to 2.0 (#14776)

* bump ed25519-dalek to 2.0

* sp-statement-store: don't use deprecated SecretKey::new

* Remove snow patch

---------

Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
This commit is contained in:
André Silva
2023-08-21 15:00:59 +01:00
committed by GitHub
parent a13382f192
commit 4ce001be47
5 changed files with 65 additions and 47 deletions
+1 -4
View File
@@ -33,9 +33,7 @@ tracing = { version = "0.1.29", default-features = false }
tracing-core = { version = "0.1.28", default-features = false}
# Required for backwards compatibility reason, but only used for verifying when `UseDalekExt` is set.
ed25519-dalek = { version = "1.0.1", default-features = false, optional = true }
# Force the usage of ed25519, this is being used in `ed25519-dalek`.
ed25519 = { version = "1.5.2", optional = true }
ed25519-dalek = { version = "2.0.0", default-features = false, optional = true }
[build-dependencies]
rustversion = "1.0.6"
@@ -58,7 +56,6 @@ std = [
"tracing-core/std",
"log",
"ed25519-dalek",
"ed25519",
"sp-keystore/std"
]
+2 -2
View File
@@ -825,11 +825,11 @@ pub trait Crypto {
{
use ed25519_dalek::Verifier;
let Ok(public_key) = ed25519_dalek::PublicKey::from_bytes(&pub_key.0) else {
let Ok(public_key) = ed25519_dalek::VerifyingKey::from_bytes(&pub_key.0) else {
return false
};
let Ok(sig) = ed25519_dalek::Signature::from_bytes(&sig.0) else { return false };
let sig = ed25519_dalek::Signature::from_bytes(&sig.0);
public_key.verify(msg, &sig).is_ok()
} else {
@@ -25,9 +25,9 @@ sp-externalities = { version = "0.19.0", default-features = false, path = "../ex
thiserror = { version = "1.0", optional = true }
# ECIES dependencies
ed25519-dalek = { version = "1.0", optional = true }
x25519-dalek = { version = "2.0.0-pre.1", optional = true }
curve25519-dalek = { version = "3.2", optional = true }
ed25519-dalek = { version = "2.0.0", optional = true }
x25519-dalek = { version = "2.0.0", optional = true, features = ["static_secrets"] }
curve25519-dalek = { version = "4.0.0", optional = true }
aes-gcm = { version = "0.10", optional = true }
hkdf = { version = "0.12.0", optional = true }
sha2 = { version = "0.10.7", optional = true }
@@ -71,7 +71,7 @@ fn kdf(shared_secret: &[u8]) -> [u8; AES_KEY_LEN] {
/// Encrypt `plaintext` with the given public x25519 public key. Decryption can be performed with
/// the matching secret key.
pub fn encrypt_x25519(pk: &PublicKey, plaintext: &[u8]) -> Result<Vec<u8>, Error> {
let ephemeral_sk = x25519_dalek::StaticSecret::new(OsRng);
let ephemeral_sk = x25519_dalek::StaticSecret::random_from_rng(OsRng);
let ephemeral_pk = x25519_dalek::PublicKey::from(&ephemeral_sk);
let mut shared_secret = ephemeral_sk.diffie_hellman(pk).to_bytes().to_vec();
@@ -135,7 +135,7 @@ mod test {
#[test]
fn basic_x25519_encryption() {
let sk = SecretKey::new(OsRng);
let sk = SecretKey::random_from_rng(OsRng);
let pk = PublicKey::from(&sk);
let plain_message = b"An important secret message";
@@ -159,7 +159,7 @@ mod test {
#[test]
fn fails_on_bad_data() {
let sk = SecretKey::new(OsRng);
let sk = SecretKey::random_from_rng(OsRng);
let pk = PublicKey::from(&sk);
let plain_message = b"An important secret message";