Chaos based PRNG Research Project using Argon2id Seeding. NIST Validated and Red-Teaming by Machine Learning Models. (feedback needed)
Hello fellow cryptographers.
This has been a personal research project of mine. As a physics student I thought of using non-linear dynamics of chaotic systems (in this case Lorenz + Chebyshev) for pseudo-random bit generation.
The generator has passed NIST SP 800-22 test suite as well as some other statistical tests such as Poker, LZC, Serial Correlation, Chi-Square and Shannon Entropy. Further red teaming (next bit prediction) was done using machine learning modes such as Linear/Logistic Regression, Decision Trees (ExtraTrees, HistGradientBoosting) and a Feedforward Neural Network. All ML models failed to predict over baseline.
So in short, the generator uses Argon2id as a seeding mechanism. It derives a 1024 bit key from a user password. Then those bits are spliced and used as seeds for chaotic systems (in which the bits are used to prime the initial parameters of the chaotic systems). Then an XOR operation is done on both outputs of the chaotic systems which gives the final bitstream.
So as I mentioned earlier this is a personal research project of mine. I am a physics student hence the option of using chaotic systems. Now I know, that, previously people had discouraged me from working on this deeming chaos based PRNG's as 'Snake-Oil' but I felt that this niche application of chaos based systems in cryptography was something worth researching on!!. (So here we are).
Now, I would love to hear your feedback on this project. Any tips to better it is also welcome.
I know further testing is required (like TestU01 and Dieharder). I will try to do it in future. It would be wonderful if some of you could red team the PRNG further using ML based models such as LSTM, Transformers or CNN/RNN. Anyhow, pasting link to the repository, do check out and tell your thoughts on this.