slides crypto1 2013 h

35
Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate Criptografie Curs 1 Anul II Februarie 2013

Upload: clasa-xi-e

Post on 03-Jan-2016

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Criptografie

Curs 1

Anul II

Februarie 2013

Page 2: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Prof. dr. Razvan LITCANU: curs, seminar 121, 122Drd. Andrei CUZUB: seminar 521, 522Lect. dr. Marius APETRII: laborator

Page 3: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Probleme organizatorice

LUCRARE : Saptamana 8 - 12 aprilie1 Lucrare: teorie si exercitii, cursurile 1-6/72 Examen: scris: exercitii din toata materia; oral: teorie cursurile

7-14 (bilete)

Nota finala Nf = (L + AP + ES + EO)/4

CONDITII PROMOVARE EXAMEN:1 prezenta minima: 10 ore seminar, 24 ore laborator2 lucrarea data3 predarea a cel putin 3 teme la seminar, participarea la

proiectele pe echipe propuse la laborator4 nota finala Nf ≥ 55 nota examenul final Ne = (ES + EO)/2 ≥ 5.6 cunoasterea / utilizarea corecta a cunostintelor din lista

urmatoare

http://www.math.uaic.ro/ litcanu/Fise de exercitii.htm

Consultatii: marti 10-11, joi 12-13.

Page 4: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Examenul nu poate fi promovat daca nu secunosc / nu se utilizeaza corect ın exercitii:

Relatia de divizibilitate ın N si ZCriterii de divizibilitate cu 2, 3, 4, 5, 11Notiunea de numar primCel mai mare divizor comun / cel mai mic multiplu comunInelul claselor de resturi modulo n, n ∈ ZAlgoritmul lui EuclidInmultirea matricilorConditii necesare si suficiente pentru ca o matrice sa fieinversabilaInversarea unei matrici 2x2, 3x3, cu elemente din Z,R,C,Zp

Calculul unui determinantRezolvarea unui sistem de 2 sau 3 ecuatii liniareNotiunile de grup, inel, corpEcuatiile dreptei ın plan si spatiu: generale, parametrice,dreapta prin doua puncte, panta unei drepte...

Page 5: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

1 Planul cursului

2 Ce este criptografia?

3 Terminologie

4 Repere istorice

5 Elemente de complexitate a algoritmilor

Page 6: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Planul cursului

1 Notiuni si rezultate de teoria numerelor, algoritmi: baze denumeratie, congruente, divizibilitate, algoritmul lui Euclid,estimari ale timpului de calcul; teste de primalitate; algoritmide factorizare

2 Criptosisteme cu cheie privata: criptosistemul lui Iulius Cezar,criptosisteme afine, matrici de cifrare, criptosistemul Vigenere;DES; Rijndael

3 Criptosisteme cu cheie publica: notiunea de cheie publica,semnatura, functii trapa; logaritmul discret; criptosisteme :RSA, Diffie-Hellman, ElGamal, Massey-Omura,Merkle-Hellman

4 Protocoale criptografice: schimburi de chei, autentificare,secret sharing, secret splitting, semnatura ın grup, pokermental, ...; functii hash

5 Curbe eliptice: Criptosisteme pe curbe eliptice.

Page 7: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Bibliografie

1 Bucataru I.: Aritmetica, note de curs,http://www.math.uaic.ro/ bucataru/

2 Buchmann J.: Introduction to Cryptography, Springer, 2004

3 Koblitz N.: A Course in Number Theory and Cryptography,Springer, 1994

4 Languasco A.; Zaccagnini A.: Introduzione alla Crittografia,Hoepli, Milano, 2004

5 Leoreanu V., Tamas V., Tofan I.: Curs de aritmetica, Edit.Univ. Al. I. Cuza, 2001

6 Menezes A., van Oorschot P., Vanstone, S.: Handbook ofapplied cryptography, http://www.cacr.math.uwaterloo.ca/hac/

Page 8: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Criptografie

Motive pentru a “codifica” informatia:

pentru a o face inaccesibila persoanelor / entitatilorneautorizate criptografie

pentru a detecta si eventual corecta erorile produse in timpultransmiterii teoria codurilor

pentru a o comprima in vederea reducerii spatiului necesarstocarii

