-
Aletojio is a Java library that supports manipulation of random number and entropy.
-
Aletojio provides compressor to enrich entropy for poor random numbers.
-
Aletojio provides 32bit bijection hush functions(S-box & P-box) to realize Shannon's "Confusion and diffusion".
-
Aletojio provides some classic and modern implementations of pseudo random number generators. (PRNG)
- RANDU : IBM Scientific Subroutine Library for IBM System/360
- MINSTD0 : C++11's minstd_rand0
- MINSTD : C++11's minstd_rand
- GLIBC : glibc rand()
- LRAND48 : glibc lrand48()
- MRAND48 : glibc mrand48()
- MWC : Multiply-with-carry
- CMWC : Complementary-multiply-with-carry
- Lagged Fibonacci
- LFSR : Fibonacci Linear-feedback shift register
- XorShift
- Xoshiro256++
- Xoshiro256**
- Xoroshiro128++
- Xoroshiro128**
-
Aletojio needs to use Maven 3.3.9+ and JDK 1.8+ to be built.
-
Aletojio runtime does not depend on any other library at all. Just compile Java sources under
src/main/java/
if you don't use Maven nor JUnit nor resource-access.
- Code is under The MIT License.
- By Olyutorskii at 2022
- Pseudorandom number generator (Wikipedia)
- Confusion_and_diffusion (Wikipedia)
- Open Java Development Kit
--- EOF ---