Sunteți pe pagina 1din 13

Criptografie simetrică – cifruri istorice

Cifruri cu substituție monoalfabetică, respectiv polialfabetică


Pe parcursul cursului vor fi prezentate o serie de cifruri istorice, operative (algoritmi criptografici
simetrici).

Criptografia simetrică (și criptosistemele asociate) presupune prezența următoarelor elemente:

• P – Textul în clar (plaintext)


• C – Textul cifrat/criptat (ciphertext)
• E – Algoritmul de criptare (encryption)
• D – Algoritmul de decriptare (decryption)
• K – Cheia secretă și partajată

Tehnici de criptografiere:

1. Substituția (înlocuirea unui simbol cu un alt simbol în conformitate cu regula algoritmului)


2. Transpunerea (interschimbarea/interpunerea – este vorba de schimbarea poziției – unui
simbol sau grupuri de simboluri cu alt simbol sau grup de simboluri) – de ex. cifrul Skytala.

A I R I
T N I N
A Z M E
C O A .

Textul în clar (plaintext) se introduce pe coloane, de sus în jos și de la stânga la dreapta:

ATAC IN ZORI MAINE. => ATACINZORIMAINE.

Textul cifrat (ciphertext) se obține prin transpunere (parcurgere de la stânga la dreapta și de sus în
jos):

AIRITNINAZMECOA.

1. CIFRURI CU SUBSTITUȚIE MONOALFABETICĂ:


• Atbash
• ROT13 – ROTATE 13 positions
• CEZAR (CAESAR) – regula spune că vom avea cheia secretă definită prin deplasarea la stânga
sau la dreapta cu un număr de poziții a alfabetului folosit.
• VATSAYANA – regula urmărită este oarecum similară cifrului Cezar (există variabilitate în
configurarea mapării literelor din plaintext cu literele din ciphertext, însă alfabetul nu este
păstrat în ordinea sa naturală). 26!

P 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
C B E G

Alfabetul englez are 26 de litere.

1
Criptografie simetrică – cifruri istorice

1.1 CIFRUL ROT13


O formă simplă de reprezentare a mapărilor este cea în care alfabetu este „frânt” la jumătate:

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

Alternativ, se poate folosi maparea următoare între literele specifice textului în clar (P) și
corespondența în textul cifrat (C):

P 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
C N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

Se aplică tehnica substituției pentru fiecare literă în parte, parcurgând textul în clar pe rând.

P: ANA ARE MERE

C: NAN NER ZRER

OBS: ROT13 este un subcaz pentru cifrul CAESAR în care K = +13/-13

1.2 CIFRUL CEZAR

În cadrul acestui cifru cu substituție monoalfabetică, cheia se alege printr-o valoare numerică în
intervalul 1 – 25 (alfabetul folosit fiind cel al limbii engleze și având 26 de litere în total), definind un
deplasament (la stânga sau la dreapta) a alfabetului folosit în interiorul propriului spațiu (operația de
rotire). Se introduce astfel variabilitatea cheii comparativ cu cifrul precedent ROT13.

1. Folosind cheia K = +4 (rotirea aceasta este echivalentă cu deplasamentul alternativ K = 26 - 4


= -22), obținem următoarea mapare:

P 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
C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

Pentru operația de criptare, vom folosi tabelul de mai sus și textul în clar următor:

P: ANA ARE MERE

pentru a obține următorul text cifrat:

C: ERE EVI QIVI

2. În acest exemplu, avem K = -3 (echivalent cu K = 23)

P 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
C X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
P: ANA ARE MERE PERE SI GUTUI

C: XKXXO BJBOB MBOBP FDRQR F

2
Criptografie simetrică – cifruri istorice

1.3 CRIPTANALIZA
• Fiecare limbaj natural de pe Terra are anumite particularități.
• Aceste particularități se reflectă în frecvența de apariție a anumitor simboluri din alfabetul
limbii respective.

Figura 1. Frecvența de apariție a literelor limbii române.

În perechea precedentă de text în clar și text cifrat, se observă următoarea frecvență de apariție a
literelor:

E–5–B

A–3

R–3

Figura 2. Frecvența de apariție a literelor limbii engleze

3
Criptografie simetrică – cifruri istorice

2. CIFRURI CU SUBSTITUȚIE POLIALFABETICĂ – CIFRUL LUI VIGENÈRE


Primul dintre algoritmii criptografici cu substituție polialfabetică, este cifrul lui Vigenère (popularizat
de criptograful francez Blaise de Vigenere, însă creat în realitate de criptograful italian Giovan
Battista Bellaso în 1553). Acesta folosește o matrice de 26x26 care se poate observa mai jos:

Literele din textul în clar (apar pe coloane)


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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Literele din cheie apar pe linii (rânduri)

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V 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 W X
Z 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

