Documente Academic
Documente Profesional
Documente Cultură
*|0123456
0|0123456
1|1234560
2|2345601
3|3456012
4|4560123
5|5601234
6|6012345
0|0000000
1|0123456
2|0246135
3|0362514
4|0415263
5|0531642
6|0654321
^|0123456
1|1111111
2|1241241
3|1326451
4|1421421
5|1546231
6|1616161
45
Modulul 3
Bazele matematice ale criptrii
46
Modulul 3
Bazele matematice ale criptrii
47
Modulul 3
Bazele matematice ale criptrii
4 5 6
7 8
9 10
11 12 13 14 15
1 1 1 1 1 1
1 1
1 1 1 1 1
8 16 32 9 18 36 17 34
13 26 52 49 43
27 26 23 14 42 16 48 34
47 31 38 4 12
9 36 34 26 49 31 14 1
4 16 9 36 34
15 20 45 5 25 15 20 45
5 25 15 20 45
51 31 21 16 41 26 46 1
6 36 51 31 21
13 36 32 4 28 31 52 34
18 16 2 14 43
17 26 43 14 2 16 18 34
52 31 28 4 32
14 16 34 31 4 36 49 1
9 26 14 16 34
10 45 10 45 10 45 10 45
10 45 10 45 10
11 11 11 11 11 11 11 11
11 11 11 11 11
23 1 12 34 23 1 12 34
23 1 12 34 23
52 16 43 9 7 36 28 34
2 26 8 49 32
49 26 34 36 9 16 4 1
14 31 49 26 34
20 25 45 15 5 20 25 45
15 5 20 25 45
26 31 1 16 36 26 31 1
16 36 26 31 1
18 31 32 49 8 26 2 34
28 36 7 9 43
2 36 43 4 17 31 8 34
7 16 13 14 32
39 26 54 36 24 16 29 1
19 31 39 26 54
25 5 45 20 15 25 5 45
20 15 25 5 45
21 1 21 1 21 1 21 1
21 1 21 1 21
33 11 22 44 33 11 22 44
33 11 22 44 33
12 1 23 34 12 1 23 34
12 1 23 34 12
19 16 54 31 29 36 39 1
24 26 19 16 54
5 15 45 25 20 5 15 45
25 20 5 15 45
31 36 1 26 16 31 36 1
26 16 31 36
1
48 31 12 49 3 26 42 34
38 36 37 9 23
7 31 43 49 52 26 13 34
17 36 18 9 32
24 36 54 26 39 31 19 1
29 16 24 36 54
50 15 10 25 35 5 40 45
30 20 50 15 10
36 16 1 31 26 36 16
1
31 26 36 16
1
43 1 32 34 43 1 32 34
43 1 32 34 43
22 11 33 44 22 11 33 44 22 11 33 44 22
34 1 34 1 34 1 34
1 34 1 34 1 34
30 5 10 20 40 25 50 45 35 15 30 5 10
16 26 1 36 31 16 26
1 36 31 16 26
1
53 36 12 4 38 31 47 34 48 16 42 14 23
37 31 23 49 47 26 53 34 27 36 48 9 12
29 31 54 16 19 26 24
1 39 36 29 31 54
35 25 10 15 50 20 30 45 40 5 35 25 10
6 26 21 36 46 16 51
1 41 31 6 26 21
3 16 12
9 48 36 27 34 53 26 47 49 23
32 1 43 34 32 1 43 34 32 1 43 34 32
44 11 44 11 44 11 44 11 44 11 44 11 44
45 45 45 45 45 45 45 45 45 45 45 45 45
41 16 21 31 51 36 6
1 46 26 41 16 21
38 26 12 14 53 16 37 34
3 31 27 4 23
42 36 23 4 27 31 3 34 37 16 53 14 12
4 31 34 16 14 26 9 1 49 36 4 31 34
40 20 10 5 30 15 35 45 50 25 40 20 10
46 36 21 26 6 31 41 1 51 16 46 36
21
28 26 32 14 13 16 7 34
8 31 17 4
43
47 16 23 9 37 36 38 34 42 26 3 49 12
54 1 54 1 54 1 54 1 54 1 54 1
54
16
1
31
36
26
5
16
26
36
31
45
11
1
31
36
15
16
16
26
36
20
1
11
1
31
25
26
16
16
26
25
31
1
11
1
20
36
26
16
16
15
36
31
1
11
45
31
36
26
16
5
26
36
31
1
17
18 19 20 21
1 1 1
7 14 28
53 49 37
49 31 14
25 15 20
41 26 46
17 9 8
13 49 7
4 36 49
10 45 10
11 11 11
12 34 23
18 14 17
9 16 4
5 20 25
36 26 31
52 4 1
28 9 52
24 16 29
15 25 5
21 1 21
22 44 33
23 34 12
29 36 39
20 5 15
16 31 36
47 4 53
8 4 2
39 31 19
35 5 40
26 36 16
32 34 43
33 44 22
34 1 34
40 25 50
31 16 26
27 9 3
3 4 42
19 26 24
50 20 30
46 16 51
37 14 38
43 34 32
44 11 44
45 45 45
51 36 6
42 49 48
38 9 47
14 26 9
30 15 35
6 31 41
2 49 18
48 14 27
54 1 54
1
1
1
1
45
1
1
1
1
45
11
1
1
1
45
1
31
1
1
45
1
11
1
1
45
1
1
1
1
45
1
1
11
1
45
1
1
1
1
45
1
1
1
11
45
1
1
1
1
45
1
1
1
1
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
48
Modulul 3
Bazele matematice ale criptrii
= 1 (mod p).
(3.1)
Demonstraie:
Not istoric
Ca de obicei, Fermat nu a dat o demonstraie nici pentru aceast
teorem (mrginindu-se s afirme "i-a fi trimis i demonstraia dac
nu m-a fi temut c este prea lung"). Primul care a publicat o
demonstraie a acestei teoreme a fost Euler n anul 1736. A fost gsit
ns aceeai demonstraie ntr-un manuscris al lui Leibniz, redactat
nainte de 1683, rmas nepublicat.
Pentru nceput se scriu primii p-1 multipli pozitivi ai lui a:
a, 2a, 3a, ... (p -1)a
(3.2)
(3.3)
(3.4)
. . .
(p-1)
(3.5)
(3.6)
49
Modulul 3
Bazele matematice ale criptrii
b7 x + b6 x + b5 x + b4 x +b3 x + b2 x + b1x + b0 = b k x k
(3.7)
k =0
0
0
1
1
1
0
*
0
1
0
0
0
1
0
1
Se constat c operaia de adunare este identic cu operaia logic sauexclusiv i c nmulirea este identic cu operaia logic i. Cmpul
GF(2) este utilizat frecvent la construcia de coduri deoarece el este uor
reprezentat n calculatoare, fiind necesar un singur bit.
Adunarea
nsumarea a dou elemente ntr-un cmp finit Galois al lui 2 la o
anumit putere este realizat prin "adunarea" coeficienilor
corespunztori aceleiai puteri din polinoamele corespunztoare celor
dou elemente. "Adunarea" este efectuat modulo 2 (adic este vorba
despre funcia logic sau exclusiv). n consecin scderea polinoamelor
8
50
Modulul 3
Bazele matematice ale criptrii
(x
) (
+ x 4 + x 2 + x + 1 + x 7 + x + 1 = x 7 + x 6 + x 4 + x 2 (notaie polinomial)
(3.8)
nmulirea
8
(3.9)
(x
)(
+ x 4 + x 2 + 1 x 7 + x + 1 = x13 + x11 + x 9 + x 8 + x 7 +
+ x5 + x3 + x 2 + x + x6 + x 4 + x 2 + 1
(3.10)
(x
)(
+ x 4 + x2 + 1 x7 + x + 1 =
(3.11)
= x13 + x11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1
Dar:
m( x)
7
R ( x)
6
(3.12)
deoarece restul mpririi lui P(x) la m(x) este x x +1, care este egal
cu R(x), deoarece coeficienii acestor polinoame trebuie considerai din
mulimea claselor de resturi modulo 2 (aa cum s-a artat deja cnd s-a
vorbit despre adunare). Dar octetul corespunztor lui R(x)
este{0,1,1,0,0,0,0,0,1}sau n notaie hexazecimal {c1}.
nmulirea definit astfel este asociativ, iar elementul su
neutru este {01}. Pentru orice polinom binar neidentic nul, de grad
inferior lui 8, b(x), exist un element invers n raport cu aceast
nmulire, notat b 1 ( x ) . Acesta poate fi calculat utiliznd algoritmul lui
Euclid, i determinnd polinoamele a(x) i c(x), care au proprietatea:
51
Modulul 3
Bazele matematice ale criptrii
b( x) a ( x) + m( x) c( x) = 1
(3.13)
b ( x ) a ( x ) mod {m ( x )} = 1
(3.14)
adic:
ceea ce nseamn c:
b 1 ( x ) = a ( x ) mod {m ( x )}
(3.15)
(3.16)
Exemplul 2: GF(3)
0
0
1
-1
1
1
-1
0
-1
-1
0
1
*
0
1
-1
0
0
0
0
1
0
1
-1
-1
0
-1
1
0
0
1
A
B
1
1
0
B
A
A
A
B
0
1
B
B
A
1
0
*
0
1
A
B
0
0
0
0
0
1
0
1
A
B
A
0
A
B
1
B
0
B
1
A
52
Modulul 3
Bazele matematice ale criptrii
(3.17)
i:
{57}{13}={57}({01}{02}{10})={57}{ae}{07}={fe}
(3.18)
(3.19)
53
Modulul 3
Bazele matematice ale criptrii
(3.20)
unde:
c0 = a0 b0
c4 = a3 b1 a2 b2 a1 b3
c1 = a1 b0 a0 b1
c5 = a3 b2 a2 b3
c2 = a2 b0 a1 b1 a0 b2
c3 = a3 b2 a2 b1 a1 b2 a0 b3
c6 = a3 b3
(3.21)
(3.22)
x i mod x 4 + 1 = x i mod4
(3.23)
Produsul modular al polinoamelor a(x) i b(x), notat a(x ) b(x ) , este dat
de polinomul cu patru termeni d(x), definit dup cum urmeaz:
d (x ) = d3 x 3 + d 2 x 2 + d1x + d 0
cu:
(3.24)
(3.25)
Dac a(x) este un polinom fixat, operaiile descrise mai sus pot fi
exprimate i matricial:
54
Modulul 3
Bazele matematice ale criptrii
d 0 a0
d a
1 = 1
d 2 a2
d3 a3
a3
a0
a1
a2
a2
a3
a0
a1
a1 b0
a2 b1
a3 b2
a0 b3
(3.26)
(3.27)
Inversul su este:
a 1 (x ) = {0b}x 3 + {0d }x 2 + {09}x + {0e}
(3.28)
55
Modulul 3
Bazele matematice ale criptrii
mod(232 )
bt = a + 2b mod(232 )
(3.29)
56
Modulul 3
Bazele matematice ale criptrii
X <<< s
not(X)
- complementul lui X obinut prin complementarea fiecrui
bit al su.
57
Modulul 3
Bazele matematice ale criptrii
XvY
- rezultatul aplicrii funciei sau cuvintelor X i Y obinut
prin aplicarea funciei sau fiecrei perechi de bii (de aceeai
semnificaie) din cele dou cuvinte.
X xor Y - rezultatul aplicrii funciei sau-exclusiv cuvintelor X i Y
obinut prin aplicarea funciei sau-exclusiv fiecrei perechi de bii (de
aceeai semnificaie) din cele dou cuvinte.
XY
- rezultatul aplicrii funciei i cuvintelor X i Y obinut prin
aplicarea funciei i fiecrei perechi de bii (de aceeai semnificaie) din
cele dou cuvinte.
Pentru determinarea rezumatului mesajului se fac urmtorii 5 pai.
Pasul 1. Adugare de bii pentru egalizarea lungimii mesajului
Mesajul este extins astfel nct lungimea sa s devin egal cu
448 modulo 512. Extinderea se face ntotdeauna, chiar dac lungimea
mesajului iniial este egal cu 448 modulo 512. Extinderea se face dup
cum urmeaz: se adaug un singur bit cu valoarea 1 i apoi se aduag
bii de valoare 0 pn cnd lungimea mesajului ajunge s fie de valoarea
dorit. Numrul de bii adugai poate varia ntre 1 i 512.
Pasul 2. Adugarea lungimii mesajului
O reprezentare pe 64 de bii a lungimii iniiale a mesajului, b,
este adugat la rezultatul obinut n urma efecturii pasului anterior. n
ipoteza, puin probabil, c valoarea lui b este mai mare dect 2 la
puterea 64, se utilizeaz doar cei mai puin semnificativi 64 de bii ai
reprezentrii binare a valorii b. Acest cuvnt de 64 de bii se adauag
prin concatenarea a dou cuvinte de 32 de bii, primul fiind cel care
conine biii mai puin semnificativi. n acest punct al algoritmului noul
mesaj obinut are o lungime egal cu un multiplu de 512. Deci acest
mesaj conine un numr ntreg de cuvinte de 16, respectiv 32 de bii. Fie
M[0 ... N-1] reprezentarea unui cuvnt al mesajului rezultat, unde N este
un multiplu de 16.
Pasul 3. Iniializarea registrului MD
Un registru de patru cuvinte (A,B,C,D) se folosete pentru
calculul rezumatului mesajului. De fapt cu A, B, C, D, au fost notate
patru registre de cte 32 de bii. Aceste registre sunt ncrcate iniial cu
urmtoarele valori, exprimate n hexazecimal (cu biii cei mai puin
semnificativi la nceput):
A
B
C
D
01
89
fe
76
23
ab
dc
54
45
cd
ba
32
67
ef
98
10
58
Modulul 3
Bazele matematice ale criptrii
59
Modulul 3
Bazele matematice ale criptrii
Pasul 5. Livrarea MD
Rezumatul mesajului produs cu algoritmul MD5 este obinut
prin concatenarea coninuturilor registrelor A, B, C i D obinute la
sfritul pasului anterior. La nceput se vor gsi biii cei mai puin
semnificativi ai registrului A iar la sfrit biii cei mai semnificativi ai
registrului D.
O alt funcie hash utilizat frecvent este SHA (prescurtarea de la
Secure Hash Algorithm), publicat de Guvernul American n anul 1995.
Aceasta transform un fiier, mai scurt sau mai lung de 160 de bii, ntro secven de 160 de bii. i aceast funcie se utilizeaz la construcia
semnturilor digitale, fiind utilizat n standardul DSS, n algoritmul
DSA. i aceast funcie este prezentat n [3] i n documentul publicat
de NIST intitulat FIPS 180-1.
60
Modulul 3
Bazele matematice ale criptrii
Rezumat
La nceput se prezint tabelele pentru operaiile de
adunare, nmulire i ridicare la putere pe mulimea claselor de
resturi modulo 7.
Se numete funcie indicator, totient, a lui Euler i se
noteaz cu funcia care asociaz lui N numrul de numere
ntregi i pozitive mai mici dect N, relativ prime cu N. Dac N
este prim atunci (N)=N-1. Deci dac modulul N este numr
prim, atunci numrul de elemente inversabile la nmulirea
modulo N este (N).
n
61
Modulul 3
Bazele matematice ale criptrii
62