{{Short description|Type of algorithm}} In mathematics, a '''chaos machine''' is a class of algorithms constructed on the base of chaos theory (mainly deterministic chaos) to produce pseudo-random oracles. It represents the idea of creating a universal scheme with modular design and customizable parameters, which can be applied wherever randomness and sensitiveness is needed.<ref>{{cite speech |title=Cryptography using Chaos|first=J M|last=Blackledge|event=Executive Speeches|location=Warsaw University of Technology|date=March 10, 2010|url=http://konwersatorium.pw.edu.pl/wyklady/2010_VLZ7_02_wyklad.pdf}}</ref>

Theoretical model was published in early 2016 by Maciej A. Czyzewski.<ref name=":0">{{cite report |url=https://eprint.iacr.org/2016/468 |title=Chaos Machine: Different Approach to the Application and Significance of Numbers |publisher=Cryptology ePrint Archive, Report 2016/468 |author=Maciej A. Czyzewski|language=English |year=2016}}</ref> It was designed specifically to combine the benefits of hash function and pseudo-random function. However, it can be used to implement many cryptographic primitives, including cryptographic hashes, message authentication codes and randomness extractors.<ref>{{cite web|last=Barker|first=Elaine|title=Recommendation for Key Management|url=http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf|work=NIST Special Publication 800-57|publisher=NIST|accessdate=19 August 2013|author2=Barker, William |author3=Burr, William |author4=Polk, William |author5= Smid, Miles |date=July 2012}}</ref><ref>{{cite book |url=http://opac.inria.fr/record=b1101628 |title=Complex systems : chaos and beyond a constructive approach with applications in life sciences |publisher=Springer |isbn=3-540-67202-8 |series=Physics and astronomy online library |language=Japanese |last1=Kaneko|first1= Kunihiko|last2= Tsuda|first2= Ichiro |year=2001 |access-date=2016-12-27 |archive-url=https://web.archive.org/web/20161228124156/http://opac.inria.fr/record=b1101628 |archive-date=2016-12-28 |url-status=dead }}</ref>

The flexibility of the chaos machine design allows it to be tailored for different applications by adjusting the choice of parameters. For example, the period length of the pseudo-random output can be targeted by selecting the appropriate space parameter. <ref name=":0" />

== See also == * Merkle–Damgård construction * Sponge function

== References == {{reflist}}

== External links == * [https://github.com/maciejczyzewski/libchaos#chaos-machines-theorypdf Libchaos - implemented chaos machines] * [https://eprint.iacr.org/2016/468.pdf Official paper published at IACR]

Category:Theory of cryptography Category:Chaos theory

{{crypto-stub}} {{chaos-stub}}