Cheia algoritmului este de fapt o parolă (un cuvânt secret, în limba italiană/franceză parola/parole
însemnând cuvânt). Fiecare rând din această matrice de mai sus (de 26x26 elemente) începe cu o
literă din cheie. Fiecare coloană din această matrice (de 26x26) începe cu o literă din textul în clar.

În cadrul operației de criptare, la intersecția unui rând (specific literei din cheie) cu o coloană
(specifică literei din textul în clar) este identificată litera din textul în clar. De ex. la intersecția
rândului G (litera din parolă) cu coloana R (litera din textul în clar) se regăsește litera X (din textul
cifrat).

În cadrul operației de decriptare, se alege rândul specific literei din cheie, se parcurge acesta până
când se întâlnește litera specifică din criptogramă, iar apoi se urcă pe coloană pentru a regăsi litera
din textul în clar specifică. De ex. pe rândul G (corespunzător literei din parolă) mergem spre dreapta
până când regăsim litera X (din textul cifrat), iar apoi urcăm până la capătul coloanei pentru a regăsi
litera din textul în clar corespunzătoare, adică R.

4
Criptografie simetrică – cifruri istorice

ALGORITMUL DE CRIPTARE

În exemplul următor, avem parola (în eng. password – PASS) pe care o vom copia de câte ori este
necesar (evident, în funcție de lungimea textului în clar), suprapunând/asociind o literă din parolă cu
o literă din textul în clar.

PAROLA/PASS: BOGDAN

P: ANA ARE MERE PERE SI GUTUI

PA B O G D A N B O G D A N B O G D A N B O G
P A N A A R E M E R E P E R E S I G U T U I
C B B G D R R N S X H P R S S Y L G H U I O

Folosind tabelul de mai sus, putem determina cu ușurință literele corespunzătoare textului cifrat:

C: BBG DRR NSXH PRSS YL GHUIO

Textul cifrat este transformat într-o criptogramă prin asocierea literelor în grupe de câte 5 conform
exemplului următor:

C: BBGDR RNSXH PRSSY LGHUI O

Gruparea literelor în criptogramă este necesară pentru a ascunde potențialului criptanalist/agresor


detalii specifice relative la lungimea cuvintelor din textul în clar.

ALGORITMUL DE DECRIPTARE

PA B O G D A N B O G D A N B O G D A N B O G
C B B G D R R N S X H P R S S Y L G H U I O
P A N A A R E M E R E P E R R S I G U T U I

TEMĂ

Decriptați următoarele criptograme:

1. POFNL ETZYT DHSLE CPXLT YDLQE PCZYP QZCRP EDPGP CJESTY RESLE SPSLD WPLCY POTYD
NSZZW
2. ILQTA HNSGP ZYWLX PACEO WRBUN ZNXEK PJBIY XALAC IARQJ XOTYL XTPYL LSBDZ NY

Criptogramele sunt realizate cu cifrurile Cezar și Vigenère. Folosind tehnica criptanalitică de


numărare a frecvenței de apariție a literelor, identificați și spargeți mai întâi criptograma realizată cu
cifrul Cezar. Apoi, folosiți fiecare primă literă a fiecărui cuvânt din textul în clar descifrat, pentru a
forma parola necesară spargerii criptogramei realizate cu cifrul lui Vigenère.

5
Criptografie simetrică – cifruri istorice

3. Cifrul cu substituție polialfabetică – cifrul cu autocheie (Autokey)


Cifrul cu autocheie reprezintă o variantă a cifrului Vigenere și utilizează aceleași reguli. Cifrul are o
particularitate interesantă și anume aceea de a utiliza parola o singură dată, ca prefix pentru propriul
text în clar care devine astfel parolă.

Literele din textul în clar (apar pe coloane)


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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Literele din cheie apar pe linii (rânduri)

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V 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 W X
Z 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

ALGORITMUL DE CRIPTARE

Pentru a înțelege funcționarea cifrului cu autocheie, folosim tabelul de mai jos. În acesta, se poate
observa utilizarea singulară a parolei, urmată apoi de completarea cu litere din textul în clar, în linia
care corespunde parolei (PA).

PAROLA/PASS: BOGDAN

P: ANA ARE MERE PERE SI GUTUI

PA B O G D A N A N A A R E M E R E P E R E S
P A N A A R E M E R E P E R E S I G U T U I
C B B G D R R M R R E G I D I J M V Y K Y A

6
Criptografie simetrică – cifruri istorice

ALGORITMUL DE DECRIPTARE

PAROLA/PASS: BOGDAN

P: ANA ARE MERE PERE SI GUTUI

PA B O G D A N A N A A R E M E R E P E R E S
C B B G D R R M R R E G I D I J M V Y K Y A
P A N A A R E M E R E P E R E S I G U T U I

