Altres xifres monoalfabètiques

Canviar un alfabet per un altre és una idea força senzilla i trobem molts exemples al llarg de la història. Hem vist el cas de les xifres hebraiques i hem fet una primera ullada al codi de Cèsar. Podem conèixer aquest d'una manera més detallada i veure alguns altres dels més coneguts:

  • La xifra de Cèsar

En general qualsevol alfabet desplaçat es diu que està xifrat amb el mètode de Cèsar. La clau del codi de Cèsar serà els llocs de desplaçament. Juli Cèsar sempre feia servir el mateix valor: 3. Així la taula de substitució quedava així:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
W Y Z A B C Ç D E F G H I J K L M N O P Q R S T U V

Text clar Text xifrat
Calaix ZWHWET

En un alfabet de 26 lletres (eliminarem a partir d'ara la ç) tenim 26 alfabets per xifrar possibles.

Et pots construir un reglet com el del model per "fabricar" alfabets de César. El resultat obtingut el pots veure a sota.

Reglet cifra del Cèsar

Fes servir la màquina codificadora de Cèsar
  • La xifra de Polibi

Aquest mètode el trobem descrit per l’historiador Polibi i és del segle III a.n.e. Per codificar cada lletra es feia servir una taula de doble entrada i cada lletra quedava representada per dos nombres.

  1 2 3 4 5
1 a b c d e
2 f g h i j
3 k/q l m n o
4 p r s t u
5 v w x y z
 
Text clar Text xifrat
calaix 13 11 32 11 24 53

Aquest codi el podem fer servir per enviar missatges visuals amb els dits de les mans. Amb una mà podem fer el primer nombre i amb l'altra el segon.

25

J


Fes servir la màquina codificadora de Polibi
  • La xifra Pig Pen

El primer model d'aquesta xifra va ser proposada per Heinrich Cornelius Agrippa al segle XVI però amb variacions va perdurar un parell de segles més. Era molt usada pels masons.

Es basa en situar cada lletra de l'alfabet sobre una quadrícula de 3x3 o sobre dues rectes formant una mena d'aspa. Una de les quadrícules i una de les aspes tindrà, a més, un punt. Després cada lletra es representaran pels segments de quadrícula o d'aspa que l'envolten.

 

Text clar Text xifrat
calaix |       |   |·      |   |¯   ·>

 

Fes servir la màquina codificadora en xifra Pigpen
  • La xifra de Bacon

Francis Bacon va ser un filòsof anglès que va viure entre els segles XVI i XVII. Va idear un codi que té dues característiques que el fan força interessant. La primera és que les lletres es formaven amb un dels primers codis binaris (només amb dos símbols) que es coneixen. L'altra és que es combinava amb una interessant forma d'esteganografia per amagar el missatge.

L'alfabet de Bacon era el següent:

A aaaaa H aabbb O abbba U babaa
B aaaab I abaaa P abbbb V babab
C aaaba J abaab Q baaaa W babba
D aaabb K ababa R baaab X babbb
E aabaa L ababb S baaba Y bbaaa
F aabab M abbaa T baabb Z bbaab
G aabba N abbab        

Per amagar el missatge escrivia un text innocent i, entre cada línia i a sota de cada lletra el missatge secret codificat. Després la lletra que quedava a sobre de cada b del codi l'escrivia de forma diferent (amb majúscula, cursiva, negreta...). D'aquesta manera cada lletra normal es traduiria com una a i cada lletra especial com una b.

Observem com codificar la paraula DINOSAURE

Ara podem mirar com descodificar-la.

 

Text clar Text xifrat
calaix aaaba   aaaaa   ababb   aaaaa   abaaa   babbb

 

Fes servir la màquina codificadora

en xifra Bacon

 

Contraatac a l'anàlisi de freqüències
Als segles XVII i XVIII les xifres monoalfabètiques no resistien els atacs dels criptoanalistes. Alguns estats tenien autèntics experts entre lingüistes i matemàtics. Es van inventar algunes xifres més complicades utilitzant diferents trucs:
  • utilitzant un signe per cada lletra i d'altres per algunes síl·labes
  • fent servir signes nuls sense significat
  • fent que alguns signes impliquessin instruccions estranyes com "esborra el signe anterior", "esborra els tres signes següents"...
Aquestes xifres "amb trampes" podien costar una mica més però també es resolien bé si es reunien prou missatges o eren prou llargs.

Sabem que el rei espanyol Felip II (segle XVI), que feia servir una xifra d'aquest tipus amb uns 500 signes diferents, va demanar al Vaticà que condemnessin al criptoanalista francès perquè només amb "tractes amb el diable" era possible que sistemàticament desencriptés els seus missatges. Val a dir que el criptoanalista era el matemàtic François Viète i que sembla que el del Vaticà també feia temps que els podia llegir tranquil·lament

Felip II

Un dels contraatacs més interessants va ser el de fer servir les pròpies freqüències de cada lletra per inventar un codi. Per exemple, podem fer un codi amb cent nombres (00, 01, 02, 03...45, 46...,98 i 99. Si sabem que la lletra T surt un 6% de vegades li adjudiquem sis nombres a l'atzar, si la M té una freqüència aproximada del 3% li adjudicarem tres nombres. Aquest tipus de xifra es diu homofònica.

Podem fer una adaptació al català. Per assignar els nombres de cada lletra s'han triat per a cadascuna nombres que donin el mateix residu dividint per 26 (es diu que son iguals en mòdul 26). Així totes els nombres assignats a la lletra A tenen divisions exactes el dividir per 26 i tots els de la lletra N deixen un residu de 13 al fer la divisió. Així és més còmode programar un ordinador perquè descodifiqui el missatge.

Lletra Freq.% Xifres Lletra Freq.% Xifres
A 12.55 000, 026, 052, 078, 104, 130, 156, 182, 208, 234, 260, 286, 312 N 6.40 039, 091, 143, 195, 247, 273
B 1.32 027 O 5.71 092, 118, 144, 170, 222, 274
C 3.60 002, 028, 132, 210 P 2.72 119, 145, 249
D 3.94 055, 107, 185, 263 Q 1.35 172
E 13.89 030, 056, 082, 108, 134, 160, 186, 212, 238, 264, 290, 316 R 6.76 017, 069, 095, 147, 225, 277, 329
F 1.00 083 S 8.43 044, 096, 122, 174, 200, 252, 278, 304
G 1.28 292 T 6.11 071, 149, 201, 227, 272, 331
H 0.72 137 U 4.18 020, 046, 124, 254
I 6.99 112, 138, 164, 190, 216, 242. 320 V 1.40 203
J 0.30 009 W 0.01 100
K 0.01 062 X 0.52 179
L 6.74 037, 089, 115, 167, 297 Y 0.18 024
M 3.16 012, 116, 194 Z 0.01 233

 

Fes servir la màquina codificadora en xifra Homofònica

 

Un contraatac millor: la xifra Playfair
Les xifres homofòniques no amaguen del tot els esquemes de la llengua: les vocals aniran entre consonants, els digrames i els trigrames es mantindran... encara que donin més feina als criptonalistes les acaben trencant. A més, amb tants signes la codificació i descodificació era un procés extremadament lent.

Imaginem, però, una xifra amb un estil diferent. Per exemple, que la lletra A de vegades es codifiqués amb una P, altres amb una R... I, millor encara, que al text codificat una R, per exemple, de vegades representi una C, d'altres una B, d'altres una A... Com es pot aconseguir això sense que sigui un galimaties? Com obtenir una xifra polialfabètica?

La millor xifra polialfabètica ha estat la Xifra de Vigenère a la que dedicarem un "capítol" sencer. Una de fàcil d'utilitzar és la xifra Playfair inventada a mitjans del segle XIX pel científic Charles Wheatstone.

Observem com funciona:

  1. Es tria una paraula clau que només sabran les persones interessades en el secret. Nosaltres triarem CALAIXERA.
  1. Es fa un alfabet en una quadrícula de 5x5 començant per posar les lletres de la paraula clau (sense repeticions). S'acaba d'omplir, ordenadament amb les lletres que falten de l'alfabet. Com que la quadrícula és té 25 caselles i hi ha una lletra que no hi cap es pot fer una casella doble (per exemple I/J) o ometre una lletra. Nosaltres ometrem la W.
  1. Es separen les lletres del missatge a codificar de dos en dos. Si falta una lletra al final s'afegeix una lletra qualsevol. Important! Si al fer parelles queden dues lletres iguals, per exemple a carreta (CA RR ET AX) es separen amb una X (CA RX RE TA)

  1. Per codificar cada lletra s'agafa cada parella i s'apliquen aquestes regles:
Regla 1 Regla 2 Regla 3
Si les dues lletres de la parella estan a la mateixa línia s'agafen la de la dreta de cadascuna. Si estan a la mateixa columna s'agafen les de sota. Si estan en línies diferents s'agafen les que "tanquen el rectangle" i cada lletra es canvia per la de la seva fila
Si una de les lletres és l'última de la fila s'agafa la primera Si una de les lletres és la de sota de tot s'agafa la de dalt

Observem com codificar la paraula DINOSAURE amb la clau CALAIXERA

Text clar Text xifrat
dinosaure KDOPOXAHFC

Si observem el text xifrat la lletra O representa una vegada la N i una altra la S

Podem comparar també com queda la gràfica d'un text xifrat amb un algorisme monoalfabètic i amb dos codi polialfabètics, el de Playfair i el de Vigenère que coneixerem al proper capítol. Es pot veure que als codis polialfabètics les freqüències queden més igualades, no hi ha barres tan llargues.

Text: 1r capítol del Quijote
Codi Atbash (Monoalfabètic)
Gràfica Atbash
Codi Playfair (Polialfabètic)

Codi de Vigenère (Polialfabètic)

Gràfica Playfair Gràfica Vigenère

 

Fes servir la màquina codificadora en xifra Playfair