Sunteți pe pagina 1din 5

FACULTATEA TEHNOLOGII INFORMAȚIONALE ȘI STATISTICĂ ECONOMICĂ

DEPARTAMENTUL INFORMATICA APLICATĂ

Lucrare de laborator Nr.6


La disciplina: Metode criptografice de protecție a informației
Tema: Semnătura Digitală RSA

A elaborat: Pîslaru Vlad


st. gr. TI-201rom (TISE).
Învățământ cu frecvență la zi.

A verificat: Zgureanu Aureliu


conf. univ., dr.

Chișinău 2021
Sarcini de lucru:

Rezolvare:
1. Generatorul de chei.
Generăm două valori prime (p și q) utilizând funcția predefinită Randomprime[{p, q}] în Wolfram
Alpha. Așadar am generat valorile p = 62557702703 / q = 93753129601
Aflăm valoarea parametrului n prin formula n = p * q, rezultatul fiind n=5864980409055187011503.
Ulterior este necesar să aflăm indicatorul Euler care îl vom nota cu (z), iar formula aflării rezultatului
acestuia este:
z = (p-1) * (q-1) = 5864980408898876179200.
În continuare trebuie să aflăm parametrul e, valoarea acestuia se alege la dorință însă acesta trebuie sa
satisfacă următoarea condiție: 1<e<z, într-o altă ordine de idei, alegerea se face astfel încât valoarea
să nu fie divizor al lui (z) Pentru acest parametru putem utiliza Wolfram Alpha cu funcția sa
predefinită FactorInteger(z) și obținem următoarele rezultate:
Divizorii valorii (z) identificați de wolfram alpha.
Printre valorile mai mici observăm lipsa lui 7 ceea ce inseamnă negația valorii de adevăr pentru
divizibilitatea acestuia cu (z). Astfel, personal am ales ca e = 7.
Pentru a afla ultimul parametru până la crearea celor două chei, se cere a se afla parametrul (d),
valoarea acestuia se poate afla utilizând funcția predefinită Powermod(e, -1, z), astfel înlocuid
formula cu valorile noastre obținem: Powermod(7, -1, 5864980408898876179200) și obținem:

Așadar d = 837854344128410882743.

2. Generarea semnăturii.

Utilizând CRC32 transformăm textul (NumelePrenume) PislaruVlad în sistemul numeric hexazecimal


și obținem:

Astfel hash16m = b32a102f


Convertim valoarea hexazecimală într-una decimală utilizând convertorul:
Deci, hash10m = 3005878319
Generăm semnătura utilizând programul wolfram alpha cu funcția sa predefinită:
Powermod[hash10m, d, n] = Powermod[3005878319, 837854344128410882743,
5864980409055187011503] = 446674213026136133714 (semnătura digitală)

3. Verificarea semnăturii.
Pentru a verifica corectitudinea semnăturii avem valoarea hash10m = 3005878319 și cheia publică
(e, n), pentru a o verifica utilizăm formula din wolfra alpha în felul următor:
Powermod[semnatura, e, n] = Powermod[446674213026136133714, 7, 5864980409055187011503] =
3005878319 (valoarea in sistemul decimal)
Convertim valoarea decimala in hexazecimala:

Observăm că valoarea obținută este identică cu cea primită inițial prin instrumentul online CRC32.

Concluzii:
În această lucrare de laborator însușit conceptul și principiul de utilizare al semnăturii digitale
generate prin algoritmul RSA. Am realizat sarcinile propuse în lucrarea de laborator și urmare toate
au fost soluționate cu succes într-un final.

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