mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Disable logging of encryption keys in release builds
This commit is contained in:
8
Cargo.lock
generated
8
Cargo.lock
generated
@@ -2985,18 +2985,14 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||
|
||||
[[package]]
|
||||
name = "polariton"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6dcc388d509743a0419f5a5197a8c79e0f3fd484d5bd0b60e6f361887a8aa301"
|
||||
version = "0.5.0"
|
||||
dependencies = [
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "polariton_server"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51ea2a26537f7434f154e34d7c522ab10552442241e608e919d7cfc413ac3abc"
|
||||
version = "0.5.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"log",
|
||||
|
||||
@@ -35,10 +35,10 @@ libfj = { version = "0.9", path = "../libfj" }
|
||||
log = "0.4"
|
||||
env_logger = "0.11"
|
||||
clap = { version = "4.5", features = [ "derive" ] }
|
||||
#polariton = { version = "0.4", path = "../polariton", features = [ "tokio-async" ] }
|
||||
#polariton_server = { version = "0.4", path = "../polariton/server", features = [ "tokio-async" ] }
|
||||
polariton = { version = "0.4", features = [ "tokio-async" ] }
|
||||
polariton_server = { version = "0.4", features = [ "tokio-async" ] }
|
||||
polariton = { version = "0.5", path = "../polariton", features = [ "tokio-async" ] }
|
||||
polariton_server = { version = "0.5", path = "../polariton/server", features = [ "tokio-async" ] }
|
||||
#polariton = { version = "0.4", features = [ "tokio-async" ] }
|
||||
#polariton_server = { version = "0.4", features = [ "tokio-async" ] }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = "1.0"
|
||||
async-trait = "0.1"
|
||||
|
||||
@@ -26,21 +26,24 @@ pub fn generate_encryption_details(client_pub_key: &[u8]) -> Keys {
|
||||
let big_0 = BigInt::from(0);
|
||||
let prime_root = BigInt::from(PRIME_ROOT);
|
||||
let my_prime = BigInt::from_bytes_be(num::bigint::Sign::Plus, PRIME_768);
|
||||
log::debug!("Generating keys for client pub key {}", client_num);
|
||||
log::trace!("Generating keys for client pub key {}", client_num);
|
||||
let mut rng = rand::rng();
|
||||
let mut bytes = rng.random::<[u8; SECRET_LEN]>();
|
||||
let mut my_secret = BigInt::from_bytes_be(num::bigint::Sign::Plus, &bytes);
|
||||
while my_secret >= &my_prime - 1 || my_secret == big_0 {
|
||||
bytes = rng.random::<[u8; SECRET_LEN]>();
|
||||
my_secret = BigInt::from_bytes_be(num::bigint::Sign::Plus, &bytes);
|
||||
log::debug!("Generated secret {} (prime to beat: {})", my_secret, my_prime);
|
||||
#[cfg(debug_assertions)]
|
||||
log::trace!("Generated secret {} (prime to beat: {})", my_secret, my_prime);
|
||||
}
|
||||
let my_pub_key = prime_root.modpow(&my_secret, &my_prime);
|
||||
let shared_key = client_num.modpow(&my_secret, &my_prime);
|
||||
log::debug!("Generated shared key {} and pub key {}", shared_key, my_pub_key);
|
||||
#[cfg(debug_assertions)]
|
||||
log::trace!("Generated shared key {} and pub key {}", shared_key, my_pub_key);
|
||||
let shared_key = shared_key.to_bytes_be().1;
|
||||
let enc_key: Vec<u8> = ring::digest::digest(&ring::digest::SHA256, &shared_key).as_ref().into();
|
||||
log::debug!("Encryption key is {:?}", enc_key.as_slice());
|
||||
#[cfg(debug_assertions)]
|
||||
log::trace!("Encryption key is {:?}", enc_key.as_slice());
|
||||
Keys {
|
||||
pub_key: my_pub_key.to_signed_bytes_be(),
|
||||
enc: CryptoImpl::new(enc_key),
|
||||
|
||||
Reference in New Issue
Block a user