summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-06-08 10:38:07 +0200
committerDavid Lönnhager <david.l@mullvad.net>2022-06-14 12:38:39 +0200
commit678949a4ef18426b7f093bdc86c31b676810a688 (patch)
tree52708c767c1ffbdda15d5626548c1206ac8174f7
parent8f78d9164c3c758062f4e3ef2a21d838e26882c6 (diff)
downloadmullvadvpn-678949a4ef18426b7f093bdc86c31b676810a688.tar.xz
mullvadvpn-678949a4ef18426b7f093bdc86c31b676810a688.zip
Use v2 branch of classic-mceliece-rust
-rw-r--r--Cargo.lock43
-rw-r--r--talpid-relay-config-client/Cargo.toml2
-rw-r--r--talpid-relay-config-client/src/kem.rs10
3 files changed, 8 insertions, 47 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 810c22e39c..758ca19a76 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -186,7 +186,7 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
dependencies = [
- "block-padding 0.1.5",
+ "block-padding",
"byte-tools",
"byteorder",
"generic-array 0.12.4",
@@ -194,16 +194,6 @@ dependencies = [
[[package]]
name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "block-padding 0.2.1",
- "generic-array 0.14.4",
-]
-
-[[package]]
-name = "block-buffer"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
@@ -212,16 +202,6 @@ dependencies = [
]
[[package]]
-name = "block-modes"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e"
-dependencies = [
- "block-padding 0.2.1",
- "cipher",
-]
-
-[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -231,12 +211,6 @@ dependencies = [
]
[[package]]
-name = "block-padding"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
-[[package]]
name = "bumpalo"
version = "3.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -366,13 +340,8 @@ dependencies = [
[[package]]
name = "classic-mceliece-rust"
version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa9a48fdd99179698111d76d2e66f185ef18b4ef4851a4f9dde20f1ed6c9aa1"
+source = "git+https://github.com/mullvad/classic-mceliece-rust?rev=5130d9e3bfbf54735177e15636a643366c250b78#5130d9e3bfbf54735177e15636a643366c250b78"
dependencies = [
- "aes",
- "block-modes",
- "hex",
- "lazy_static",
"rand 0.8.4",
"sha3",
]
@@ -3075,14 +3044,12 @@ dependencies = [
[[package]]
name = "sha3"
-version = "0.9.1"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
+checksum = "31f935e31cf406e8c0e96c2815a5516181b7004ae8c5f296293221e9b1e356bd"
dependencies = [
- "block-buffer 0.9.0",
- "digest 0.9.0",
+ "digest 0.10.1",
"keccak",
- "opaque-debug 0.3.0",
]
[[package]]
diff --git a/talpid-relay-config-client/Cargo.toml b/talpid-relay-config-client/Cargo.toml
index 73f5cdb630..a94a0d576a 100644
--- a/talpid-relay-config-client/Cargo.toml
+++ b/talpid-relay-config-client/Cargo.toml
@@ -16,7 +16,7 @@ prost = "0.8"
prost-types = "0.9"
tower = "0.4"
tokio = "1"
-classic-mceliece-rust = { version = "1.0", features = ["mceliece8192128f"] }
+classic-mceliece-rust = { git = "https://github.com/mullvad/classic-mceliece-rust", rev = "5130d9e3bfbf54735177e15636a643366c250b78", features = ["mceliece8192128f"] }
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread"] }
diff --git a/talpid-relay-config-client/src/kem.rs b/talpid-relay-config-client/src/kem.rs
index 3fd1bff497..7b7817e5e3 100644
--- a/talpid-relay-config-client/src/kem.rs
+++ b/talpid-relay-config-client/src/kem.rs
@@ -3,10 +3,9 @@ use std::fmt;
use super::Error;
use classic_mceliece_rust::{
- crypto_kem_dec, crypto_kem_keypair, AesState, RNGState, CRYPTO_BYTES, CRYPTO_CIPHERTEXTBYTES,
+ crypto_kem_dec, crypto_kem_keypair, CRYPTO_BYTES, CRYPTO_CIPHERTEXTBYTES,
CRYPTO_PUBLICKEYBYTES, CRYPTO_SECRETKEYBYTES,
};
-use rand::RngCore;
use talpid_types::net::wireguard::PresharedKey;
const STACK_SIZE: usize = 8 * 1024 * 1024;
@@ -32,12 +31,7 @@ pub async fn generate_keys() -> Result<(PublicKey, SecretKey), Error> {
let (tx, rx) = tokio::sync::oneshot::channel();
let gen_key = move || {
- let mut rng = AesState::new();
-
- let mut entropy = [0u8; 48];
- rand::thread_rng().fill_bytes(&mut entropy);
- rng.randombytes_init(entropy);
-
+ let mut rng = rand::thread_rng();
let mut pubkey = Box::new([0u8; CRYPTO_PUBLICKEYBYTES]);
let mut secret = Box::new([0u8; CRYPTO_SECRETKEYBYTES]);
crypto_kem_keypair(&mut pubkey, &mut secret, &mut rng).map_err(|error| {