Sunteți pe pagina 1din 4

FACULTATEA TEHNOLOGII INFORMAȚIONALE ȘI STATISTICĂ ECONOMICĂ

DEPARTAMENTUL INFORMATICA APLICATĂ

Lucrare de laborator Nr.5


La disciplina: Metode criptografice de protecție a informației
Tema: Criptografia cu chei publice. Algoritmul 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.

1. Algoritmul de criptare.
Conform condiției puse în ghidul lucrării de laborator, mesajul predestinat criptării trebuie să
reprezinte m = NumelePrenumele.
Astfel avem: m = PISLARUVLAD.
Pentru criptarea textului (m) intâi de toate avem nevoie ca acesta să fie transformat în sistemul
decimal al codului ASCII. Utilizând tabelul de valori decimale ASCII obținem următorul șir de
numere: m10 = 080 073 083 076 065 082 085 (PISLARU)/086 076 065 068(VLAD),
(!)utilizând vreun convertor online de Text -> cod ASCII este necesar ca ulterior întregul cod să fie
separat pe perechi a câte 3 valori începând de la sfârșit spre început iar prima valoare să fie
întotdeauna 0.

Pentru a cripta codul obținut utilizăm formula: , însă utilizând Wolfram Alpha creăm
următoarea formulă Powermod(m10, e, n), astfel c = 203902374231488781555
5042988077790075930917
2. Algoritmul de criptare.
Avem textul (m) criptat (c) și se solicită decriptarea acestuia având cheia privată (d, n)
Având: d = 837854344128410882743 / n = 5864980409055187011503 utilizăm formula de
decriptare: însă având la dispoziție Wolfram alpha interpretăm formula în următorul
mod: Powermod(c, d, n), înlocuim valorile în formulă și obținem că m =
80073083076065082085(PISLARU) / 86076065068(VLAD), iar pentru al decripta complet formatăm
șirul complet sub forma codului ASCII și obținem următorul șir:
080 073 083 076 065 082 085 086 076 065 068
Pentru a verifica corectitudinea codului primit utilizăm un online tool pentru a coverti și obținem:

Concluzii:
În realizarea acestei lucrări de laborator am pus în aplicare cunoștințele dobândite în cadrul orelor de
curs. Pe bază de suport alternativ am utilizat câteva instrumente online precum WolframAlpha și două
convertoare de Text -> cod ASCII și invers. Am realizat cu succes codificare în ASCII criptarea și
decriptarea mesajului (NumelePrenumele).

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