Sunteți pe pagina 1din 8

În continuare,vom lucra cu un alfabet cu N caractere.

Acesta va conţine, de obicei, literele alfabetului


latin A, B, . . . , Z, plus eventual alte caractere. Vom identifica alfabetul cu ZN după cum urmează.
Literele latine vor fi identificate cu numerele de la 0 − 25:

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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Celelalte caractere ale lui A vor fi identificate cu numerele următoare (26, 27, ..., N − 1).

1 Criptosistemul Cezar
Cheia de criptare: k ∈ ZN
Funcţia de criptare: E : ZN → ZN , E (m) = m + k
Cheia de decriptare: k 0 = −k ∈ ZN
Funcţia de decriptare: D : ZN → ZN , D (c) = c + k 0

Exerciţiul 1 Criptaţi următorul text, folosind criptosistemul lui Cezar cu cheia K pe un alfabet cu 27
de caractere (A–Z ):
IN T RODU CERE IN CRIP T OGRAF IE

Soluţie. Cheia de criptare este k = 10. Rezultatul criptării este:

I N T R O D U C E R E I N C R I P T O G R A F I E
8 13 19 17 14 3 20 2 4 17 4 26 8 13 26 2 17 8 15 19 14 6 17 0 5 8 4
+10 mod 27 18 23 2 0 24 13 3 12 14 0 14 9 18 23 9 12 0 18 25 2 24 16 0 10 15 18 14
S X C A Y N D M 0 A 0 J S X J M A S Z C Y Q A K P S O

Exerciţiul 2 Decriptaţi următorul text cifrat obţinut folosind criptosistemul lui Cezar:

HAHJBSCHHCLHSV JHGP

Alfabetul folosit are 26 de caractere (A − Z), mesajul in clar este scris in limba română, iar caracterul
cel mai frecvent in limba română este A.

Soluţie. Cel mai frecvent caracter ı̂n mesajul criptat este H. Deducem că H este decriptat ı̂n A. Avem
atunci:
D
H 7→ A =⇒ D (7) = 0 =⇒ 7 + k 0 = 0 =⇒ k 0 = −7 = 19
(calculele sunt ı̂n Z26 ). Decriptarea va fi:

H A H J B S C H H C L H S V J H G P
7 0 7 9 1 18 2 7 7 2 11 7 18 21 9 7 6 15
+19 mod 26 0 19 0 2 20 11 21 0 0 21 4 0 11 14 2 0 25 8
A T A C U L V A A V E A L O C A Z I

Exerciţiu suplimentar: Fişa 4 - Ex. 4.

2 Criptosisteme afine
Cheia de criptare: a, b ∈ ZN , a inversabil
Funcţia de criptare: E : ZN → ZN , E (m) = am + b
Cheia de decriptare: a0 = a−1 ∈ ZN , b0 = −a1 b ∈ ZN
Funcţia de decriptare: D : ZN → ZN , D (c) = a0 m + b0

1
Exerciţiul 3 Criptaţi următorul text, folosind un criptosistem afin (3, 2) pe blocuri de un caracter. Se
foloseşte un alfabet cu 26 de caractere (A–Z):

CRIP T OGRAF IE

Soluţie. Avem:

C R I P T O G R A F I E
m 2 17 8 15 19 14 6 17 0 5 8 4
3m + 2 mod 26 8 1 0 18 7 18 20 1 2 R 0 14
I B A V H S U B C R A O

Exerciţiul 4 Determinaţi cheia de descifrare pentru un criptosistem afin dacă numărul caracterelor este
N = 28 (A − Z ?) şi se cunoaşte că , A şi ? sunt criptate ı̂n B, ? respectiv O.

Soluţie. Fie D (c) = a0 c + b0 funcţia de decriptare (unde a0 , b0 ∈ Z28 , a0 inversabil). Din ipoteză
(caracterele B, ?, şi O sunt decriptate ı̂n , A şi ?) avem

 a0 + b0 = 26
 
 D (1) = 26
D (27) = 0 ⇐⇒ 27a0 + b0 = 0
D (14) = 27 14a0 + b0 = 27
 

