extern crate amcl;
use amcl::rand::RAND;
use amcl::nhs;
fn main()
{
let mut raw:[u8;100]=[0;100];
let mut srng=RAND::new();
srng.clean();
for i in 0..100 {raw[i]=(i+1) as u8}
srng.seed(100,&raw);
let mut crng=RAND::new();
crng.clean();
for i in 0..100 {raw[i]=(i+2) as u8}
crng.seed(100,&raw);
let mut ss:[u8;1792]=[0;1792];
let mut sb:[u8;1824]=[0;1824];
let mut uc:[u8;2176]=[0;2176];
let mut keya:[u8;32]=[0;32];
let mut keyb:[u8;32]=[0;32];
nhs::server_1(&mut srng,&mut sb,&mut ss);
nhs::client(&mut crng,&sb,&mut uc,&mut keyb);
nhs::server_2(&ss,&uc,&mut keya);
for i in 0..keya.len() {
print!("{:02X}", keya[i]);
}
println!("");
for i in 0..keyb.len() {
print!("{:02X}", keyb[i]);
}
println!("");
}