From b214eb609907a6ec222244831068b39bf95a99af Mon Sep 17 00:00:00 2001 From: mehbark Date: Wed, 22 Apr 2026 23:04:56 -0400 Subject: [PATCH] actually make the secret --- default.nix | 3 +-- src/main.rs | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/default.nix b/default.nix index 83f9f14..c8d06b0 100644 --- a/default.nix +++ b/default.nix @@ -3,7 +3,6 @@ , stdenv , clangStdenv , hostPlatform -, targetPlatform , pkg-config , libiconv , rustfmt @@ -17,7 +16,7 @@ let cargoToml = (builtins.fromTOML (builtins.readFile ./Cargo.toml)); in -naersk.lib."${targetPlatform.system}".buildPackage rec { +naersk.lib."${stdenv.targetPlatform.system}".buildPackage rec { src = ./.; buildInputs = [ diff --git a/src/main.rs b/src/main.rs index d4e7ebc..8632989 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use std::env; +use std::{env, thread, time::Duration}; use ntt::{mod_exp, primitive_root}; use primes::is_prime; @@ -11,7 +11,18 @@ fn main() { let a = rpassword::prompt_password("a = ").unwrap(); let a = a.parse::().unwrap(); - println!("gª mod p = {}", mod_exp(i64::from(g), i64::from(a), i64::from(p))); + if let Some(Ok(gb)) = env::args().nth(3).map(|s| s.parse::()) { + let s = mod_exp(i64::from(gb), i64::from(a), i64::from(p)); + + println!("SECRET IN FIVE SECONDS"); + thread::sleep(Duration::from_secs(5)); + println!("s = {s}"); + } else { + println!( + "gª mod p = {}", + mod_exp(i64::from(g), i64::from(a), i64::from(p)) + ); + } } else { let rng = rand::rng();