L'automate cellulaire le plus simple que l'on puisse concevoir consiste en une grille linéaire de cellules ne pouvant prendre que deux états.
Le voisinage est constitué, pour chaque cellule, d'elle-même et des deux cellules qui lui sont adjacentes. Il existe 23 = 8 configurations (ou motifs) possibles d'un tel voisinage.
Pour que l'automate cellulaire fonctionne, il faut définir quel doit être l'état, à la génération suivante, d'une cellule pour chacun de ces motifs (28 = 256 façons de s'y prendre, donc 256 automates différents).
On définit un automate cellulaire élémentaire par la règle :
Motif initial | 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 |
Valeur suivante | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
Si une cellule est à l'état 1, avec à gauche 1 et à droite 0, alors au temps suivant elle sera à 0.
Cette règle est nommée règle 30, car 30 s'écrit 00011110 en binaire.
On souhaite réaliser un cryptage à clé privé, type masque jetable : on souhaite transmettre un message, ayant la forme d'une suite de bits, à un individu autorisé.
Pour cela, Alice utilise le ou exclusif (XOR) bit à bit, entre notre message à chiffrer et ce que génère l'automate cellulaire à partir du motif initial. Le résultat est le cryptogramme.
Pour le déchiffrer, pour Bob, il suffit d'appliquer à nouveau le XOR bit à bit, entre le cryptogramme et ce que produit l'automate cellulaire sur le même motif initial. Cela revient à ajouter deux fois chaque bit du masque, le tout modulo 2 : le masque disparaît.