+
+ let mut rng_seed = sha.clone();
+ // Not exactly the most ideal construction, but the second value will get fed into
+ // ChaCha so it is another step harder to break.
+ rng_seed.input(b"RNG Seed Salt");
+ sha.input(b"Session Key Salt");
+ (SecretKey::from_slice(&Sha256::from_engine(sha).into_inner()).expect("Your RNG is busted"),
+ Sha256::from_engine(rng_seed).into_inner())