Scăzând a treia ecuaţie din a doua obţinem 13a0 = −27 = 1, deci a0 = 13−1 mod 28 = 13 (din algoritmul
lui Euclid). Înlocuind ı̂n a doua ecuaţie găsim

0 = 27 · 13 + b0 = (−1) · 13 + b0

deci b0 = 13. Deci a0 = b0 = 13. Deoarece, pentru determinarea lui a0 şi b0 am folosit doar ultimele două
relaţii, trebuie să verificăm că a0 , b0 satisfac şi prima ecuaţie: a0 + b0 = 13 + 13 = 26. Deci, cheia de
decriptare este a0 = b0 = 13.
Obs. Alternativ, dacă scădeam a prima ecuaţie din a doua, obţineam 26a0 = −26 = 2. Nu putem
simplifica această prin 2, fiindcă 2 nu e inversabil ı̂n Z28 . Ecuaţia aceasta se rezolvă astfel:

26a0 = 2 ⇐⇒ 28 | (26a0 − 2) ⇐⇒ 14 | (13a0 − 1)


⇐⇒ 13a0 = 1 mod 14
⇐⇒ −a0 = 1 mod 14
⇐⇒ a0 = −1 mod 14 ⇐⇒ a0 ∈ {13, 27} .

Dacă a0 = 13, ı̂nlocuind ı̂n prima ecuaţie găsim b0 = 13, şi obţineam soluţia găsită. Dacă a0 = 27 = −1,
găseam din prima ecuaţie b0 = −1, şi când ı̂nlocuiam ı̂n a treia ecuaţie obţineam 14 (−1) + (−1) = −1,
imposibil.

Exerciţiul 5 Decriptaţi următorul text:

GABODQN ABEBOZZLBZON

Pentru criptare s-a folosit un criptosistem afin pe blocuri de un caracter, cu un alfabet cu 26 de caractere
(A–Z).
(a) Se ştie că A este criptat in B, iar B este criptat in E.
(b) Se ştie că A este criptat in B, iar E este criptat in N .

Soluţie. Vom rezolva (b), celălalt punct tratându-se asemănător. Fie a0 , b0 ∈ Z26 , a0 inversabil, cheia de
decriptare. Deoarece B e decriptat ı̂n A şi N e decriptat ı̂n E, avem:

a0 + b0 = 0
 0
= −a0
 
D (1) =0 b
⇐⇒ ⇐⇒
D (13) = 4 13a0 + b0 = 4 12a0 = 4

Rezolvăm acum a doua ecuaţie (atenţie, 12 nu este inversabil ı̂n Z26 ):

12a0 = 4 ⇐⇒ 26 | 12a0 − 4 ⇐⇒ 13 | 6a0 − 2 ⇐⇒ 6a0 = 2 mod 13

2
Dar 6 este inversabil ı̂n Z13 , deci

a0 = 6−1 · 2 mod 13 = 3−1 mod 13 = 9 mod 13

deci a0 ∈ {9, 9 + 13 = 22}. Dar a0 este inversabil ı̂n Z26 , de unde găsim a0 = 9 (cealaltă valoare, 22, nu
este inversabilă). Aşadar cheia de decriptare este a0 = 9, b0 = −9 = 17, iar mesajul descriptat va fi:

G A B O D Q N A B E B O Z Z L B Z O N
c 6 0 1 14 3 16 13 0 1 4 1 14 25 25 11 1 25 14 13
9c + 17 mod 26 19 17 0 13 18 5 4 17 0 1 0 13 8 8 12 0 8 13 4
T R A N S F E R A B A N I I M A I N E

Exerciţii suplimentare: Fisa 4 - Ex. 8 a), Fisa 6 - Ex. 5,6.

3 Criptosistem afine pe digrafi


Mesajul ı̂n clar este ı̂mpărţit ı̂n blocuri de 2 caractere. Fiecare bloc este văzut ca un număr de 2 cifre ı̂n
baza N , deci ca un element din din ZN 2 .

Cheia de criptare: a, b ∈ ZN 2 , (a, N ) = 1.


Funcţia de criptare: E : ZN 2 → ZN 2 , E (m) = am + b
Cheia de decriptare: a0 = a−1 ∈ ZN 2 , b0 = −a1 b ∈ ZN 2
Funcţia de decriptare: D : ZN 2 → ZN 2 , D (c) = a0 m + b0

Exerciţiul 6 Descifraţi mesajul N DXBHO ştiind că s-a realizat o criptare afină pe digrafi, cu un alfabet
cu 27 de caractere (A − Z ). De asemenea, se cunoaşte că prin criptarea digrafilor in clar E S T
se obţin digrafii ZA IA IW .

Soluţie. Fie a0 , b0 ∈ Z272 , (a0 , 27) = 1, cheia de decriptare. Mai ı̂ntâi determinăm numerele din Z272 ce
corespund digrafilor daţi:

E → 4 (26)(27) = 4 · 27 + 26 = 134 ZA → (25) 0(27) = 25 · 27 + 0 = 675


S → (18) (26)(27) = 18 · 27 + 26 = 512 IA → 80(27) = 8 · 27 + 0 = 216
T → (26) (19)(27) = 26 · 27 + 19 = 721 IW → 8 (22)(27) = 8 · 27 + 22 = 238

Obţinem astfel sistemul ı̂n Z729 :


 675a0 + b0 = 134

216a0 + b0 = 512
238a0 + b0 = 721

Dacă scădem din prima ecuaţie, a doua obţinem 459a0 = −378, ecuaţie ce are mai multe soluţii fiindcă
459 nu e inversabil ı̂n Z729 (şi 729 şi 459 se divid cu 9). Pentru a evita această complicaţie scădem din a
treia ecuaţie pe a doua şi obţinem

22a0 = 209 ⇐⇒ a0 = 22−1 109 mod 729 ⇐⇒ a0 = 374

Înlocuind ı̂n a doua relaţie găsim


b0 = 512 − 216 · 374 = 647
Se verifică prin calcul că a0 , b0 satisfac şi prima ecuaţie şi că a0 este inversabil mod 729, deci cheia căutată
este a0 = 374, b0 = 647, iar funcţia de deciptare este D (c) = 374c + 647. Decriptăm acum mesajul:
D
ND → c = (13) 3(27) = 13 · 27 + 3 = 354 7→ D (c) = 365 = 13 · 27 + 14 = (13) (14)(27) → NO
D
XB → c = (23) 1(27) = 24 · 27 + 1 = 622 7→ D (c) = 724 = 26 · 27 + 22 = (26) (22)(27) → W
D
HO → c = 7 (14)(27) = 7 · 27 + 14 = 203 7→ D (c) = 24 = 0 · 26 + 24 = 0 (24)(27) → AY

deci mesajul descriptat este N O W AY .

3
4 Criptosistemul Vigenère
Mesajul este ı̂mpărţit ı̂n blocuri de lungime r ≥ 2. Fiecare bloc este văzut ca un vector linie din ZrN .

Cheia de criptare: k = (k1 , . . . , kr ) ∈ ZrN


Funcţia de criptare: E : ZrN → ZrN , E (m) = m + k
Cheia de decriptare: k 0 = −k ∈ ZrN
Funcţia de decriptare: D : ZrN → ZrN , D (c) = c + k 0

Exerciţiul 7 Criptaţi următorul text, folosind criptosistemul lui Vigenére cu cheia CHEIE pe un alfabet
cu 28 de caractere (A − Z ?):

CE ALGORIT M ST A LA BAZA CRIP T OSIST EM U LU I DES?

Soluţie. Cheia ”CHEIE” corespunde vectorului k = (2, 7, 4, 8, 4). Criptarea primelor trei cuvinte este:

C E A L G O R I T M S T A
m 2 4 26 0 11 6 14 17 8 19 12 26 18 19 0
k 2 7 4 8 4 2 7 4 8 4 2 7 4 8 4
m+k 4 11 2 8 15 8 21 21 16 23 14 5 22 27 4
E L C I P I V V Q X O F W ? E

Pentru restul se procedează analog.


Exerciţiu suplimentar: Fisa 5 - Ex. 2.

5 Criptosisteme afine cu matrice 2 × 2


