Solitaire
L'algoritme criptográfico Solitaire va ser dissenyat per Bruce Schneier a petició de Neal Stephenson per al seu us en la seua novela Criptonomicón, en la que els agents de camp ho utilisen per a comunicar-se de forma segura sense tindre que dependre de l'electrònica o tindre que dur ferramentes incriminatorias.[1] Va ser dissenyat per a ser un sistema criptográfico manual calculat en una baralla ordinària de jugar a les cartes . En Criptonomicón, este algoritme es va cridar originalment Pontifex per a ocultar el fet de que es tractava de jugar a les cartes.
Una de les motivacions darrere de la creació de Solitaire és que en entorns totalitaris, una baralla de cartes és molt més assequible (i menys incriminatoria) que una computadora personal en una varietat d'utilitats criptològiques. No obstant, com advertix Schneier en l'apèndix de Criptonomicón, casi totes les persones interessades en el criptoanálisis ara coneixeran este algoritme, per lo que dur una baralla de cartes també pot considerar-se incriminatorio.
Des de la seua creació, l'anàlisis ha revelat falles en el sifrat. Ara es considera insegur.
Sifrat i dessifrat
Este algoritme utilisa una baralla de cartes estàndar en 52 cartes del mateix pal i dos comodins que es distinguixen entre sí, cridats el comodí A i el comodí B. En benefici de la simplicitat, en este eixemple solament s'utilisaran dos pals, trébols i diamants. A cada carta se li assigna un valor numèric: els trébols es numeraran de l'1 al 13 (de l'as al rei) i els diamants es numeraran del 14 al 26 de la mateixa manera. Als comodins se'ls assignaran els valors de 27 i 28. Per lo tant, la jota de trébols tindria el valor 11 i el dos de diamants tindria el valor 15. (En una baralla de cartes plena, els pals es valoren en orde de pont: trébols, diamants, cors, espases, en les cartes del mateix pal numerades de l'1 al 52, i els comodins numerats 53 i 54.)
Per a començar el sifrat o dessifrat, coloque la baralla de cartes boca dalt en l'orde acordat prèviament. La persona que dessifra un mensage deu tindre una baralla disposta en el mateix orde que la baralla utilisada per la persona que va sifrar el mensage. La forma en que es decidix inicialment el demanat depén dels destinataris; És preferible barallar el mall perfectament a l'encert, encara que existixen molts atres métodos.
L'algoritme genera un fluix de claus, una seqüència de valors que es combinen en el mensage per a sifrar-ho i dessifrar-ho. Cada valor del fluix de claus s'utilisa per a sifrar un caràcter del mensage, per lo que el fluix de claus deu ser a lo manco tan llarc com el mensage. Si el fluix de claus és més llarc que el mensage, el mensage pot reblir-se en un caràcter repetit adicional, negant aixina a l'atacant el coneiximent de la llongitut exacta del mensage.
Per a sifrar un mensage (s'assumix que es referix al anglés, idioma original de la novela, en alfabet de 26 lletres):
- Elimine tota la puntuació i els espais, deixant solament les 26 lletres A – Z.
- Convertixca cada lletra al seu valor numèric natural, A = 1, B = 2, ..., Z = 26.
- Genere un valor de fluix de clau per a cada lletra del mensage utilisant l'algoritme de fluix de clau següent.
- Sumix cada valor de seqüència de claus al número de text sense format corresponent, restant 26 si el valor resultant és major que 26 (en matemàtiques, açò es diu aritmètica modular).
- Convertixca els números resultants novament a lletres. Esta seqüència de lletres és el text sifrat.
Per a dessifrar un text sifrat:
- Convertixca cada lletra del text sifrat al seu valor numèric natural.
- Genere un valor de fluix de claus per a cada lletra del text sifrat.
- Reste cada valor de fluix de claus del valor de text sifrat corresponent, agregant 26 si el valor resultant és menor que 1.
- Convertixca els números resultants novament a lletres.
Algoritme de fluix de claus
Este algoritme genera valors de fluix clau movent cartes dins del mall. L'algoritme de la seqüència de claus és determinista, per lo que els valors de la seqüència de claus depenen solament de l'orde inicial de la plataforma. Se supon que la baralla és una matriu circular, lo que significa que si una carta alguna volta necessita alvançar per baix de la carta inferior en la baralla, simplement rotará cap a la part superior (en atres paraules, la primera carta seguix a l'última). Prendrem per eixemple este mall d'inici:
- 1 4 7 10 13 16 19 22 25 28 3 6 9 12 15 18 21 24 27 2 5 8 11 14 17 20 23 26
Realise estos passos per a generar un caràcter del fluix de claus:
- Localisa el comodí A (valor 27) i mou-ho cap a avall en la baralla un lloc. Si és l'última carta, es convertix en la segona carta. No hi ha forma de que es convertixca en la primera carta. La baralla ara es veu aixina:
- 1 4 7 10 13 16 19 22 25 28 3 6 9 12 15 18 21 24 2 27 5 8 11 14 17 20 23 26
- Localisa el comodí B (valor 28) i mou-ho cap a avall en la baralla dos llocs. Tinga en conte que si és la penúltima carta, es convertix en la segona carta envolent-la. Si és l'última carta, es convertix en la tercera carta. No hi ha forma de que es convertixca en la primera carta.
- 1 4 7 10 13 16 19 22 25 3 6 28 9 12 15 18 21 24 2 27 5 8 11 14 17 20 23 26
- Realise un "triple cort": dividixca la plataforma en tres seccions. Tot lo que estiga dalt del comodí superior (que, despuix de vàries repeticions, pot ser que no siga necessàriament el comodí A) i tot lo que estiga baix del comodí inferior s'intercanviarà. Els propis comodins, i les cartes entre ells, queden intactes.
- 5 8 11 14 17 20 23 26 28 9 12 15 18 21 24 2 27 1 4 7 10 13 16 19 22 25 3 6
- Realise un "cort de conteo": observe el valor de la carta en la part inferior de la baralla. Si la carta és comodí, prenga el seu valor en 27. Retire eixe número de cartes de la part superior de la baralla i inserte-les just damunt de l'última carta de la baralla.
- 23 26 28 9 12 15 18 21 24 2 27 1 4 7 10 13 16 19 22 25 3 5 8 11 14 17 20 6
- Ara, mire el valor de la carta superior. Una volta més, qualsevol dels comodins conta com 27. Conte este número de llocs baix d'eixa carta i prenga el valor d'eixa carta com el següent valor en la seqüència de claus. Si la carta contada fins a és comodí, ignore-la i repetixca l'algoritme de fluix de claus. En este eixemple, la carta superior és 23, per lo que contem fins a la 24ª carta, que és 11; per lo tant, el valor de la seqüència de claus és 11. (Tinga en conte que cap targeta canvia de lloc en este pas, este pas simplement determina el valor de la seqüència de claus).
Vore també
Referències
- ↑ Schneier, Bruce. «Solitaire». Consultat el 2006-07-02.
Referències
- Este artícul conté una traducció derivada de «Solitaire» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.