Hugo-portfolio/content/projects/cellular-automata-cryptogra...

2.0 KiB

title description date summary tags categories
🔐 Cellular automata cryptography A cryptographic algorithm based on cellular automata. 2020-02-27 A cryptographic algorithm based on cellular automata.
cryptography
Cellular automata
projects
cryptography
Cellular automata

An automata story 🤖

When I first heard about cellular automata (mostly through Conway's Game of Life), I was intrigued by their properties.

I had just seen the movie "the imitation game" by Morten Tyldum and coded an enigma machine for fun so I was in a "cryptographic" mindset.

One of the properties of cellular automata is that some rules create very interesting random sequences.

Symmetric cryptography algorithms based on "Vernam cipher" essentially just need the best random generator as possible.

So I did some research and found the article “Random Sequence Generation by Cellular Automata” by the famous scientist Stephen Wolfram.

It definitely inspired me to apply the best cellular automata random sequence generation to a symmetric cryptography algorithm.

Under the algorithm 🔬

The algorithm uses a 1D radius 4 cellular automaton to generate a pseudo-random number generator and apply a Vernam cipher in cipher feedback mode.

To ensure a good pseudo-random generation the algorithm uses hybrid CA, which means that 5 rules are alternately used to generate the CA states.

These rules are taken from the rules analysis “Four Neighborhood Cellular Automata as Better Cryptographic Primitives” by Jimmy Jose and Dipanwita Roy Chowdhury.

I'm pretty proud that Hope Delaney and Andrew King from Columbia University recently used my code as an example of cellular automata cryptographic implementation.
You can find their article on medium.

look at the code! 🤓

@coincoingit repo.