Xifra dels quatre quadrats

De Viquipèdia
Dreceres ràpides: navegació, cerca

La xifra dels quatre quadrats és un criptosistema que s'inclou dins de la criptografia simètrica que va ser inventat pel criptògraf francès Félix-Marie Delastelle (1840-1902). Concretament es tracta d'un criptosistema de substitució poligràfica en el que la funció de xifrat actua sobre grups de dos lletres (dígrafs) proporcionant-ne el seu valor xifrat, també un dígraf.

La clau[modifica | modifica el codi]

La clau que s'utilitza en la xifra dels quatre quadrats està formada per dues matrius 5x5. Cada una d'aquestes matrius té una lletra de l'abecedari en cada casella, sense que se'n repeteixi cap. Donat que les matrius tenen 25 caselles i hi ha alfabets que tenen més de 25 lletres, hi ha caselles que poden incloure més d'una lletra. Per exemple, en l'alfabet anglès de 26 lletres, s'acostuma a identificar les lletres I/J en la mateixa casella. Un exemple d'una d'aquestes matrius de la clau que inclogui l'alfabet anglès podria ser la següent:

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

Donat que la posició de les lletres en les matrius determinen la clau del sistema, la xifra dels quatre quadrats pot tenir un total de (25!)2 ≈ 2,4 · 1050 claus diferents.


L'algorisme de xifrat[modifica | modifica el codi]

Per tal de xifrar un missatge amb la xifra dels quatre quadrats, en primer lloc es prenen les dues matrius que formen la clau de xifrat, que anomenarem K1 i K2, i es complementen amb dues matrius idèntiques més, també 5x5, que contenen l'abecedari en l'ordre alfabètic i que indicarem com A. D'aquesta manera tindrem una única matriu, T, de 10x10 que és la que s'utilitzarà en els processos de xifrat i desxifrat. En aquesta matriu 10x10 la submatriu superior esquerra i la submatriu inferior dreta contindran la matriu A amb l'abecedari ordenat alfabèticament mentre que les altres submatrius contindran les dues matrius de la clau. Per tant, la matriu T quedarà formada com:

A K1
K2 A

En notació matricial podem representar la matriu T = (tij) on i = 1, ..., 10 i j = 1,...,10 i cada entrada de la matriu tij és una lletra de l'alfabet.

Per xifrar un missatge el dividirem en dígrafs, conjunts de dues lletres, i xifrarem cada dígraf per separat de la següent manera. Suposant m1m2 el nostre dígraf a xifrar:

  1. Prenem m1 i busquem quina posició ocupa en la submatriu superior esquerra, és a dir per a quin valor m1 = tkl per a 1k5 i per a 1l ≤ 5.
  2. Prenem m2 i busquem quina posició ocupa en la submatriu inferior dreta, és a dir per a quin valor m2 = tmn per a 6m10 i per a 6n10.
  3. El valor xifrat corresponent al dígraf m1 m2 serà el dígraf tkn tml


L'algorisme de desxifrat[modifica | modifica el codi]

Per tal de desxifrar un dígraf c1 c2 l'algorisme de desxifrat també utilitza la matiu T = (tij) formada de la mateixa manera que s'ha indicat en l'algorisme de xifrat. En el cas del desxifrat els passos que seguirem seran els següents:

  1. Prenem c1 i busquem quina posició ocupa en la submatriu superior dreta, és a dir per a quin valor c1 = tkl per a 1 k 5 i per a 6 l 10.
  2. Prenem c2 i busquem quina posició ocupa en la submatriu inferior esquerra, és a dir per a quin valor c2 = tmn per a 6 m 10 i per a 1 n 5.
  3. El valor en clar corresponent al dígraf c1 c2 serà el dígraf tkn tml


Exemple[modifica | modifica el codi]

A continuació es detalla amb un exemple tant el procés de xifrat com el de desxifrat.

Generació de la clau[modifica | modifica el codi]

A l'hora de generar les matrius de la clau de la xifra dels quatre quadrats es pot fer servir una tècnica que no genera una matriu completament aleatòria (com la mostrada anteriorment) però que simplifica el procés de la transmissió de claus entre l'emissor i el receptor. Aquesta tècnica consisteix a crear la matriu de la clau a partir d'una paraula, de manera que les lletres d'aquesta paraula són les que definiran l'ordre de l'alfabet en la matriu. Així, es procedirà a omplir la matriu amb les lletres de la paraula (sense repetir-ne cap) i un cop utilitzades totes les lletres caldrà acabar d'omplir la matriu amb la resta de l'abecedari. Un exemple de la matriu que generaria la paraula CRIPTOGRAFIA seria la següent:

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

Utilitzant aquesta tècnica, es poden intercanviar les claus de la xifra dels quatre quadrats únicament indicant dues paraules.


Xifrat[modifica | modifica el codi]

Per xifrar el missatge BON DIA utilitzant per a la generació de les matrius de la clau les paraules CRIPTOGRAFIA i SEGURETAT, el procés serà el següent:

Prenent aquesta informació, construïm la matriu T de la següent manera:

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

Per xifrat el primer dígraf BO busquem on es troben les lletres B i O en la submatriu superior esquerra i submatriu inferior dreta respectivament, tal com es mostra en la següent matriu:

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

A continuació busquem els valors en que es transformaran aquestes dues lletres. Les expressions matemàtiques indicades en la descripció dels algorismes de xifrat i desxifrat tenen una representació gràfica molt simple. Només ens caldrà prendre les dues lletres en la matriu com els vèrtex d'un rectangle. Els seus corresponents valors xifrats seran les lletres dels vèrtex oposats. D'aquesta manera, podem veure que les lletres B i O formen el rectangle BPHO en la matriu T:

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

Per tant, la lletra B quedarà xifrada com a una P i la lletra O com una H i per tant el dígraf BO es xifrarà com PH.

De la mateixa manera podem xifrar la resta de dígrafs del nostre missatge i n'obtindrem el text xifrat:

BO ND IA

PH KG OU


Desxifrat[modifica | modifica el codi]

El procés de desxifrat utilitza també la matriu T i el funcionament és simètric al procés de xifrat. Per exemple, si volem desxifrar el text CGICME el separarem en dígrafs i per al primer dígraf CG buscarem el rectangle corresponent en la matriu T.

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

De nou, substituirem els vèrtex del rectangle que formen les lletres pels vèrtex oposats de cada lletra, de manera que obtindre CA per al primer dígraf.

Si desxifrem la resta del missatge ens apareix:

CG IC ME

CA DI RA


Variants per a xifrar altres valors[modifica | modifica el codi]

Una possible variant de la xifra dels quatre quadrats per a poder xifrar números és ampliant les matrius que s'utilitzen a matrius de 6x6. D'aquesta manera, podem disposar en cada una de les matrius les 26 lletres de l'abecedari més els 10 dígits (del 0 al 9) i això ens permetrà xifrar un text que contingui lletres i números. A més, d'aquesta manera el nombre de claus possibles augmenta substancialment, ja que en aquest cas tindrem (36!)2 ≈ 1,38⋅ 1083 possibles claus.

Bibliografia[modifica | modifica el codi]

  • Wrixon Fred B. Langages secrets. Codes, chiffres et autres cryptosystèmes. Könemann: 2000 (pp. 231-232)