+ All Categories
Home > Documents > Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni...

Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni...

Date post: 17-May-2020
Category:
Upload: others
View: 27 times
Download: 0 times
Share this document with a friend
21
Algoritmi moderni de criptare
Transcript
Page 1: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Algoritmi moderni de criptare

Page 2: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

2

Page 3: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Două clase de criptări simetrice:1. Coduri stream- algoritmi de criptare care criptează

“caracter cu caracter”

2. Coduri bloc- algoritmi de criptare care împart mesajul ce trebuie criptat în blocuri de dimensiune fixă și criptează un bloc la un moment dat

Page 4: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Algoritmii de tip bloc criptează mesajul in blocuri de n de biţi. Se aplică o funcţie matematică intre un bloc de biţi ai textului clar şi cheie (care poate varia ca mărime), rezultand acelaşi număr de biţi pentru mesajul criptat. Funcţia de criptare este realizată astfel incat să indeplinească următoarele cerinţe:

ştiind un bloc de biţi ai textului clar şi cheia de criptare, sistemul să poată genera rapid un bloc al textului criptat;

ştiind un bloc de biţi ai textului criptat şi cheia de criptare/ decriptare, sistemul să poată genera rapid un bloc al textului clar;

ştiind blocurile textului clar şi ale textului cifrat ale sistemului să fie dificil să se genereze cheia.

4

Page 5: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Reţeaua (cifrul, schema) Feistel

• Algoritmii de tip bloc sunt foarte des folosiţi in criptografia modernă, iar majoritatea algoritmilor tip bloc utilizaţi in criptarea simetrică la ora actuală se bazează pe o structură numită cifru bloc Feistel sau reţea(uneori schema) Feistel

• Reţeaua Feistel este primul criptosistemsimetric modern.

5

Page 6: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• un cifru bloc operează asupra blocurilor de text clar de lungime n biţi pentru a produce un bloc de text cifrat de aceeaşi lungime (n biţi)

• pentru un cifru bloc de substituţie arbitrar de n- biţi, dimensiunea cheii este n·2n.

• pentru un bloc de 64 de biţi, dimensiuneacheii este

64· 264= 270 = 1021 biţi

6

Page 7: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Elementele unui algoritm modern de criptare:1. operaţiile elementare pe biţi (conjuncţii,

disjuncţii, complementări, deplasări, suma modulo 2, permutări, rotaţii etc.),

2. cutiile S, 3. funcţia-ciclu şi 4. în final criptosistemul iterat propriu-zis.

7

Page 8: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Reţelele Feistel – (operaţii repetate - „runde”)• amestecarea de biţi (numită şi permutări pe cutii P)• funcţii simple neliniare (numite si substituţii prin cutii S)• amestecul liniar (în sensul algebrei modulare) utilizând XOR, pentru a produce o funcţie care conţine cantităţi mari de date, numite „confuzie şi difuzie”. Amestecarea de biţi - difuzia, iar substituţia - confuzia.

În criptografie confuzia se referă la crearea unei relaţii complexeîntre cheie şi textul cifrat, iar difuzia este definită ca fiindproprietatea care face ca redundanţa în statisticele textului clarsă fie disipată în statisticele textului cifrat. Difuzia este asociatăcu dependenţa biţilor de la ieşire de biţii de la intrare.

8

Page 9: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Structura codului Feistel

9

Page 10: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Modul de operare al cifrului Feistel este următorul: 1. Împarte textul clar în două blocuri egale (L0, R0) 2. Pentru fiecare rundă i=1,2,...,n, calculează: Li = Ri-1 Ri = Li-1 + f(Ri-1, Ki ), unde f este funcţia, de obicei tot XOR, şi Ki este sub-cheia. Textul cifrat va fi (Ln, Rn) 3. Repeta. Indiferent de natura funcţiei f, descifrarea se face prin: Ri-1 = Li Li-1 = Ri + f(Li , Ki ).

10

Page 11: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Realizarea reţelei Feistel depinde de alegerea următoarelor caracteristici şi parametrii:

• Lungimea blocului: Un bloc de dimensiune mare înseamnă securitate mai mare dar reduce viteza de criptare/decriptare. Un bloc de 64 sau 128 biţi este rezonabil şi este folosit aproape universal de algoritmii care folosesc coduri bloc.

• Lungimea cheii: O cheie de lungime mare sporeşte securitatea dar poate reduce viteza de criptare/decriptare. Chei de 64 biţi sau mai scurte sunt considerate inadecvate în zilele noastre, cheile de 128 sau 256 biţi devenind uzuale.

• Numărul de ture: Esenţa codului Feistel este că o singură tură nu oferă suficientă securitate, turele multiple sporind securitatea. Un număr rezonabil de ture este 16.

11

Page 12: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Algoritmul de generare a subcheii: O complexitate mare a algoritmului conduce la o dificultate mare la criptanaliză.

• Funcţia tură (F): Se poate spune acelaşi lucru ca şi despre algoritmul de generare a subcheii: o complexitate mare a algoritmului conduce la o dificultate mare la criptanaliză.