CRIPTOGRAFIE: Studiul metodelor si tehnicilor matematicefolosite pentru tratarea informatiei astfel ıncat doar entitatiautorizate sa aiba acces la aceasta.TEORIA CODURILOR: Studiul metodelor si tehnicilormatematice folosite pentru tratarea informatiei astfel ıncat erorileaparute in cursul transmiterii acesteia sa poata fi corectate, iarinformatia initiala sa fie recuperata.

Page 9: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Ce este criptografia?

kryptos + graphein (κρνπτoς + γραφειν)= scriere ascunsa.

Are ın vedere, printre altele, urmatoarele aspecte:

CONFIDENTIALITATEA: O entitate neautorizata nu are accesla informatie.AUTENTIFICAREA: Identificarea entitatii care a emisinformatia si a entitatilor care acceseaza informatia.INTEGRITATEA DATELOR: Identificarea unei eventualemodificari neautorizate a informatiei.NON-REPUDIEREA: O entitate nu poate nega o actiune pecare a ınfaptuit-o anterior.

Page 10: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Aplicatii

comunicatii

securitatea fisierelor, bazelor de date

transfer monetar electronic

comert electronic

semnari contracte

e-mail

parole, PIN

control acces

protocoale de securitate

protectia copyright-ului

Page 11: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Terminologie

Criptografia: Studiul metodelor si tehnicilor matematicefolosite pentru tratarea informatiei astfel ıncat doar entitatiautorizate sa aiba acces la aceasta.

Criptanaliza: Studiul metodelor si tehnicilor matematicefolosite pentru atacul sistemelor criptografice.

Criptologie = criptografie + criptanaliza

Steganografie: Nu numai infomatia este ascunsa, ci si ınsusifaptul ca aceasta a fost transmisa.

Page 12: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Terminologie

Criptare (“encryption”): Succesiune de transformari aleinformatiei ın vederea ascunderii continutului acesteia pentruentitati neautorizate ( cifrare)

Text ın clar (“plaintext”): Mesajul (informatia) ınainte decriptare

Text cifrat (“cyphertext”): Mesajul (informatia) dupa criptare

Decriptare (“decryption”): Succesiune de transformari aletextului cifrat ın vederea reobtinerii textului ın clar

Cheie (“key”): Informatie necesara realizarii actiunii decriptare sau de decriptare

Page 13: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Exemple

Exemplul 1

Text ın clar: AZI ESTE PRIMUL CURSText cifrat: DCL HVWH SULPXO FXUVCheie: 3

Exemplul 2

Text ın clar: AZI ESTE PRIMUL CURSText cifrat: AXY MCFM TZYKIH GIZCCheie: 3

Exemplul 3

Text ın clar: AZI ESTE PRIMUL CURSText cifrat: KCFJIPCIXZVFWYIJGVAWXCheie: KEY

Page 14: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Terminologie

CriptosistemP = multimeamesajelor ın clar

×K = multimeacheilor

f−→C = multimeamesajelor cifrate

C = multimeamesajelor cifrate

×K = multimeacheilor

g−→C = multimeamesajelor ın clar

∀k ∈ K functia m 7→ f (m, k) este injectiva∀k ∈ K , ∃k ′ ∈ K astfel ıncat

m 7→ c := f (m, k) 7→ g(c , k ′) = m

Page 15: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Tipuri de criptosisteme

Criptosistem simetric (cu cheie privata)

Cheia de criptare “=” cheia de decriptare

Criptosistem antisimetric (cu cheie publica)

Cheia de criptare “6=” cheia de decriptare

Page 16: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Inca un exemplu

Exemplul 4

Text ın clar: HELPText cifrat: EBLEZNCheie de criptare (publica): (5063,19)Cheie de decriptare (privata): (5063,259)

Page 17: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Tipuri de atac

Atac: Incercare a unei entitati neautorizate ( “adversar”) de adecripta un text cifrat, fara a cunoaste cheia de decriptare.

Atac pasiv: Adversarul urmareste decriptarea informatiei.

Atac activ: Adversarul urmareste modificarea / ınlocuireainformatiei initiale, furtul de identitate, etc..

Page 18: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Tipuri de atac

