Aplicație care să implementeze algoritmi de criptare

Proiect
7.5/10 (2 voturi)
Domeniu: Automatică
Conține 1 fișier: doc
Pagini : 14 în total
Cuvinte : 3501
Mărime: 115.68KB (arhivat)
Publicat de: Domnica Olteanu
Puncte necesare: 8

Extras din proiect

Pentru aceasta aplicatie am ales urmatorii 4 algoritmi de criptare: RSA, ElGamal, AES si SHA.

RSA:

Algoritm inventat in 1977 de catre Ron Rivest, Adi Shamir si Leonard Adleman (RSA) bazat pe o cheie publica.

Este folosit in protocoale ca:

-IPSEC/IKE - IP data security

-TLS/SSL - transport data security (web)

-PGP - email security

-SSH - terminal connection security

-SILC - conferencing service security

-Multe altele

Securitatea in RSA este garantata de problema factorizarii.Acest algoritm foloseste numere de peste 1000 de biti lungime.

Pentru implementarea acestui algoritm avem nevoie de:

-Multi precizie aritmetica

-Generator de numere random

-Generator de numere prime

Algoritm propriu zis:

-Generarea cheii

1.generarea a doua numere p si q prime si verificarea daca p!=q

2.Calcularea lui n=pq

3.Calcularea lui Φ=(p-1)(q-1)

4.Alegerea lui e astfel incat 1<e<Φ si e si Φ sa fie prime intre ele

5.Calcularea lui d, d=

6.Cheia publica este {n, e}, cheia privata este d

-Criptarea c = memod n, decriptarea: m = cdmod n

-Semnatura digitala: s = H(m)dmod n, verificare: m' = semod n,daca m' = H(m) semnatura e corecta. H este o functie hash cunoscuta.

Daca cheile nu exista, acestea trebuie generate. Din pacate acest proces cere un timp mare de procesare insa dupa ce sunte generate odata cheile mai pot fi folosite.Primul pas in generare este gasirea a doua numere prime, distincte p si q.Aceste doua numere trebuie sa aiba aceeasi lungime in biti si sa nu fie egale.Se calculeaza n = pq si Φ= (p - 1)(q - 1).

Urmatorul pas este gasirea lui e care impreuna cu n va forma cheia publica. e trebuie sa indeplineasca conditiile: 1<e<Φ si cmmmc(e,Φ)=1.De obicei e este mic insa e de preferat e>16 bit.

Calcularea cheii private, , d= .

Calcularea cheilor private este cea mai importanta parte din algoritmul RSA. Numerele prime trebuie neaparat sa fie prime, altfel algoritmul nu va functiona sau nu e sigur.E important ca e sa nu fie selectat prea mic si , deasemenea ca d sa nu fie calculat prea mic, cu toate ca daca d este mai mic decriptarea este mai rapida.

Criptarea se face intotdeauna cu cheia privata care trebuie sa fie autentica. Mesajul care trebuie criptat ,m, este reprezentat ca un numar, 0<m<n-1. Daca m este mai mare decat n , acesta va fi impartit in blocuri mai mici.

Mesajul criptat , c, va fi c = mod n, unde n si e repreyinta cheia publica, m mesajul de criptat si c este mesajul criptat.

Cheia privata d este folosita pentru decriptare, m = mod n.

ElGamal:

Acest algoritm a fost inventat in 1984 de catre Taher Elgamal. Se bazeaza pe criptarea cu cheie asimetrica.

Algoritmul:

-generarea cheii

-criptarea propriu zisa

-decriptarea

Generarea cheii:

-generareaeficienta a descrierii unui grup ciclic multiplicativ G ce ordin q cu generator g

-alegerea lui x random astfel incat x sa fie din .

-calcularea lui h,

-cheia publica o constituie h,G,q,g iar cheia privata x

Criptarea:

-cheia publica este (G,q,g,h)

-se alege y random din intervalul si apoi se calculeaza

-se calculeaza s, , s nu se pastreaza, se va calcula de fiecare data

-mesajul m se converteste in m’care apartine lui G

-se calculeaza

-textul criptat va fi (c1,c2)

AES:

AES (de la Advanced Encryption Standard - în limba engleză, Standard Avansat de Criptare), cunoscut şi sub numele de Rijndael, este un algoritm standardizat pentru criptarea simetrică, pe blocuri, folosit astăzi pe scară largă în aplicaţii şi adoptat ca standard de organizaţia guvernamentală americană NIST. Standardul oficializează algoritmul dezvoltat de doi criptografi belgieni, Joan Daemen şi Vincent Rijmen şi trimis la NIST pentru selecţie sub numele Rijndael.

Algoritmul