• Criptare/decriptare software rapidă: În multe cazuri funcţiile de criptare sunt încapsulate în aplicaţii sau utilitare care servesc ca introducere pentru implementarea lor hardware. Astfel viteza execuţiei algoritmului devine de mare interes.

• Analiză uşoară: Acest fapt nu se referă la o criptanaliză uşoară ci la simplitatea analizei modului de funcţionare a algoritmului. Un algoritm uşor de analizat şi de explicat are un avantaj mare, deoarece astfel se pot observa şi corecta mai uşor vulnerabilităţile acestuia, iar îmbunătăţirea ulterioară este mai uşoară.

12

Page 13: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Criptarea și decriptarea algoritmului Feistel

13

Page 14: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• proprietăţiileoperatorului XOR

[ ] [ ]CBACBA ⊕⊕=⊕⊕

0=⊕ DD

EE =⊕ 0

CKP =⊕

• o secvenţă P cu cheia K• Criptare/decriptare

( )PPKKP

KKPKC=⊕=⊕⊕=⊕⊕=⊕

0)(

14

Page 15: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• NBS (National Bureau of Standards) - 1973:1. Observaţie: creşterea accelerată (în volum) a datelor digitaleacumulate şi transferate.2. Participanţi: guvern, industrie, organizaţii din sectorul privat.3. Conţinutul datelor: de multe ori foarte valoros sau secret.4. Tipuri de date “sensibile”:

• transferuri bancare;• cumpărări/vânzări de bunuri;• mandate de arestare/condamnare;• rezervarea locurilor la cursele aeriene;• fişierele din domeniul medical, etc.

Concluzie: îngrijorare în ceea ce priveşte expunerea acestordate la acces şi utilizare neautorizate.

15

Page 16: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Sistemul de criptare DES-Data Encryption StandardSistemul DES este primul standard dedicat protecţiei criptografice a datelor pe calculator. DES este un cifru bloc

16

Page 17: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• algoritmul trebuie să asigure un inalt nivel de securitate;• algoritmul trebuie să fie complet specificat şi simplu de

inţeles;• securitatea algoritmului trebuie să fie asigurată de cheie şi nutrebuie să depindă de păstrarea secretă a algoritmului;• algoritmul trebuie să fie disponibil tuturor utilizatorilor;• algoritmul trebuie să fie adaptabil pentru diverse aplicaţii;• algoritmul trebuie să fie implementabil pe dispozitivele• electronice;• algoritmul trebuie să fie eficient in utilizare;• algoritmul trebuie să poată fi validat;• algoritmul trebuie să fie exportabil

17

Page 18: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• DES a fost adoptat rapid pentru datele de tip analogic, maiales în domeniul telefoniei.

• În acelaşi timp, industria bancară, care este cel mai mareutilizator al algoritmului in SUA, a adoptat DES ca standardpentru criptarea datelor bancare.

• Standardizarea a fost făcută cu ajutorul asociaţieiguvernamentale ANSI (American National Standards Institute)şi adoptată sub numele de X3.92 în 1980.

18

Page 19: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Caracteristici:• lungimea unui bloc este de 64 de biţi;• cheia este pe 64 de biţi dintre care 8 sunt biţi de

paritate;• flexibilitatea implementării şi utilizării în diferite

aplicaţii;• fiecare bloc cifrat este independent de celelalte;

• pentru creşterea securităţii se poate aplica algoritmul T-DES (triplu DES) care constă îniterarea de trei ori a algoritmului DES.

19

Page 20: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

• Construcţia fundamentală a unui bloc DES este o combinaţie unică a două tehnici (o substituţie urmată de o permutare) asupra textului clar, bazată pe cheie.

• Această construcţie este cunoscută ca rundă. Algortimul DES este compus din 16 runde.

• Algoritmul este bazat pe un set de permutări, substituţii şi sumă mod 2, aplicate iterativ de 16 ori, pe un bloc de date de 64 biţi, prin folosirea de fiecare dată a unei chei diferite de 48 biţi, extrase iniţial dintr-o cheie de 56 biţi.

• Datele sunt împărţite în blocuri de 64 biţi şi criptate fără a modifica lungimea lor.

20

Page 21: Algoritmi moderni de criptare - staff.fmi.uvt.rovictoria.iordan/SC/Curs_4.pdf · Algoritmi moderni de criptare . 2 • Două clase de criptări simetrice: 1. Coduri stream- algoritmi

Privit în ansamblu, algoritmul DES este o combinaţie a două tehnici elementare de criptare: confuzie şi difuzie

• Funcția de confuzie caută să facă cât mai complexă relaţia dintre mesajul criptat şi cheia de criptare, efect obţinut prin algoritmi de substituţie complecşi.

• Funcţia de difuzie are rolul de a face relaţia dintre mesajul original şi mesajul criptat cât mai complexă şi de a ascunde informaţia statistică din mesajul criptat. Efectul de difuzie se obţine prin aplicarea unei funcţii în care un bit din mesajul original afectează valoarea mai multor biţi din mesajul criptat

21


Recommended