Metode de atac:

Cyphertext-only attack: Adversarul are acces la texte cifrate .

Known-plaintext attack: Adversarul are acces la unul sau maimulte texte ın clar si la textele cifrate corespunzatoare.

Chosen-plaintext attack: Adversarul poate cripta texte ın clar,fara a cunoaste cheile.

Adaptative chosen-plaintext attack: Adversarul poate variatextul ın clar pe care ıl cifreaza ın functie de textele cifrateobtinute anterior.

Chosen-cyphertext attack: Adversarul poate decripta dar nucunoaste cheile.

Page 19: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

2000 i.C.: Mormantul lui Khnumhotep II

1500 i.C.: Mesopotamia: semnaturi

800 i.C.: Homer, Iliada, Bellerophon

Page 20: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

600-500 i.C.: Biblie, Cartea lui Ieremia:ATBASH (codul ebraic)

475 i.C.: Scytal. Pasanius, Sparta

50 i.C.: Criptosistemul lui Iulius CezarSuetonius

Page 21: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

Sec. IV: Kama Sutra (Vatsyayana). Cartea 44: Stiinta scrieriiın cifrari secrete.

Sec. VIII-XV: Criptologia araba

Al-Khalil: Cartea mesajelor cifrateAl-Kindi: Scrieri despre descifrarea mesajelor cifrateQalqashandi: Enciclopedie ın 14 volume care include o sectiunede criptologie

Sec. XIII: Roger Bacon (1214-1294)Descrie 7 metode de a cripta mesaje.

Page 22: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1411: Michele Steno, substitutie omofonica

1585:Blaise de VigenereTraite des chiffres

1587: Mary Stuarteste executata ca urmare a descifrarii unor mesaje criptateprin care complota la asasinarea reginei Elisabeta I

Page 23: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1691: Antoine Rossignol“Marele Cifru” al lui Ludovic al XIV-lea (→ 1890).

1840: Samuel Morse (1791-1872)

1843: Edgar Allan Poe“Scorpionul de aur”

Page 24: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1854: Charles Babbage (1791-1871)“Parintele calculatorului”; sparge sistemul lui Vigenere.

1917: 19 ianuarie, decriptarea telegramei lui Zimmerman catreAmbasada Germaniei ın Mexic duce la intrarea SUA ın razboi.

1918: Gilbert Sandford Vernam“One time pad”

Page 25: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1923: Arthur Scherbius . Enigma

1939-1945: Razboiul provoaca o dezvoltare deosebita acriptografiei si criptanalizei.Marian Rejewski (1905-1980), Alan Turing (1912-1954)

Page 26: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1948: Claude Elwood Shannon (1916-2001)Teoria informatiei, A Communications Theory of SecrecySystems

1976: DES (Data Encryption Standard).

1976: Whitfield Diffie (n.1944), Martin Hellman (n.1945):New Directions in Cryptography.

Page 27: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Repere istorice

1977: Ronald L. Rivest (n.1947), Adi Shamir (n.1952),Leonard M. Adleman (n.1945): RSA

2001: Rijndael devine Advanced Encryption Standard (AES)

...

Page 28: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Elemente de complexitate a algoritmilorDefinitie

Fie f , g : N → R+ doua functii. Spunem ca cresterea lui f estemarginita de cea a lui g (sau cresterea lui f este de ordinul lui g),si scriem f = O(g), daca exista o constanta C > 0 astfel ıncatf (x) < C · g(x) pentru orice x .

Exemple: 3n2 − 7n + 10 = O(n2), 15en + 1356n2012 = O(en),ln(n7 + 3n − 4) = O(n), ln(n7 + 3n − 4) = O(ln n).Daca P este un polinom de gradul d , atunci P(n) = O(nd).

f = O(1) este echivalent cu faptul ca f este marginita.

f = O(g) daca si numai daca lim supn→∞f (n)g(n) = C <∞.

Spunem ca f creste polinomial daca exista d ∈ N∗ astfel ıncatf = O(nd).

Spunem ca f creste exponential daca exista d ∈ N∗ astfel ıncatf = O(en

d).

Page 29: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Elemente de complexitate a algoritmilor

