https://github.com/nikhilr612/isaacrs
No-std implementation of ISAAC PRNG
https://github.com/nikhilr612/isaacrs
cryptography isaac isaac-64 no-std random-number-generator
Last synced: about 1 year ago
JSON representation
No-std implementation of ISAAC PRNG
- Host: GitHub
- URL: https://github.com/nikhilr612/isaacrs
- Owner: nikhilr612
- License: mit
- Created: 2024-01-25T08:54:49.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-01-27T06:21:56.000Z (over 2 years ago)
- Last Synced: 2025-02-09T09:14:58.662Z (over 1 year ago)
- Topics: cryptography, isaac, isaac-64, no-std, random-number-generator
- Language: Rust
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
# isaacrs
ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a relatively fast and reasonably secure pseudorandom number generator (PRNG) developed by R. Jenkins Jr.
The expected cycle length of ISAAC is 2^(8295). `isaac-rs` is a pure-rust, no-std implementation of ISAAC+, a modified algorithm that eliminates bad states, as specified by J.P.Aumasson (2006), that uses bit rotations instead of bit shifts.
ISAAC is cryptographically secure in the sense that it is not known to be unsafe. This ought to be attributed partially to the dearth of rigorous cryptanalysis and stress-tests that algorithms like AES are subject to. Another cipher, RC4 (Ron's Code), a not-so-distant cousin of ISAAC, is now deemed unsuitable for cryptographic purposes.
Any use of ISAAC must keep this in mind.