În propunerea avansată NIST, cei doi autori ai algoritmului Rijndael au definit un algoritm de criptare pe blocuri în care lungimea blocului şi a cheii puteau fi independente, de 128 de biţi, 192 de biţi, sau 256 de biţi. Specificaţia AES standardizează toate cele trei dimensiuni posibile pentru lungimea cheii, dar restricţionează lungimea blocului la 128 de biţi. Astfel, intrarea şi ieşirea algoritmilor de criptare şi decriptare este un bloc de 128 de biţi. În publicaţia FIPS numărul 197, operaţiile AES sunt definite sub formă de operaţii pe matrice, unde atât cheia, cât şi blocul sunt scrise sub formă de matrice. La începutul rulării cifrului, blocul este copiat într-un tablou denumit stare (în engleză state), primii patru octeţi pe prima coloană, apoi următorii patru pe a doua coloană, şi tot aşa până la completarea tabloului.

Algoritmul modifică la fiecare pas acest tablou de numere denumit state, şi îl furnizează apoi ca ieşire. Funcţionarea sa este descrisă de următorul pseudocod:

Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])

begin

byte state[4,Nb]

state = in

AddRoundKey(state, w[0, Nb-1])

for round = 1 step 1 to Nr–1

SubBytes(state)

ShiftRows(state)

MixColumns(state)

AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])

end for

SubBytes(state)

ShiftRows(state)

AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])

out = state

end

Aici, Nb este numărul de coloane al stării, în varianta standardizată acesta fiind întotdeauna 4. Se observă din descrierea algoritmului că o anumită secvenţă este realizată iterativ, de un număr de Nr ori. Acest Nr depinde de lungimea cheii şi este 10, 12 sau 14, pentru chei pe 128, 192, respectiv 256 biţi.

Preview document

Aplicație care să implementeze algoritmi de criptare - Pagina 1
Aplicație care să implementeze algoritmi de criptare - Pagina 2
Aplicație care să implementeze algoritmi de criptare - Pagina 3
Aplicație care să implementeze algoritmi de criptare - Pagina 4
Aplicație care să implementeze algoritmi de criptare - Pagina 5
Aplicație care să implementeze algoritmi de criptare - Pagina 6
Aplicație care să implementeze algoritmi de criptare - Pagina 7
Aplicație care să implementeze algoritmi de criptare - Pagina 8
Aplicație care să implementeze algoritmi de criptare - Pagina 9
Aplicație care să implementeze algoritmi de criptare - Pagina 10
Aplicație care să implementeze algoritmi de criptare - Pagina 11
Aplicație care să implementeze algoritmi de criptare - Pagina 12
Aplicație care să implementeze algoritmi de criptare - Pagina 13
Aplicație care să implementeze algoritmi de criptare - Pagina 14

Conținut arhivă zip

  • Aplicatie Care sa Implementeze Algoritmi de Criptare.doc

Alții au mai descărcat și

Modelarea Matlab-Simulink a Unei Sere

Cunoasterea duratei de timp de la semanat pâna la rasaritul plantelor mai are însemnatate si pentru obtinerea unor productii cat mai timpurii. Daca...

Circuite logice secvențiale

In multe aplicatii este nevoie de un element care sa prezinte 2 stari diferite, cu posibilitatea de a trece dintr-o stare in cealalta, fara sau in...

Proiectare conceptuală

Cerintele sistemului operational Odata ce a fost definita nevoia si abordarea tehnica, e necesar sa le tranlatam intr-un “scenariu...

Te-ar putea interesa și

Proiectarea aplicațiilor de comerț electronic - aplicație de food-ordering

Progresele realizate recent în domeniile tehnologie-calculatoare, telecomunicatii si software, precum si în alte domenii ale informatiei, au...

Aspecte generale privind semnăturile digitale

Introducere Problematica semnării digitale Înainte de a putea discuta despre semnătura digitală trebuie să explicăm noţiunea de semnătură şi...

Rolul Criptografiei în Securitatea Comunicațiilor

CAPITOLUL I ROLUL CRIPTOGRAFIEI ÎN SECURITATEA COMUNICATIILOR 1. EVOLUTIA ISTORICA A CRIPTOGRAFIEI Criptografia este stiinta scrierilor...

Manipularea Cecurilor Electronice în Sistemele de Internet Banking

INTRODUCERE Societatea umanã cunoaşte în momentul de faţã una din cele mai profunde transformãri din întreaga ei existenţã, în care informatica...

Protecția datelor - algoritmi de criptre - soluție de securizarea traficului TCP-IP bazată pe criptare

I. INTRODUCERE Istoria criptografiei a început cu mulţi ani în urmă, ea datează de acum circa patru mii de ani. Înca din cele mai vechi timpuri...

Securitate bazelor de date - Oracle

1. Prezentarea sistemului In cadrul unei organizatii, bazele de date reprezinta una din componentele cele mai importante a oricarui sistem...

Algoritmul RSA

1. Introducere Algoritmul RSA a fost publicat pentru prima oară în 1977 de R. Rivest, A. Shamir şi L. Adleman în revista “Scientific American” şi...

Ai nevoie de altceva?