Mesajul ı̂n clar este ı̂mpărţit ı̂n blocuri de 2 caractere. Fiecare bloc este văzut ca un vector coloană din
Z2N .
Cheia de criptare: A ∈ M2 (ZN ) inversabilă.
   
2 2 m1 m1
Funcţia de criptare: E : ZN → ZN , E =A·
m2 m2
0 −1
Cheia de decriptare: A = A ∈ M2 (Z )
N   
2 2 c1 0 c1
Funcţia de decriptare: D : ZN → ZN , D =A
c2 c2

Observaţie. O matrice  
a b
A= ∈ M2 (ZN )
c d

este inversabilă dacă şi numai dacă det A = ad − bc este inversabil ı̂n ZN (nu doar diferit de 0). În acest
caz, inversa este:  
−1 d −b
A−1 = (ad − bc)
−c a

Exerciţiul 8 (a) Criptaţi mesajul


N OAN SW ER
folosind matricea de criptare  
2 3
A=
7 8
Se foloseşte un alfabet de 26 de caractere.
(b) Determinaţi matricea de decriptare şi decriptaţi

F W M DIQ

4
   
m1 m1
Soluţie. (a) Funcţia de criptare este E =A mod 26. Avem:
m2 m2
      
13 E 2 3 13 16
NO → 7 → mod 26 = → QV
 14   7 8  14   21 
0 E 2 3 0 13
AN → 7→ mod 26 = → NA
 13   7 8  13   0 
18 E 2 3 18 24
SW → 7→ mod 26 = → YQ
 22   7 8  22   16
4 E 2 3 4 7
ER → 7→ mod 26 = → HI
17 7 8 17 8
Putem scrie ı̂ntr-un mod mai restrâns calculele de mai sus astfel
          
N A S E 13 0 18 4 2 3 13 0 18 4 16 13 24 7 Q N Y H
→ → = →
O N W R 14 13 22 17 7 8 14 13 22 17 21 0 16 8 V A Q I
−1 −1
(b) Avem det A = 2 · 8 − 3 · 7 = −5, deci (det A) = (−5) mod 26 = 5. Matricea de decriptare este
atunci:  −1      
2 3 8 −3 40 −15 14 11
A−1 = =5 = =
7 8 −7 2 −35 10 17 10
şi avem
          
F M I 5 12 8 14 11 5 12 8 0 19 2 A T C
→ → mod 26 = →
W D Q 22 3 16 17 10 22 3 16 19 0 10 T A K
deci mesajul decriptat este AT T ACK.
Exerciţiul 9 Presupunem că ştim faptul că adversarul nostru foloseşte pentru criptarea mesajelor un
criptosistem ı̂n care blocurile mesajelor au două caractere, alfabetul are 29 de caractere (A − Z ?!) şi
criptarea se face folosind o matrice de criptare. Decriptaţi textul
GF P Y JP X?U Y XST LADP LW
ştiind că ultimele cinci caractere sunt semnătura expeditorului: 0 KARLA0 .
Soluţie. Din ipoteză ştim că ultimele două blocuri 0 DP 0 şi 0 LW 0 sunt decriptate ı̂n 0 AR0 şi 0 LA0 . Notând
prin A0 matricea de decriptare, obţinem
    
0 3 0
 A =