Fie n ∈ N, b ∈ N, b ≥ 2. Sa presupunem ca pentru a scrie n ınbaza b sunt necesare k cifre:

n = (εk−1εk−2 . . . ε1ε0)b ; εi ∈ {0, 1, . . . , b − 1} ; εk−1 6= 0}.

Atunci

bk−1 ≤ n < bk ⇔ k − 1 ≤ logb n < k ⇔ k = [logb n] + 1.

Lungimea numarului natural n (scris ın baza b) este

[logb n] + 1 =1

ln b· ln n + 1 = O(ln n).

Page 30: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Elemente de complexitate a algoritmilor

Timpul de calcul al unui algoritm A:Time(A) = numarul de operatii elementare necesare pentruobtinerea output-ului

- exprimat ca functie de lungimea datelor de intrare

- calculat ın situatia cea mai defavorabila.

In practica vom determina ordinul de crestere al functiei Time(A),

Time(A) = O(f )

cu f o functie cu cresterea cat mai mica.

Page 31: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Operatie elementara (binara)

Input: bitii a, b, r . Output: bitii s, r .

a b r s r

0 0 0 0 01 0 0 1 00 1 0 1 00 0 1 1 01 1 0 0 11 0 1 0 10 1 1 0 11 1 1 1 1

Page 32: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Elemente de complexitate a algoritmilor

Exemplu: Fie m si n doua numere naturale, care scrise ın baza 2au cel mult k biti. Fie Ad algoritmul care realizeaza suma celordoua numere. Atunci

Time(Ad) = O(k).

Exercitii: Fie m, n, a numere naturale. Estimati timpul de calculpentru:

ınmultire: m · nridicarea la putere: ma

calculul n!

transformarea n (ın baza 10) −→ n (ın baza a)

Page 33: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Clasificari ale algoritmilor / problemelor

Algoritmi decizionali / probleme de decizie: exista douavariante ale output-ului: DA sau NU (Adevarat sau Fals).Exemplu: teste de primalitate: algoritmi care decid daca unnumar natural este prim sau nu.

Algoritmi computationali / probleme de calcul: scopul esterezolvarea unei probleme de calcul.Exemplu: algoritmi de factorizare: input: n ∈ N; output:factorii primi ai lui n.

Algoritmi / probleme de cautare: scopul este alegerea, dintr-omultime finita (dar foarte mare) de variante, pe cea / celecare ındeplinesc anumite conditii. Solutia (output-ul) poate sanu fie unica.Exemplu: Problema comisului voiajor. Input: un graf finit siun varf fixat A. Output: un circuit de lungime minima carepleaca din A si contine toate varfurile grafului.

Page 34: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Clasificari ale algoritmilor / problemelor

Fie A un algoritm decizional. Fie n o valoare a input-ului (o“instanta a problemei”) si sa presupunem ca algoritmul A verificadaca n are proprietatea P.Un astfel de algoritm decizional poate fi:

Algoritm determinist: daca output-ul este “DA”, atunci cusiguranta n are proprietatea P.

Algoritm probabilistic: daca output-ul este “DA”, atunciprobabil n are proprietatea P, cu o probabilitate p;probabilitatea ca n sa aiba proprietatea P devine cu atat maimare cu cat el trece testul de mai multe ori. Daca dacaoutput-ul este “NU”, atunci cu siguranta n nu areproprietatea P.

Page 35: Slides Crypto1 2013 h

Outline Planul cursului Ce este criptografia? Terminologie Repere istorice Complexitate

Clasificari ale algoritmilor / problemelor

Algoritmi conditionati: corectitudinea algoritmului /raspunsului depinde de demonstrarea unui enunt matematicdespre care se presupune ca e adevarat, dar nu estedemonstrat.

Algoritmi neconditionati: corectitudinea algoritmului /raspunsului se bazeaza pe enunturi si teorii matematicedemonstrate.

Fie k lungimea input-ului algoritmului A.

Algoritmi care functioneaza in timp polinomial:∃d ∈ N∗,Time(A) = O(kd).

Algoritmi care functioneaza in timp exponential:Time(A) 6= O(kd),∀d ∈ N∗;∃d ∈ N∗,Time(A) = O(ek

d).

Algoritmi care functioneaza in timp subexponential.