7
Criptografie simetrică – cifruri istorice

4. Cifrul cu substituție polialfabetică Beaufort


Este o variantă a cifrului Vigenère și a fost conceput de către Sir Francis Beaufort (sec. XIX – hidrograf
și vice-amiral al marinei regale britanice, cunoscut și pentru scara Beaufort folosită pentru
măsurarea intensității vântului). Este un cifru care ulterior a fost implementat în celebrele mașini
criptografice cu rotoare HAGELIN M209 (utilizate de marina americană în timpul celui de-al doilea
război mondial).

Literele din textul în clar (apar pe coloane)


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
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 A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Literele din textul cifrat apar pe linii (rânduri)

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V 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 W X
Z 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

ALGORITMUL DE CRIPTARE

Pentru aceasta, literele din parolă (PA) se suprapun (prin repetiție, de câte ori este nevoie pe toată
lungimea textului în clar) cu literele din textul în clar (P), așa cum se poate observa în tabelul de mai
jos. Apoi, pornind de la litera din textul în clar (aceasta este capăt de coloană), se coboară în coloana
respectivă până la întâlnirea literei corespunzătoare din parolă (PA), iar pe rândul acesteia se obține
la capătul de rând, litera din textul cifrat (C). De ex. în tabelul de mai jos avem pentru litera M din
textul în clar, asociată litera B din parolă, iar litera corespunzătoare din textul cifrat rezultă a fi P
(folosind bineînțeles pentru aceasta tabelul de 26 x 26 de mai sus).

PAROLA/PASS: BOGDAN

P: ANA ARE MERE PERE SI GUTUI

8
Criptografie simetrică – cifruri istorice

P A N A A R E M E R E P E R E S I G U T U I
PA B O G D A N B O G D A N B O G D A N B O G
C B B G D J J P K P Z L J K K O V U T I U Y

Folosind tabelul de mai sus, putem determina cu ușurință literele corespunzătoare textului cifrat.
Prin urmare, criptograma pe care o obținem este:

C: BZUDJ JPKPZ LJKKO VUTIU Y

ALGORITMUL DE DECRIPTARE

C: BZUDJ JPKPZ LJKKO VUTIU Y

PASS: BOGDAN

La decriptare, vom aranja criptograma, parola (repetată de câte ori este nevoie, pe toată lungimea
textului cifrat) și textul în clar, conform tabelului de mai jos.

C B B G D J J P K P Z L J K K O V U T I U Y
PA B O G D A N B O G D A N B O G D A N B O G
P A N A A R E M E R E P E R E S I G U T U I

Pentru decriptarea unei litere din textul în cifrat, pornim în tabelul de 26x26 de litere, de pe rândul
corespunzător literei până când întâlnim litera asociată din parolă. Apoi, urcăm până la capătul
coloanei pe care se află litera din parolă și acolo vom regăsi litera corespunzătoare din textul în clar.
De ex. pe rândul care începe cu litera P (din criptogramă) mergem spre dreapta până când întâlnim
litera G din parolă, apoi urcăm pe coloana respectivă până la vârf unde regăsim litera R din textul în
clar.

9
Criptografie simetrică – cifruri istorice

5. Cifrul cu substituție digrafică Playfair


Este un cifru istoric operativ folosit cu precădere de marina Imperiului Britanic. A fost inventat de Sir
Charles Wheatstone în 1854 și făcut celebru de către Lordul Lyon Playfair.