( 
D     
DP → AR 15   17  0 3 11 0 11
D =⇒  =⇒ A =
LW → LA 11 11 15 22 17 0
 A0 =


22 0
 
3 11
Matricea are determinantul 3 · 22 − 11 · 15 = 17, ce este inversabil ı̂n Z29 , deci
15 22
 −1      
3 11 −1 22 −11 22 −11 3 13
= 17 = 12 =
15 22 −15 3 −15 3 23 7
(am folosit 17−1 mod 29 = 12), de unde găsim
  −1     
0 0 11 3 11 0 11 3 13 21 19
A = = =
17 0 15 22 17 0 23 7 22 18
Decriptăm acum mesajul:
   
G P J ? Y S L D L 6 15 9 26 27 24 18 11 3 11

F Y P X U X T A P W 5 24 15 23 20 23 19 0 15 22
    
21 19 6 15 9 26 27 24 18 11 3 11 18 17 10 26 19 13 14 28 0 11
=
22 18 5 24 15 23 20 23 19 0 15 22 19 8 4 0 26 14 13 10 17 0
deci mesajul decriptat este
ST RIKE AT N OON !KARLA

5
Exerciţiul 10 Fie matricile:
   
3 11 10 15
A= , B=
4 15 5 9

Pentru a micşora şansele de succes ale unui eventual atac, decidem să criptăm fiecare digraf al unui text
ı̂n clar astfel:
(i) utilizăm un alfabet de 26 de caractere (A − Z) şi matricea de criptare A (se lucrează modulo 26);
(ii) digrafului obţinut i se aplică matricea de criptare B lucrând modulo 29. Textul cifrat va fi scris ı̂n
alfabetul de 29 de caractere de la exerciţiul anterior.
(a) Criptaţi textul SEN D;
(b) Decriptaţi textul ZM OY .

Soluţie. (a) Criptăm mai ı̂ntâi cu A (ı̂n Z26 ):


        
S N 18 13 3 11 18 13 20 20
→ → mod 26 =
E D 4 3 4 15 4 3 2 19
şi apoi cu B (ı̂n Z29 ):
      
20 20 10 15 20 20 27 21
→ mod 29 =
2 19 5 9 2 19 2 10
deci textul criptat va fi ?CV K.
(b) Calculăm inversa lui A (modulo 26):
 −1    
−1 3 11 −1 15 −11 15 15
A = mod 26 = (3 · 15 − 4 · 11) mod 26 = mod 26
4 15 −4 3 22 3

şi inversa lui B (modulo 29):


 −1  
10 15 −1 9 −15
B −1 = mod 29 = (10 · 9 − 5 · 15) mod 29
5 9 −5 10
   
9 −15 9 14
= 15−1 mod 29 = 2 mod 29
−5 10 24 10
 
18 28
= mod 29
19 20

Dacă la criptare, foloseam mai ı̂ntâi A şi apoi B, la decriptare, folosim mai ı̂ntâi B −1 mod 29 şi apoi
A−1 mod 26:

  
     
Z O 25 14 B −1 · 18 28 25 14 3 25
→ −→ mod 29 =
M Y 12 24 19 20 12 24 19 21
        
3 25 A−1 · 15 15 3 25 18 14 S O
−→ mod 26 = →
19 21 22 3 19 21 19 15 T P

deci mesajul decriptat este: ST OP .

Exerciţii suplimentare: Fişa 5 - Ex. 5,7, Fişa 6 - Ex. 3.

6 Alte exerciţii
Exerciţiul 11 Să presupunem că o matrice neinversabilă A ∈ M2 (ZN ) este folosită pentru o criptare
afină pe digrafi. Demonstraţi
 căorice mesaj criptat corespunde la cel puţin două mesaje ı̂n clar. Exemplificaţi
2 1
ı̂n cazul matricei A = ∈ M2 (Z30 ). Determinaţi cel puţin două mesaje ı̂n clar care corespund
1 3
mesajului cifrat 0 GD0 . Alfabetul folosit conţine 30 de litere (A − Z ?!).

6
Soluţie. Fie TA : Z2N → Z2N , TA (x) = Ax. Acesta este un morfism de ZN -module libere, ce nu este
izomorfism pentru că A este neinversabilă ı̂n ZN .
Presupunem că TA este injectiv. Cum Z2N este o mulţime finită, va rezulta că TA este şi surjectiv,
deci că TA este izomorfism, contradicţie. Aşadar, TA nu este injectiv, de unde deducem că ker TA 6= {0},
adică există x 6= 0 ı̂n Z2N astfel ı̂ncât Ax = 0.
Dacă c∈Z2N este un mesaj criptat ce corespunde unui mesaj clar m (adică Am = c), atunci m + x va
satisface:

m + x 6= m
A (m + x) = Am + Ax = c + 0 = c

deci m + x este un alt mesaj ı̂n clar ce este criptat


 ı̂nc.
2 1
Să presupunem acum că N = 30 şi A = (observăm că det A = 5, neinversabil ı̂n Z30 ). A
1 3
0 0
determina mesajele ı̂n clar ce corespund lui GD revine la a rezolva sistemul
      
x 6 2x + y = 6 x = 3 − 3y x = 3 − 3y
A = ⇐⇒ ⇐⇒ ⇐⇒
y 3 x + 3y = 3 2 (3 − 3y) + y = 6 5y = 0

Rezolvăm ecuaţia a doua ı̂n Z30 :

5y = 0 ⇐⇒ 30 | 5y ⇐⇒ 6 | y ⇐⇒ y ∈ {0, 6, 12, 18, 24}

de unde, calculându-l şi pe x, obţinem (x, y) ∈ {(3, 0) , (15, 6) , (27, 12) , (9, 18) , (21, 24)}. Mesajele ı̂n clar
corespunzătoare vor fi: DA, P G, ?M , IS, V Y .

Exerciţiul 12 Pentru un criptosistem afin pe digrafi, cu un alfabet cu 30 de litere, se cunosc mesajul ı̂n
clar şi mesajul cifrat:    
3 3 17 8
M= ,C =
2 5 8 29
Determinaţi matriceea de criptare A ∈ M2 (Z30 ).

Soluţie. Trebuie să rezolvăm ecuaţia AM = C (ı̂n necunoscuta A). Observăm că M nu este inversabilă
30
deoarece det M = 9 e neinversabil ı̂n Z30 . Dar det M este inversabil modulo (9,30) = 10. Aşa că vom
reduce ecuaţia noastră mod 10 şi obţinem
      −1
3 3 17 8 7 8 3 3
A = mod 10 =⇒ A mod 10 = mod 10
2 5 8 29 8 9 2 5

Dar
 −1      
3 3 5 −3 5 −3 5 3
mod 10 = 9−1 mod 10 = − mod 10 =
2 5 −2 3 −2 3 2 7

deci     
7 8 5 3 1 7
A mod 10 = mod 10 =
8 9 2 7 8 7
Rezultă că  
1 7
A= + 10A1
8 7
unde A1 ∈ M2 (Z3 ) (coeficienţii lui A1 sunt câturile coeficienţilor lui A la ı̂mpărţirea cu 10. Cum aceştia
sunt < 30, câturile pot lua doar valorile 0, 1 sau 2). Înlocuind ı̂n ecuaţia iniţială găsim:
      
1 7 3 3 3 3 17 8
+ 10A1 =
8 7 2 5 2 5 8 29

Dar, ı̂n Z30 ,     


1 7 3 3 17 8
=
8 7 2 5 8 29

7
deci ecuaţia devine  
3 3
10A1 = O2 mod 30
2 5
De aici rezultă că    
3 3 0 0
A1 = O2 mod 3 ⇐⇒ A1 = O2 mod 3
2 5 2 1
 
a1 b1
Scriind A1 = ∈ M2 (Z3 ) şi efectuând calculelel obţinem b1 = d1 = 0 şi a1 , c1 ∈ Z3 arbitrari.
c1 d1
În concluzie, soluţiile ecuaţiei AM = C sunt:
     
1 7 a1 0 1 + 10a1 7
A= + 10 =
8 7 c1 0 8 + 10c1 7

cu a1 , c1 ∈ Z3 (sunt 9 soluţii)
Dar A este o matrice de criptare, deci trebuie să mai impunem condiţia ca det A să fie inversabil ı̂n
Z30 . Avem:

det A = (1 + 10a1 ) · 7 − (8 + 10c1 ) · 7


= 7 (−7 + 10 (a1 − c1 ))
= 11 + 10 (a1 − c1 )

Dând valorile a1 = 0, 1, 2, respectiv c1 = 0, 1, 2, obţinem că det A este inversabil doar pentru

(a1 , c1 ) ∈ {(0, 0) , (0, 1) , (1, 1) , (1, 2) , (2, 0) , (2, 2)} .

Aşadar, matricele căutate sunt:


           
1 7 1 7 11 7 11 7 21 7 21 7
, , , , ,
8 7 18 7 18 7 28 7 8 7 28 7

Exerciţiu suplimentar: Fişa 6 - Ex. 4.

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