1
0
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:
NG (Graham)
2026-01-25 12:51:24 -05:00
parent 0db43497d8
commit 90a528f0e9
3 changed files with 13 additions and 14 deletions

View File

@@ -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),