Cifrul funcționează pe baza unui pătrat de 5x5 (făcut faimos încă din antichitate de Polybius –
https://en.wikipedia.org/wiki/Polybius_square) folosit pentru amalgamarea literelor alfabetului pe
baza unei reguli numite prefix. Trebuie să ținem cont de faptul că alfabetul limbii engleze are 26 de
litere. Pentru a putea acomoda cele 26 de litere în cele 25 de locații ale pătratului Polybius, se va
folosi, în funcție de specificul limbii folosite în textul în clar (de ex. engleza/germana), echivalența
anumitor litere.

Pentru limbile germanice (incluzând aici și engleza): I/J – de ex. Johannis/Iohannis,


Jonathan/Ionathan.

Limbile romanice (incluzând aici și româna): U/V – AQUA/ACVA

Pentru cursul acesta, vom folosi echivalența I/J pentru completarea pătratului lui Polybius. Parola se
va completa PRIMA DATĂ în pătratul lui Polybius: introducând literele din aceasta în ordinea în care
apar, fiecare literă apărând o singură dată. Apoi, pătratul se va completa cu restul literelor din
alfabet în ordinea lor naturală. De exemplu, pentru parola ANAMARIA avem următorul pătrat:

PASS: ANAMARIA

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

ALGORITMUL DE CRIPTARE

În cazul cifrului Playfair, substituția se va realiza pe grupe de două litere (perechi de caractere/litere).
Prima operație este aceea de a sparge textul în clar în grupe de câte două litere.

1. Dacă textul în clar are o ultimă grupă formată dintr-un singur simbol, acestuia i se va atașa
caracterul neutru specific cifrului (în cazul nostru, se alege litera care este neutră pentru
limba respectivă – și anume litera X).
2. Dacă s-a obținut o grupă cu două litere identice, cea de-a doua apariție a literei va fi înlocuită
cu caracterul neutru.
3. Regula pătratului – presupune formarea unui pătrat în interiorul pătratului Polybius (cele
două litere din plaintext sunt vârfurile de pe diagonala principală și vor fi schimbate cu
omoloagele lor).

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

10
Criptografie simetrică – cifruri istorice

4. Regula de linie se aplică atunci când cele două litere dintr-o grupă apar pe aceeași linie.
Substituirea celor două litere se face cu literele situate IMEDIAT la DREAPTA.

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

5. Regula de coloană se aplică atunci când cele două litere dintr-o grupă apar pe aceeași
coloană. Substituirea celor două litere se face cu literele situate IMEDIAT MAI JOS.

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

P: ANA ARE MERE SI GUTUI

P’: AN – AA – RE – ME – RE – SI – GU – TU – I

P’’: AN – AX – RE – ME – RE – SI – GU – TU – IX

C: NM – MV – EL – RD – EL – UM – OP – UP – MZ

C’: NMMVE – LRDEL – UMOPU – PMZ

ALGORITMUL DE DECRIPTARE

C: NM – MV – EL – RD – EL – UM – OP – UP – MZ

PASS: ANAMARIA

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

P: AN – AX – RE – ME – RE – SI/J – GU – TU – I/JX

P’: AN – AA – RE – ME – RE – SJ – GU – TU – JX

11
Criptografie simetrică – cifruri istorice

TEMA 2

Decriptați următoarele criptograme:

1. OCZYD AAZMZ IXZWZ ORZZI OMTVI YOMDP HKCDN VGDOO GZPHK C


2. LRVMH HNAFM MUBEIT ATLHW VSHYT TNPQS HBEAG LNLPR
3. KXJEY UREBE ZWEHE WRYTU HEYFS KREHE GOYFI WTTTU OLKSY CAJPO BOTEI ZONTX
BYBWT GONEY CUZWR GDSON SXBOU YWRHE BAAHY USEDQ

Criptogramele sunt realizate cu cifrurile Cezar, Vigenere și Playfair. Folosind tehnica criptanalitică de
numărare a frecvenței de apariție a literelor, identificați și spargeți mai întâi criptograma realizată cu
cifrul Cezar. Folosiți din textul descifrat prima literă a fiecărui cuvânt pentru a construi parola pentru
cifrul Vigenere. După ce descifrați criptograma Vigenere, folosiți ultimele patru cuvinte (toate
literele) pentru a genera pătratul lui Polybius și a putea descifra criptograma Playfair.

TEMA 3

Decriptați următoarele criptograme:

1. SNVYHE RVFGU RBCCB EGHAV GLGBO RTVAN TNVAZ BERVA GRYYV TRAGY L
2. LBIKB HHVOH NDZAU TAMCT ACRFA ETIDG GSDYQ OONDB FTADO TBLQD PUOIT QROEN
FYCUD TCA
3. WSEQP EAYBE SVMZK AJAHM VVQYX BUPAZ MWLLV EMTTJ EPTJA HIOUD XOVSB
4. NTUEI XPLHN GJWGM YFXTS OZLCV YKSFL XFPNB XGGMC YVWYY USUAS XSHSW ZLCVY
LSLHC QVMZX AWFG

Criptogramele sunt realizate cu cifrurile Cezar, Autocheie, Beaufort și Playfair. Folosind tehnica
criptanalitică de numărare a frecvenței de apariție a literelor, identificați și spargeți mai întâi
criptograma realizată cu cifrul Cezar. Apoi, folosiți fiecare primă literă a fiecărui cuvânt din textul în
clar descifrat, pentru a forma parola necesară spargerii următoarei criptogramei (care poate fi
realizată cu oricare dintre cifrurile rămase).

12
Criptografie simetrică – cifruri istorice

6. Soluții pentru temele propuse

1. Cifrurile Cezar și Vigenère


• Cezar: „Education is what remains after one forgets everything that he has learned in school”
– A. Einstein. Parola pentru criptograma Vigenère este: EIWRAOFETHHLIS
• Vigenère: „Education is not the learning of facts, but the training of the mind to think” – A.
Einstein

13

S-ar putea să vă placă și