Skip to content

Aletojio is a Java library that supports manipulation of random number and entropy.

License

Notifications You must be signed in to change notification settings

olyutorskii/Aletojio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aletojio

Java CI with Maven CodeQL


What is Aletojio ?

  • 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**

API document

How to build

  • 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.

License

Project founder

Key technology

--- EOF ---