Solitaire este un algoritm criptografic creat de Bruce Schneier "pentru a permite agenților din teren să comunice în siguranță fără să se bazeze pe sisteme electronice sau să fie nevoie să care unelte incriminatoare",[1] la cererea lui Neal Stephenson pentru a-l folosi în romanul său Cryptonomicon. A fost creat astfel încât să fie un criptosistem manual calculat cu ajutorul unui pachet de cărți de joc. În Cryptonomicon, acest algoritm se numea Pontifex pentru a ascunde faptul că avea legătură cu un pachet de cărți.
Unul din motivele creării cifrului Solitaire este că în mediile totalitariste un pachet de cărți este de departe mai accesibil (și mai puțin incriminator) decât un computer personal dotat cu utilități de criptografie. Totuși, așa cum Schneier atenționează în apendicele romanului Cryptonomicon, aproape oricine cu interes în criptanaliză va ști despre acest algoritm.
Solitaire este spart. Criptanaliza efectuată de Paul Crowley în 1999 arată că probabilitatea ca două rezultate succesive ale cifrului să fie aceleași nu este 1/26 așa cum ar trebui, ci aproape de 2/45.
Algoritmul generează un șir de valori care sunt combinate cu mesajul pentru criptare și decriptare. Fiecare valoare a șirului cheie este folosită pentru o valoare a mesajului, deci șirul trebuie să aibă aceeași lungime ca și mesajul.
Acest algoritm presupune că utilizatorul are un pachet de cărți și doi jokeri. Pentru simplificare, doar două culori vor fi folosite în acest exemplu. Fiecărei cărți îi va fi atribuită o valoare numerică: prima culoare va fi numerotată de la 1 la 13 (de la as până la rege) și a doua culoare va fi numerotată de la 14 la 26 în același fel. Jokerilor li se vor atribui valorile 27 și 28. Deci, un 5 din prima culoare va avea valoarea 5 în pachetul combinat, valoarea 1 din a doua culoare va avea valoarea 14 în pachetul combinat.
Se presupune că pachetul este un vecor circular, adică după ultima carte urmează prima carte.
|accessyear=
ignorat (posibil, |access-date=
?) (ajutor); Parametru necunoscut |accessmonthday=
ignorat (ajutor)
Criptografie clasică
|
---|
Cifruri: ADFGVX | Afin | Alberti | Atbash | Autocheie | Bifid | Carte | Cezar | Cod Smithy | Codul bătăilor | Cuvânt cheie | Două pătrate | Francmasonic | Hill | Nihilist | Patru pătrate | Permutare | Playfair | Polialfabetic | Polybius | Rail Fence | Reihenschieber | Reservehandverfahren | ROT13 | Running key | Schitală | Solitaire | Straddling checkerboard | Substituție | Transpoziție | Trifid | VIC | Vigenère |
Criptanaliză: Analiza frecvenței | Index de coincidență |
Diverse: Criptogramă | Bacon | Pătratul lui Polybius | Schitală | Straddling checkerboard | Tabula recta |
Istoria criptologiei | Criptanaliză | Portalul criptografiei | Subiecte în criptografie |
Algoritm cu chei simetrice | Cifru bloc | Cifru stream | Criptografie cu chei publice | Funcție hash criptografică | Cod de autentificare a mesajelor | Număr aleatoriu |