Sunteți pe pagina 1din 4

1

1.Algoritmi simetrici (cu cheie secreta)




Nihilist
In istoria criptografiei, cifrul nihilist este un cifru de criptare simetric ce a fost folosit
pentru prima data de catre nihilistii rusi in 1880 in timpul actiunilor impotriva regimului tarist;
termenul este uneori extins la mai muli algoritmi mbuntit mult mai trziu folosit pentru
comunicarea intre seful rebelilor si spionii lui.
-Algoritm
Cifrul nihilist este un cifru cu doi pasi ce foloseste doua chei arbitrar alese, una pentru crearea
mediului de criptare si cealalta pentru criptarea propriu zisa.
->pas 1: Literele din prima cheie sunt folosite pentru a crea o matrice Polybius 5*5. Literele ce
se repeta sunt luate o singura data, iar restul matricei este completata cu literele ramase in
ordine alfabetica . Litera J este inlocuita cu litera I. Fiecarei litere ii corespunde un numar
format din linia si coloana pe care se afla in aceasta matrice
. Cheia nr1: Matricea create din cheia nr1:

M A S T E R






->pas 2: O a doua cheie este data si numerele corespunzatoare literelor ei sunt asociate
conform matricei Polybius. Aceasta cheie poate lipsi, in acest caz folosindu-se pt criptare tot
cheia nr1. La fel si textul in clar; fiecare litera este inlocuita cu numarul asociat linie si coloanei
pe care si afla.




1 2 3 4 5
1 M A S T E
2 R B C D F
3 G H I K L
4 N O P Q U
5 V W X Y Z
2

Cheie nr2: Text in clar:

M I N D
11 33 41 24



Cea de-a doua cheie este scrisa sub textul in clar de cate ori este necesar pentru a ajunge la
lungimea lui. Fiecare caracter al textului cifrat este format din suma pe coloana a textului in clar
si a celei de-a doua chei.
11 15 13 13 12 31 15
11 33 41 24 11 33 41
22 48 54 37 23 64 56



OneTimePad
One-time pad-ul reprezinta de fapt o secventa de litere aleatoare. Aceste litere sunt combinate
cu textul in clar pentru a produce textul cifrat. Pentru a descifra mesajul, o persoana are nevoie
de o copie a acelui one-time pad(a secventei de litere aleatoare) pentru a inversa procesul.
Un one-time pad(secventa de litere) trebuie folosit o singura data(one-time) si apoi distrus;
acesta este primul si singurul algoritm de criptare care a fost demonstrate ca nu a putut fi spart.
-Algoritm
Pentru a cripta mesajul se ia prima litera din textul in clar si se aduna cu prima litera din
cheie(secventa de litere aleatoare). De mentionat ca lungimea cheii trebuie sa fie egala cu
lungimea mesajului. De exemplu avem de criptat litera S (19 in alfabet) si litera
corespunzatoare din cheie este C(3 in alfabet). Aduni aceste numere, 19+3, rezultand numarul
22 din care scazi 1 si rezulta 21 care defapt e U. Fiecare litera e criptata in felul acesta, cu
conditia ca atunci cand numarul suma sare peste Z literele sa o ia de la capat.

Pentru decriptare se procedeaza la fel, doar ca se scade din litera cheie litera textului clar.

Ex.

plaintext : secretmessage
one-time pad: cijthuuhmlfru
ciphertext : umlklngledfxy

M E S S A G E
11 15 13 13 12 31 15
3

2.Algoritmi cu cheie publica (asimetrici)



Diffie-Hellman

Se calculeaz o cheie comun, partajat
Protocol de schimb de cheie simmetric
Se bazeaz pe problema logaritmului discret
Fiind dai ntregii n i g i numrul prim p, s se calculeze k a.. n = g k mod p
Se cunosc soluii pentru p mic
Soluiile nu sunt fezabile computaional pe msur ce p devine mare


Algoritm
Constante cunoscute participanilor
Numrul prim p, ntregii g 0, 1, p1
User1
Alege cheia privat kUser1,
Calculeaz cheia public key KUser1 = g^kUser1 mod p
Pentru a comunica cu User2,
User1 calculeaz Kshared = Kuser2 ^kUser1 mod p

Pentru a comunica cu User1,
User2 calculeaz Kshared = KUser1^kUser2 mod p
Exemplu
n=7,
g=3
Pentru User1 =10
Private Key=10
Public Key=4
Pentru User2 =15
Private Key=15
Public Key=6








4


Schmidt-Samoa
Generarea cheilor publica si privata:
1.Se aleg doua numere prime distincte.
2.Se calculeaza =
2
.
3.Se calculeaza d =
1
modulo cmmmc(p-1,q-1).
N va fi cheia publica. d va fi cheia privata.

Criptarea mesajului(M)
1.Se calculeaza c =

modulo N.
Valoarea c va fi mesajul criptat.

Decriptarea mesajului
1. Se calculeaza M =

modulo p*q.

Securitatea algoritmul Schmidt-Samoa sta in dificultatea de a factoriza modulul N cu un avantaj
in fata RSA (
2
* q ).Criptarea dureaza la fel de mult ca si pentru Rabin sau RSA, in schimb la
decriptare cifrul c trebuie ridicat la puterea d, ceea ce incetineste algoritmul.

Exemplu:

Criptare:


Decriptare: