8 releases
new 0.3.0 | Dec 7, 2024 |
---|---|
0.2.0 | Jul 1, 2024 |
0.1.5 | Apr 23, 2023 |
#933 in Cryptography
67 downloads per month
13KB
250 lines
perfect_rand
A port of the Blackrock cipher used in Masscan to Rust.
Its original purpose is efficiently randomizing the order of port scans without having to put every possible target in memory and shuffling.
lib.rs
:
A port of the Blackrock cipher used in Masscan to Rust.
Its original purpose is efficiently randomizing the order of port scans without having to put every possible target in memory and shuffling.
The DES S-boxes have been replaced with the SipHash round function.
Example
//! Print 10 random IPv4 addresses.
let randomizer = PerfectRng::from_range(2u64.pow(32));
for i in 0..10 {
let randomized_ip = Ipv4Addr::from(randomizer.shuffle(i) as u32);
println!("{randomized_ip:?}");
}
Dependencies
~315KB