- prelegerea 17 - prezumpt˘ii criptogra ce di...

99
riptografie ¸ si Securitate - Prelegerea 17 - Prezumpt ¸ii criptografice dificile Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematic˘ si Informatic˘ a Universitatea din Bucure¸ sti

Upload: others

Post on 02-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • riptografie şi Securitate

    - Prelegerea 17 -Prezumpţii criptografice dificile

    Adela Georgescu, Ruxandra F. Olimid

    Facultatea de Matematică şi InformaticăUniversitatea din Bucureşti

  • Cuprins

    1. Numere prime şi factorizare

    2. Problema logaritmului discret

    Criptografie şi Securitate 2/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificileI Criptografia modernă se bazează pe prezumpţia că anumite

    probleme nu pot fi rezolvate ı̂n timp polinomial;

    I Până acum am văzut că schemele de criptare şi deautentificare se bazează pe prezumpţia existenţei permutărilorpseudoaleatoare;

    I Dar această prezumpţie e nenaturală şi foarte puternică;

    I În practică, PRF si PRP pot fi instanţiate cu cifruri bloc;

    I Însă metode pentru a demonstra pseudoaleatorismulconstrucţiilor practice relativ la alte prezumpţii ”mairezonabile” nu se cunosc;

    I Dar e posibil a demonstra existenţa permutărilorpseudoaleatoare pe baza unei prezumpţii mult mai slabe, ceaa existenţei funcţiilor one-way;

    Criptografie şi Securitate 3/29 ,

  • Prezumpţii criptografice dificile

    I În continuare vom introduce câteva probleme considerate”dificile” şi vom prezenta funcţii conjecturate ca fiind one-waybazate pe aceste probleme;

    I Tot materialul ce urmează se bazează pe noţiuni de teorianumerelor;

    I La criptografia simetrică (cu cheie secretă) am văzut primitvecriptografice (i.e. funcţii hash, PRG, PRF, PRP) care pot ficonstruite eficient fără a implica teoria numerelor;

    I La criptografia asimetrică (cu cheie publică) construcţiilecunoscute se bazează pe probleme matematice dificile dinteoria numerelor;

    Criptografie şi Securitate 4/29 ,

  • Prezumpţii criptografice dificile

    I În continuare vom introduce câteva probleme considerate”dificile” şi vom prezenta funcţii conjecturate ca fiind one-waybazate pe aceste probleme;

    I Tot materialul ce urmează se bazează pe noţiuni de teorianumerelor;

    I La criptografia simetrică (cu cheie secretă) am văzut primitvecriptografice (i.e. funcţii hash, PRG, PRF, PRP) care pot ficonstruite eficient fără a implica teoria numerelor;

    I La criptografia asimetrică (cu cheie publică) construcţiilecunoscute se bazează pe probleme matematice dificile dinteoria numerelor;

    Criptografie şi Securitate 4/29 ,

  • Prezumpţii criptografice dificile

    I În continuare vom introduce câteva probleme considerate”dificile” şi vom prezenta funcţii conjecturate ca fiind one-waybazate pe aceste probleme;

    I Tot materialul ce urmează se bazează pe noţiuni de teorianumerelor;

    I La criptografia simetrică (cu cheie secretă) am văzut primitvecriptografice (i.e. funcţii hash, PRG, PRF, PRP) care pot ficonstruite eficient fără a implica teoria numerelor;

    I La criptografia asimetrică (cu cheie publică) construcţiilecunoscute se bazează pe probleme matematice dificile dinteoria numerelor;

    Criptografie şi Securitate 4/29 ,

  • Prezumpţii criptografice dificile

    I În continuare vom introduce câteva probleme considerate”dificile” şi vom prezenta funcţii conjecturate ca fiind one-waybazate pe aceste probleme;

    I Tot materialul ce urmează se bazează pe noţiuni de teorianumerelor;

    I La criptografia simetrică (cu cheie secretă) am văzut primitvecriptografice (i.e. funcţii hash, PRG, PRF, PRP) care pot ficonstruite eficient fără a implica teoria numerelor;

    I La criptografia asimetrică (cu cheie publică) construcţiilecunoscute se bazează pe probleme matematice dificile dinteoria numerelor;

    Criptografie şi Securitate 4/29 ,

  • Primalitate şi factorizare

    I O primă problemă conjecturată ca fiind dificilă este problemafactorizării numerelor ı̂ntregi sau mai simplu problemafactorizării;

    I Fiind dat un număr compus N, problema cere să se găseascădouă numere prime x1 şi x2 pe n biţi aşa ı̂ncât N = x1 · x2;

    I Cele mai greu de factorizat sunt numerele cele care au factoriprimi foarte mari.

    Criptografie şi Securitate 5/29 ,

  • Primalitate şi factorizare

    I O primă problemă conjecturată ca fiind dificilă este problemafactorizării numerelor ı̂ntregi sau mai simplu problemafactorizării;

    I Fiind dat un număr compus N, problema cere să se găseascădouă numere prime x1 şi x2 pe n biţi aşa ı̂ncât N = x1 · x2;

    I Cele mai greu de factorizat sunt numerele cele care au factoriprimi foarte mari.

    Criptografie şi Securitate 5/29 ,

  • Primalitate şi factorizare

    I O primă problemă conjecturată ca fiind dificilă este problemafactorizării numerelor ı̂ntregi sau mai simplu problemafactorizării;

    I Fiind dat un număr compus N, problema cere să se găseascădouă numere prime x1 şi x2 pe n biţi aşa ı̂ncât N = x1 · x2;

    I Cele mai greu de factorizat sunt numerele cele care au factoriprimi foarte mari.

    Criptografie şi Securitate 5/29 ,

  • Primalitate şi factorizare

    ”The problem of distinguishing prime numbers from composite numbers

    and of resolving the latter into their prime factors is known to be one of

    the most important and useful in arithmetic. It has engaged the industry

    and wisdom of ancient and modern geometers to such an extent that it

    would be superfluous to discuss the problem at length... The dignity of

    the science itself seems to require that every possible means be explored

    for the solution of a problem so elegant and so celebrated.”

    (C.F.Gauss 1777 – 1855)

    Criptografie şi Securitate 6/29 ,

  • Generarea numerelor prime

    I Pentru a putea folosi problema ı̂n criptografie, trebuie săgenerăm numere prime aleatoare ı̂n mod eficient;

    I Putem genera un numar prim aleator pe n biţi prin alegerearepetată de numere aleatoare pe n biţi până când găsim unulprim;

    I Pentru eficienţă, ne interesează două aspecte:

    1. probabilitatea ca un număr aleator de n biţi să fie prim;

    2. cum testăm eficient că un număr dat p este prim.

    Criptografie şi Securitate 7/29 ,

  • Generarea numerelor prime

    I Pentru a putea folosi problema ı̂n criptografie, trebuie săgenerăm numere prime aleatoare ı̂n mod eficient;

    I Putem genera un numar prim aleator pe n biţi prin alegerearepetată de numere aleatoare pe n biţi până când găsim unulprim;

    I Pentru eficienţă, ne interesează două aspecte:

    1. probabilitatea ca un număr aleator de n biţi să fie prim;

    2. cum testăm eficient că un număr dat p este prim.

    Criptografie şi Securitate 7/29 ,

  • Generarea numerelor prime

    I Pentru a putea folosi problema ı̂n criptografie, trebuie săgenerăm numere prime aleatoare ı̂n mod eficient;

    I Putem genera un numar prim aleator pe n biţi prin alegerearepetată de numere aleatoare pe n biţi până când găsim unulprim;

    I Pentru eficienţă, ne interesează două aspecte:

    1. probabilitatea ca un număr aleator de n biţi să fie prim;

    2. cum testăm eficient că un număr dat p este prim.

    Criptografie şi Securitate 7/29 ,

  • Generarea numerelor prime

    I Pentru a putea folosi problema ı̂n criptografie, trebuie săgenerăm numere prime aleatoare ı̂n mod eficient;

    I Putem genera un numar prim aleator pe n biţi prin alegerearepetată de numere aleatoare pe n biţi până când găsim unulprim;

    I Pentru eficienţă, ne interesează două aspecte:

    1. probabilitatea ca un număr aleator de n biţi să fie prim;

    2. cum testăm eficient că un număr dat p este prim.

    Criptografie şi Securitate 7/29 ,

  • Generarea numerelor prime

    I Pentru a putea folosi problema ı̂n criptografie, trebuie săgenerăm numere prime aleatoare ı̂n mod eficient;

    I Putem genera un numar prim aleator pe n biţi prin alegerearepetată de numere aleatoare pe n biţi până când găsim unulprim;

    I Pentru eficienţă, ne interesează două aspecte:

    1. probabilitatea ca un număr aleator de n biţi să fie prim;

    2. cum testăm eficient că un număr dat p este prim.

    Criptografie şi Securitate 7/29 ,

  • Generarea numerelor prime

    I Pentru distribuţia numerelor prime, se cunoaşte următorulrezultat matematic:

    Teoremă

    Există o constantă c aşa ı̂ncât, pentru orice n > 1 numărul denumere prime pe n biţi este cel puţin c · 2n−1/n

    I Rezultă imediat că probabilitatea ca un numar ales aleator pen biţi să fie prim este cel putin c/n;

    I Iar dacă testăm t = n2/c numere, probabilitatea ca un numărprim să nu fie ales este (1− c/n)t , adică cel mult e−n, decineglijabilă.

    Criptografie şi Securitate 8/29 ,

  • Generarea numerelor prime

    I Pentru distribuţia numerelor prime, se cunoaşte următorulrezultat matematic:

    Teoremă

    Există o constantă c aşa ı̂ncât, pentru orice n > 1 numărul denumere prime pe n biţi este cel puţin c · 2n−1/n

    I Rezultă imediat că probabilitatea ca un numar ales aleator pen biţi să fie prim este cel putin c/n;

    I Iar dacă testăm t = n2/c numere, probabilitatea ca un numărprim să nu fie ales este (1− c/n)t , adică cel mult e−n, decineglijabilă.

    Criptografie şi Securitate 8/29 ,

  • Generarea numerelor prime

    I Pentru distribuţia numerelor prime, se cunoaşte următorulrezultat matematic:

    Teoremă

    Există o constantă c aşa ı̂ncât, pentru orice n > 1 numărul denumere prime pe n biţi este cel puţin c · 2n−1/n

    I Rezultă imediat că probabilitatea ca un numar ales aleator pen biţi să fie prim este cel putin c/n;

    I Iar dacă testăm t = n2/c numere, probabilitatea ca un numărprim să nu fie ales este (1− c/n)t , adică cel mult e−n, decineglijabilă.

    Criptografie şi Securitate 8/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    I Cei mai eficienţi algoritmi sunt probabilişti:

    I Dacă numărul p dat este prim atunci algoritmul ı̂ntotdeaunaı̂ntoarce rezultatul prim;

    I Dacă p este compus, atunci cu probabilitate mare algoritmulva ı̂ntoarce compus;

    I Concluzie: dacă outputul este compus, atunci p sigur estecompus, dacă outputul este prim, atunci cu probabilitate marep este prim dar este posibil şi să se fi produs o eroare;

    I Un algoritm determinist polinomial a fost propus ı̂n 2002, dareste mai lent decât algoritmii probabilişti;

    I Prezentăm un algoritm probabilist foarte răspândit:Miller-Rabin.

    Criptografie şi Securitate 9/29 ,

  • Testarea primalităţii

    Algorithm 1 Algoritmul Miller-Rabin

    Input: N , tOutput: o decizie dacă N este compus sau nu1: if N este par sau N = N1

    2 then2: return ”compus”3: end if4: compute r ≥ 1 şi u impar a.̂ı. N − 1 = 2ru5: for j = 1 to t do6: a← {1, ...,N − 1}7: if (gcd(a,N) 6= 1) or (au 6= ±1 mod N and a2iu 6= −1 mod

    N, pentru orice i ∈ {1, ..., r − 1}) then8: return ”compus”9: end if

    10: end for11: return ”prim”

    Criptografie şi Securitate 10/29 ,

  • Algoritmul Miller-Rabin

    I Acceptă la intrare un numar N şi un parametru t caredetermină probabilitatea de eroare;

    I Rulează ı̂n timp polinomial ı̂n |N| şi t şi satisface:

    Teoremă

    Dacă N este prim, atunci testul Miller-Rabin ı̂ntoarce mereu”prim”. Dacă N este compus, algoritmul ı̂ntoarce ”prim” cuprobabilitate cel mult 2−t (i.e. ı̂ntoarce rezultatul corect ”compus”cu probabilitate 1− 2−t)

    Criptografie şi Securitate 11/29 ,

  • Algoritmul Miller-Rabin

    I Acceptă la intrare un numar N şi un parametru t caredetermină probabilitatea de eroare;

    I Rulează ı̂n timp polinomial ı̂n |N| şi t şi satisface:

    Teoremă

    Dacă N este prim, atunci testul Miller-Rabin ı̂ntoarce mereu”prim”. Dacă N este compus, algoritmul ı̂ntoarce ”prim” cuprobabilitate cel mult 2−t (i.e. ı̂ntoarce rezultatul corect ”compus”cu probabilitate 1− 2−t)

    Criptografie şi Securitate 11/29 ,

  • Algoritmul Miller-Rabin

    I Acceptă la intrare un numar N şi un parametru t caredetermină probabilitatea de eroare;

    I Rulează ı̂n timp polinomial ı̂n |N| şi t şi satisface:

    Teoremă

    Dacă N este prim, atunci testul Miller-Rabin ı̂ntoarce mereu”prim”. Dacă N este compus, algoritmul ı̂ntoarce ”prim” cuprobabilitate cel mult 2−t (i.e. ı̂ntoarce rezultatul corect ”compus”cu probabilitate 1− 2−t)

    Criptografie şi Securitate 11/29 ,

  • Algoritmul Miller-Rabin

    I Ne ı̂ntoarcem la problema generării eficiente a numerelorprime;

    I Folosim algoritmul Miller-Rabin pentru a descrie un algoritmpolinomial de generare a numerelor prime;

    I Pentru o intrare n, ı̂ntoarce un număr aleator pe n biţi careeste prim cu excepţia unei probabilităţi neglijabile ı̂n n.

    Criptografie şi Securitate 12/29 ,

  • Algoritmul Miller-Rabin

    I Ne ı̂ntoarcem la problema generării eficiente a numerelorprime;

    I Folosim algoritmul Miller-Rabin pentru a descrie un algoritmpolinomial de generare a numerelor prime;

    I Pentru o intrare n, ı̂ntoarce un număr aleator pe n biţi careeste prim cu excepţia unei probabilităţi neglijabile ı̂n n.

    Criptografie şi Securitate 12/29 ,

  • Algoritmul Miller-Rabin

    I Ne ı̂ntoarcem la problema generării eficiente a numerelorprime;

    I Folosim algoritmul Miller-Rabin pentru a descrie un algoritmpolinomial de generare a numerelor prime;

    I Pentru o intrare n, ı̂ntoarce un număr aleator pe n biţi careeste prim cu excepţia unei probabilităţi neglijabile ı̂n n.

    Criptografie şi Securitate 12/29 ,

  • Algoritmul de generare a numerelor prime

    Algorithm 2 Algoritmul de generare a numerelor prime

    Input: nOutput: Un număr aleator prim pe n biţi1: for i = 1 to n2/c do2: p′ ← {0, 1}n−13: p = 1||p′4: execută testul Miller-Rabin pentru p cu parametrul n5: if output = ”prim” then6: return p7: end if8: end for9: return eşec

    Criptografie şi Securitate 13/29 ,

  • Algoritmi de factorizare

    I Deocamdată nu se cunosc algoritmi polinomiali pentruproblema factorizării;

    I Dar există algoritmi mult mai buni decât forţa brută;

    I Prezentăm ı̂n continuare câţiva algoritmi de factorizare.

    Criptografie şi Securitate 14/29 ,

  • Algoritmi de factorizare

    I Deocamdată nu se cunosc algoritmi polinomiali pentruproblema factorizării;

    I Dar există algoritmi mult mai buni decât forţa brută;

    I Prezentăm ı̂n continuare câţiva algoritmi de factorizare.

    Criptografie şi Securitate 14/29 ,

  • Algoritmi de factorizare

    I Deocamdată nu se cunosc algoritmi polinomiali pentruproblema factorizării;

    I Dar există algoritmi mult mai buni decât forţa brută;

    I Prezentăm ı̂n continuare câţiva algoritmi de factorizare.

    Criptografie şi Securitate 14/29 ,

  • Algoritmi de factorizare

    I Reamintim: Fiind dat un număr compus N, problemafactorizării cere să se găsească 2 numere prime p şi q a.̂ı.N = pq;

    I Considerăm |p| = |q| = n şi deci n = O(log N);

    I Metoda cea mai simplă este ı̂mpărţirea numărului N prin toate

    numerele p impare din intervalul p = 3, ...,⌊√

    N⌋

    .

    I Complexitatea timp este O(√

    N · (log N)c) unde c este oconstantă;

    I Pentru N < 1012 metoda este destul de eficientă.

    Criptografie şi Securitate 15/29 ,

  • Algoritmi de factorizare

    I Reamintim: Fiind dat un număr compus N, problemafactorizării cere să se găsească 2 numere prime p şi q a.̂ı.N = pq;

    I Considerăm |p| = |q| = n şi deci n = O(log N);

    I Metoda cea mai simplă este ı̂mpărţirea numărului N prin toate

    numerele p impare din intervalul p = 3, ...,⌊√

    N⌋

    .

    I Complexitatea timp este O(√

    N · (log N)c) unde c este oconstantă;

    I Pentru N < 1012 metoda este destul de eficientă.

    Criptografie şi Securitate 15/29 ,

  • Algoritmi de factorizare

    I Reamintim: Fiind dat un număr compus N, problemafactorizării cere să se găsească 2 numere prime p şi q a.̂ı.N = pq;

    I Considerăm |p| = |q| = n şi deci n = O(log N);

    I Metoda cea mai simplă este ı̂mpărţirea numărului N prin toate

    numerele p impare din intervalul p = 3, ...,⌊√

    N⌋

    .

    I Complexitatea timp este O(√

    N · (log N)c) unde c este oconstantă;

    I Pentru N < 1012 metoda este destul de eficientă.

    Criptografie şi Securitate 15/29 ,

  • Algoritmi de factorizare

    I Reamintim: Fiind dat un număr compus N, problemafactorizării cere să se găsească 2 numere prime p şi q a.̂ı.N = pq;

    I Considerăm |p| = |q| = n şi deci n = O(log N);

    I Metoda cea mai simplă este ı̂mpărţirea numărului N prin toate

    numerele p impare din intervalul p = 3, ...,⌊√

    N⌋

    .

    I Complexitatea timp este O(√

    N · (log N)c) unde c este oconstantă;

    I Pentru N < 1012 metoda este destul de eficientă.

    Criptografie şi Securitate 15/29 ,

  • Algoritmi de factorizare

    I Reamintim: Fiind dat un număr compus N, problemafactorizării cere să se găsească 2 numere prime p şi q a.̂ı.N = pq;

    I Considerăm |p| = |q| = n şi deci n = O(log N);

    I Metoda cea mai simplă este ı̂mpărţirea numărului N prin toate

    numerele p impare din intervalul p = 3, ...,⌊√

    N⌋

    .

    I Complexitatea timp este O(√

    N · (log N)c) unde c este oconstantă;

    I Pentru N < 1012 metoda este destul de eficientă.

    Criptografie şi Securitate 15/29 ,

  • Algoritmi de factorizare

    I Există ı̂nsă algoritmi mai sofisticaţi, cu timp de execuţie maibun, ı̂ntre care:

    I Metoda Pollard p− 1: funcţionează atunci când p − 1 arefactori primi ”mici”;

    I Metoda Pollard rho: timpul de execuţie esteO(N1/4 · (log N)c);

    I Algoritmul sitei pătratice - rulează ı̂n timp sub-exponenţialı̂n lungimea lui N.

    I Deocamdată, cel mai rapid algoritm de factorizare este oı̂mbunătăţire a sitei pătratice care factorizează un număr N delungime O(n) ı̂n timp 2O(n

    1/3·(log n)2/3).

    Criptografie şi Securitate 16/29 ,

  • Algoritmi de factorizare

    I Există ı̂nsă algoritmi mai sofisticaţi, cu timp de execuţie maibun, ı̂ntre care:

    I Metoda Pollard p− 1: funcţionează atunci când p − 1 arefactori primi ”mici”;

    I Metoda Pollard rho: timpul de execuţie esteO(N1/4 · (log N)c);

    I Algoritmul sitei pătratice - rulează ı̂n timp sub-exponenţialı̂n lungimea lui N.

    I Deocamdată, cel mai rapid algoritm de factorizare este oı̂mbunătăţire a sitei pătratice care factorizează un număr N delungime O(n) ı̂n timp 2O(n

    1/3·(log n)2/3).

    Criptografie şi Securitate 16/29 ,

  • Algoritmi de factorizare

    I Există ı̂nsă algoritmi mai sofisticaţi, cu timp de execuţie maibun, ı̂ntre care:

    I Metoda Pollard p− 1: funcţionează atunci când p − 1 arefactori primi ”mici”;

    I Metoda Pollard rho: timpul de execuţie esteO(N1/4 · (log N)c);

    I Algoritmul sitei pătratice - rulează ı̂n timp sub-exponenţialı̂n lungimea lui N.

    I Deocamdată, cel mai rapid algoritm de factorizare este oı̂mbunătăţire a sitei pătratice care factorizează un număr N delungime O(n) ı̂n timp 2O(n

    1/3·(log n)2/3).

    Criptografie şi Securitate 16/29 ,

  • Algoritmi de factorizare

    I Există ı̂nsă algoritmi mai sofisticaţi, cu timp de execuţie maibun, ı̂ntre care:

    I Metoda Pollard p− 1: funcţionează atunci când p − 1 arefactori primi ”mici”;

    I Metoda Pollard rho: timpul de execuţie esteO(N1/4 · (log N)c);

    I Algoritmul sitei pătratice - rulează ı̂n timp sub-exponenţialı̂n lungimea lui N.

    I Deocamdată, cel mai rapid algoritm de factorizare este oı̂mbunătăţire a sitei pătratice care factorizează un număr N delungime O(n) ı̂n timp 2O(n

    1/3·(log n)2/3).

    Criptografie şi Securitate 16/29 ,

  • Algoritmi de factorizare

    I Există ı̂nsă algoritmi mai sofisticaţi, cu timp de execuţie maibun, ı̂ntre care:

    I Metoda Pollard p− 1: funcţionează atunci când p − 1 arefactori primi ”mici”;

    I Metoda Pollard rho: timpul de execuţie esteO(N1/4 · (log N)c);

    I Algoritmul sitei pătratice - rulează ı̂n timp sub-exponenţialı̂n lungimea lui N.

    I Deocamdată, cel mai rapid algoritm de factorizare este oı̂mbunătăţire a sitei pătratice care factorizează un număr N delungime O(n) ı̂n timp 2O(n

    1/3·(log n)2/3).

    Criptografie şi Securitate 16/29 ,

  • Algoritmul sitei pătratice

    I Un element y ∈ Z∗p este rest pătratic modulo p dacă ∃x ∈ Z∗pa.̂ı.

    x2 = y mod p

    I x se numeşte rădăcina pătratică a lui y;

    I Algoritmul se bazează pe două observaţii simple:

    1. Dacă N = pq cu p, q prime distincte, atunci fiecare restpătratic modulo N are exact 4 rădăcini pătratice diferite;

    2. Dacă se pot afla x , y cu x2 = y 2 mod N si x 6= ±y mod N,atunci gcd(x − y ,N) este un factor prim al lui N calculabil ı̂ntimp polinomial;

    Criptografie şi Securitate 17/29 ,

  • Algoritmul sitei pătratice

    I Un element y ∈ Z∗p este rest pătratic modulo p dacă ∃x ∈ Z∗pa.̂ı.

    x2 = y mod p

    I x se numeşte rădăcina pătratică a lui y;

    I Algoritmul se bazează pe două observaţii simple:

    1. Dacă N = pq cu p, q prime distincte, atunci fiecare restpătratic modulo N are exact 4 rădăcini pătratice diferite;

    2. Dacă se pot afla x , y cu x2 = y 2 mod N si x 6= ±y mod N,atunci gcd(x − y ,N) este un factor prim al lui N calculabil ı̂ntimp polinomial;

    Criptografie şi Securitate 17/29 ,

  • Algoritmul sitei pătratice

    I Un element y ∈ Z∗p este rest pătratic modulo p dacă ∃x ∈ Z∗pa.̂ı.

    x2 = y mod p

    I x se numeşte rădăcina pătratică a lui y;

    I Algoritmul se bazează pe două observaţii simple:

    1. Dacă N = pq cu p, q prime distincte, atunci fiecare restpătratic modulo N are exact 4 rădăcini pătratice diferite;

    2. Dacă se pot afla x , y cu x2 = y 2 mod N si x 6= ±y mod N,atunci gcd(x − y ,N) este un factor prim al lui N calculabil ı̂ntimp polinomial;

    Criptografie şi Securitate 17/29 ,

  • Algoritmul sitei pătratice

    I Un element y ∈ Z∗p este rest pătratic modulo p dacă ∃x ∈ Z∗pa.̂ı.

    x2 = y mod p

    I x se numeşte rădăcina pătratică a lui y;

    I Algoritmul se bazează pe două observaţii simple:

    1. Dacă N = pq cu p, q prime distincte, atunci fiecare restpătratic modulo N are exact 4 rădăcini pătratice diferite;

    2. Dacă se pot afla x , y cu x2 = y 2 mod N si x 6= ±y mod N,atunci gcd(x − y ,N) este un factor prim al lui N calculabil ı̂ntimp polinomial;

    Criptografie şi Securitate 17/29 ,

  • Algoritmul sitei pătratice

    I Un element y ∈ Z∗p este rest pătratic modulo p dacă ∃x ∈ Z∗pa.̂ı.

    x2 = y mod p

    I x se numeşte rădăcina pătratică a lui y;

    I Algoritmul se bazează pe două observaţii simple:

    1. Dacă N = pq cu p, q prime distincte, atunci fiecare restpătratic modulo N are exact 4 rădăcini pătratice diferite;

    2. Dacă se pot afla x , y cu x2 = y 2 mod N si x 6= ±y mod N,atunci gcd(x − y ,N) este un factor prim al lui N calculabil ı̂ntimp polinomial;

    Criptografie şi Securitate 17/29 ,

  • Algoritmul sitei pătratice

    I Algoritmul ı̂ncearcă să genereze o pereche de valori x , y a.̂ı.x2 = y 2 mod N, ı̂n speranţa că x 6= ±y mod N cuprobabilitate constantă; căutarea se desfăşoară astfel:

    I Se fixează o bază B = {p1, ..., pk} de numere prime mici;

    I Se caută l > k numere distincte x1, ..., xl ∈ Z∗N pentru careqi = [x

    2i mod N] este ”mic” aşa ı̂ncât toţi factorii primi ai lui

    qi se găsesc ı̂n B;

    I Vor rezulta relaţii de forma

    x2j = pej,11 · p

    ej,22 · · · · · p

    ej,kk mod N

    unde 1 ≤ j ≤ k.

    Criptografie şi Securitate 18/29 ,

  • Algoritmul sitei pătratice

    I Algoritmul ı̂ncearcă să genereze o pereche de valori x , y a.̂ı.x2 = y 2 mod N, ı̂n speranţa că x 6= ±y mod N cuprobabilitate constantă; căutarea se desfăşoară astfel:

    I Se fixează o bază B = {p1, ..., pk} de numere prime mici;

    I Se caută l > k numere distincte x1, ..., xl ∈ Z∗N pentru careqi = [x

    2i mod N] este ”mic” aşa ı̂ncât toţi factorii primi ai lui

    qi se găsesc ı̂n B;

    I Vor rezulta relaţii de forma

    x2j = pej,11 · p

    ej,22 · · · · · p

    ej,kk mod N

    unde 1 ≤ j ≤ k.

    Criptografie şi Securitate 18/29 ,

  • Algoritmul sitei pătratice

    I Algoritmul ı̂ncearcă să genereze o pereche de valori x , y a.̂ı.x2 = y 2 mod N, ı̂n speranţa că x 6= ±y mod N cuprobabilitate constantă; căutarea se desfăşoară astfel:

    I Se fixează o bază B = {p1, ..., pk} de numere prime mici;

    I Se caută l > k numere distincte x1, ..., xl ∈ Z∗N pentru careqi = [x

    2i mod N] este ”mic” aşa ı̂ncât toţi factorii primi ai lui

    qi se găsesc ı̂n B;

    I Vor rezulta relaţii de forma

    x2j = pej,11 · p

    ej,22 · · · · · p

    ej,kk mod N

    unde 1 ≤ j ≤ k.

    Criptografie şi Securitate 18/29 ,

  • Algoritmul sitei pătratice

    I Algoritmul ı̂ncearcă să genereze o pereche de valori x , y a.̂ı.x2 = y 2 mod N, ı̂n speranţa că x 6= ±y mod N cuprobabilitate constantă; căutarea se desfăşoară astfel:

    I Se fixează o bază B = {p1, ..., pk} de numere prime mici;

    I Se caută l > k numere distincte x1, ..., xl ∈ Z∗N pentru careqi = [x

    2i mod N] este ”mic” aşa ı̂ncât toţi factorii primi ai lui

    qi se găsesc ı̂n B;

    I Vor rezulta relaţii de forma

    x2j = pej,11 · p

    ej,22 · · · · · p

    ej,kk mod N

    unde 1 ≤ j ≤ k.

    Criptografie şi Securitate 18/29 ,

  • Algoritmul sitei pătratice

    I Pentru fiecare j se consideră vectorul:ej = (ej ,1 mod 2, ..., ej ,k mod 2)

    I Dacă se poate determina o submulţime formată din astfel devectori, a căror suma modulo 2 să fie (0,0,...,0), atuncipătratul produsului elementelor xj corespunzătoare va avea ı̂nB toţi divizorii reprezentaţi de un număr par de ori.

    I Se poate arăta că algoritmul optimizat rulează ı̂n timp2O(√n·logn) pentru factorizarea unui număr N de lungime

    O(n), deci sub-exponenţial ı̂n lungimea lui N.

    Criptografie şi Securitate 19/29 ,

  • Algoritmul sitei pătratice

    I Pentru fiecare j se consideră vectorul:ej = (ej ,1 mod 2, ..., ej ,k mod 2)

    I Dacă se poate determina o submulţime formată din astfel devectori, a căror suma modulo 2 să fie (0,0,...,0), atuncipătratul produsului elementelor xj corespunzătoare va avea ı̂nB toţi divizorii reprezentaţi de un număr par de ori.

    I Se poate arăta că algoritmul optimizat rulează ı̂n timp2O(√n·logn) pentru factorizarea unui număr N de lungime

    O(n), deci sub-exponenţial ı̂n lungimea lui N.

    Criptografie şi Securitate 19/29 ,

  • Algoritmul sitei pătratice

    I Pentru fiecare j se consideră vectorul:ej = (ej ,1 mod 2, ..., ej ,k mod 2)

    I Dacă se poate determina o submulţime formată din astfel devectori, a căror suma modulo 2 să fie (0,0,...,0), atuncipătratul produsului elementelor xj corespunzătoare va avea ı̂nB toţi divizorii reprezentaţi de un număr par de ori.

    I Se poate arăta că algoritmul optimizat rulează ı̂n timp2O(√n·logn) pentru factorizarea unui număr N de lungime

    O(n), deci sub-exponenţial ı̂n lungimea lui N.

    Criptografie şi Securitate 19/29 ,

  • Exemplu

    I Fie N = 377753. Se ştie că 6647 = [6202 mod N] şi putemfactoriza

    6647 = 172 · 23

    I Deci:6202 = 172 · 23 mod N

    I Similar:6212 = 24 · 17 · 29 mod N

    6452 = 27 · 13 · 23 mod N

    6552 = 23 · 13 · 27 · 29 mod N

    I Baza de numere prime mici este:

    B = {2, 13, 17, 23, 29}

    Criptografie şi Securitate 20/29 ,

  • Exemplu

    I Fie N = 377753. Se ştie că 6647 = [6202 mod N] şi putemfactoriza

    6647 = 172 · 23

    I Deci:6202 = 172 · 23 mod N

    I Similar:6212 = 24 · 17 · 29 mod N

    6452 = 27 · 13 · 23 mod N

    6552 = 23 · 13 · 27 · 29 mod N

    I Baza de numere prime mici este:

    B = {2, 13, 17, 23, 29}

    Criptografie şi Securitate 20/29 ,

  • Exemplu

    I Fie N = 377753. Se ştie că 6647 = [6202 mod N] şi putemfactoriza

    6647 = 172 · 23

    I Deci:6202 = 172 · 23 mod N

    I Similar:6212 = 24 · 17 · 29 mod N

    6452 = 27 · 13 · 23 mod N

    6552 = 23 · 13 · 27 · 29 mod N

    I Baza de numere prime mici este:

    B = {2, 13, 17, 23, 29}

    Criptografie şi Securitate 20/29 ,

  • Exemplu

    I Fie N = 377753. Se ştie că 6647 = [6202 mod N] şi putemfactoriza

    6647 = 172 · 23

    I Deci:6202 = 172 · 23 mod N

    I Similar:6212 = 24 · 17 · 29 mod N

    6452 = 27 · 13 · 23 mod N

    6552 = 23 · 13 · 27 · 29 mod N

    I Baza de numere prime mici este:

    B = {2, 13, 17, 23, 29}

    Criptografie şi Securitate 20/29 ,

  • Exemplu

    I Obţinem:

    6202 · 6212 · 6452 · 6552 = 214 · 132 · 174 · 232 · 292 mod N

    [620 · 621 · 645 · 655 mod N]2 = [27 · 13 · 172 · 23 · 29 mod N]2 mod N

    I Toţi exponenţii sunt pari!

    I După efectuarea calculelor:

    ⇒ 1271942 = 453352 mod N

    I Cum 127194 6= 45335 mod N, se calculează un factor prim allui N:

    gcd(127194− 45335, 377753) = 751

    Criptografie şi Securitate 21/29 ,

  • Exemplu

    I Obţinem:

    6202 · 6212 · 6452 · 6552 = 214 · 132 · 174 · 232 · 292 mod N

    [620 · 621 · 645 · 655 mod N]2 = [27 · 13 · 172 · 23 · 29 mod N]2 mod N

    I Toţi exponenţii sunt pari!

    I După efectuarea calculelor:

    ⇒ 1271942 = 453352 mod N

    I Cum 127194 6= 45335 mod N, se calculează un factor prim allui N:

    gcd(127194− 45335, 377753) = 751

    Criptografie şi Securitate 21/29 ,

  • Exemplu

    I Obţinem:

    6202 · 6212 · 6452 · 6552 = 214 · 132 · 174 · 232 · 292 mod N

    [620 · 621 · 645 · 655 mod N]2 = [27 · 13 · 172 · 23 · 29 mod N]2 mod N

    I Toţi exponenţii sunt pari!

    I După efectuarea calculelor:

    ⇒ 1271942 = 453352 mod N

    I Cum 127194 6= 45335 mod N, se calculează un factor prim allui N:

    gcd(127194− 45335, 377753) = 751

    Criptografie şi Securitate 21/29 ,

  • Exemplu

    I Obţinem:

    6202 · 6212 · 6452 · 6552 = 214 · 132 · 174 · 232 · 292 mod N

    [620 · 621 · 645 · 655 mod N]2 = [27 · 13 · 172 · 23 · 29 mod N]2 mod N

    I Toţi exponenţii sunt pari!

    I După efectuarea calculelor:

    ⇒ 1271942 = 453352 mod N

    I Cum 127194 6= 45335 mod N, se calculează un factor prim allui N:

    gcd(127194− 45335, 377753) = 751

    Criptografie şi Securitate 21/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I În 1991, Laboratoarele RSA lansează RSA Challenge;

    I Aceasta presupune factorizarea unor numere N, undeN = p · q, cu p, q 2 numere prime mari;

    I Au fost lansate mai multe provocări, câte 1 pentru fiecaredimensiune (̂ın biţi) a lui N:

    I Exemple includ: RSA-576, RSA-640, RSA-768, · · · ,RSA-1024, RSA-1536, RSA-2048;

    I Provocarea s-a ı̂ncheiat oficial ı̂n 2007;

    I Multe provocări au fost sparte ı̂n cursul anilor (chiar şi ulteriorı̂nchiderii oficiale), ı̂nsă există numere ı̂ncă nefactorizate:

    Criptografie şi Securitate 22/29 ,

  • RSA Challenge

    I RSA-1024135066410865995223349603216278805969938881475605667027524485143851526510604859533833940287150571909441798207282164471551373680419703964191743046496589274256239341020864383202110372958725762358509643110564073501508187510676594629205563685529475213500852879416377328533906109750544334999811150056977236890927563

    [http://www.emc.com/emc-plus/rsa-labs/historical/

    the-rsa-challenge-numbers.htm]

    Criptografie şi Securitate 23/29 ,

    [http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-challenge-numbers.htm[http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-challenge-numbers.htm

  • RSA Challenge

    I RSA-204825195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357

    [http://www.emc.com/emc-plus/rsa-labs/historical/

    the-rsa-challenge-numbers.htm]

    Criptografie şi Securitate 24/29 ,

    [http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-challenge-numbers.htm[http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-challenge-numbers.htm

  • Prezumpţia logaritmului discret

    I O altă prezumţie dificilă este DLP (Discrete LogarithmProblem) (sau PLD (Problema Logaritmului Discret));

    I Considerăm G un grup ciclic de ordin q;

    I Există un generator g ∈ G a.̂ı. G = {g 0, g 1, ..., gq−1};

    I Echivalent, pentru fiecare h ∈ G există un unic x ∈ Zq a.̂ı.g x = h;

    I x se numeşte logaritmul discret al lui h ı̂n raport cu g şi senotează

    x = logg h

    Criptografie şi Securitate 25/29 ,

  • Prezumpţia logaritmului discret

    I O altă prezumţie dificilă este DLP (Discrete LogarithmProblem) (sau PLD (Problema Logaritmului Discret));

    I Considerăm G un grup ciclic de ordin q;

    I Există un generator g ∈ G a.̂ı. G = {g 0, g 1, ..., gq−1};

    I Echivalent, pentru fiecare h ∈ G există un unic x ∈ Zq a.̂ı.g x = h;

    I x se numeşte logaritmul discret al lui h ı̂n raport cu g şi senotează

    x = logg h

    Criptografie şi Securitate 25/29 ,

  • Prezumpţia logaritmului discret

    I O altă prezumţie dificilă este DLP (Discrete LogarithmProblem) (sau PLD (Problema Logaritmului Discret));

    I Considerăm G un grup ciclic de ordin q;

    I Există un generator g ∈ G a.̂ı. G = {g 0, g 1, ..., gq−1};

    I Echivalent, pentru fiecare h ∈ G există un unic x ∈ Zq a.̂ı.g x = h;

    I x se numeşte logaritmul discret al lui h ı̂n raport cu g şi senotează

    x = logg h

    Criptografie şi Securitate 25/29 ,

  • Prezumpţia logaritmului discret

    I O altă prezumţie dificilă este DLP (Discrete LogarithmProblem) (sau PLD (Problema Logaritmului Discret));

    I Considerăm G un grup ciclic de ordin q;

    I Există un generator g ∈ G a.̂ı. G = {g 0, g 1, ..., gq−1};

    I Echivalent, pentru fiecare h ∈ G există un unic x ∈ Zq a.̂ı.g x = h;

    I x se numeşte logaritmul discret al lui h ı̂n raport cu g şi senotează

    x = logg h

    Criptografie şi Securitate 25/29 ,

  • Prezumpţia logaritmului discret

    I O altă prezumţie dificilă este DLP (Discrete LogarithmProblem) (sau PLD (Problema Logaritmului Discret));

    I Considerăm G un grup ciclic de ordin q;

    I Există un generator g ∈ G a.̂ı. G = {g 0, g 1, ..., gq−1};

    I Echivalent, pentru fiecare h ∈ G există un unic x ∈ Zq a.̂ı.g x = h;

    I x se numeşte logaritmul discret al lui h ı̂n raport cu g şi senotează

    x = logg h

    Criptografie şi Securitate 25/29 ,

  • Experimentul logaritmului discret DLogA(n)

    1. Generează (G, q, g) unde G este un grup ciclic de ordin q (cu|q| = n) iar g este generatorul lui G.

    2. Alege h←R G. (se poate alege x ′ ←R Zq şi apoi h := g x′.)

    3. A primeşte G, q, g , h şi ı̂ntoarce x ∈ Zq;

    4. Output-ul experimentului este 1 dacă g x = h şi 0 altfel.

    Definiţie

    Spunem că problema logaritmului discret (DLP) este dificilă dacăpentru orice algoritm PPT A există o funcţie neglijabilă negl aşaı̂ncât

    Pr [DLogA(n) = 1] ≤ negl(n)

    Criptografie şi Securitate 26/29 ,

  • Experimentul logaritmului discret DLogA(n)

    1. Generează (G, q, g) unde G este un grup ciclic de ordin q (cu|q| = n) iar g este generatorul lui G.

    2. Alege h←R G. (se poate alege x ′ ←R Zq şi apoi h := g x′.)

    3. A primeşte G, q, g , h şi ı̂ntoarce x ∈ Zq;

    4. Output-ul experimentului este 1 dacă g x = h şi 0 altfel.

    Definiţie

    Spunem că problema logaritmului discret (DLP) este dificilă dacăpentru orice algoritm PPT A există o funcţie neglijabilă negl aşaı̂ncât

    Pr [DLogA(n) = 1] ≤ negl(n)

    Criptografie şi Securitate 26/29 ,

  • Experimentul logaritmului discret DLogA(n)

    1. Generează (G, q, g) unde G este un grup ciclic de ordin q (cu|q| = n) iar g este generatorul lui G.

    2. Alege h←R G. (se poate alege x ′ ←R Zq şi apoi h := g x′.)

    3. A primeşte G, q, g , h şi ı̂ntoarce x ∈ Zq;

    4. Output-ul experimentului este 1 dacă g x = h şi 0 altfel.

    Definiţie

    Spunem că problema logaritmului discret (DLP) este dificilă dacăpentru orice algoritm PPT A există o funcţie neglijabilă negl aşaı̂ncât

    Pr [DLogA(n) = 1] ≤ negl(n)

    Criptografie şi Securitate 26/29 ,

  • Experimentul logaritmului discret DLogA(n)

    1. Generează (G, q, g) unde G este un grup ciclic de ordin q (cu|q| = n) iar g este generatorul lui G.

    2. Alege h←R G. (se poate alege x ′ ←R Zq şi apoi h := g x′.)

    3. A primeşte G, q, g , h şi ı̂ntoarce x ∈ Zq;

    4. Output-ul experimentului este 1 dacă g x = h şi 0 altfel.

    Definiţie

    Spunem că problema logaritmului discret (DLP) este dificilă dacăpentru orice algoritm PPT A există o funcţie neglijabilă negl aşaı̂ncât

    Pr [DLogA(n) = 1] ≤ negl(n)

    Criptografie şi Securitate 26/29 ,

  • Grupuri ciclice de ordin prim

    I Există câteva clase de grupuri ciclice pentru care DLP esteconsiderată dificilă;

    I Una dintre ele este clasa grupurilor ciclice de ordin prim (̂ınaceste grupuri, problema este ”cea mai dificilă”);

    I DLP nu poate fi rezolvată ı̂n timp polinomial ı̂n grupurile carenu sunt de ordin prim, ci doar este mai uşoară;

    I În aceste grupuri căutarea unui generator şi verificarea că unnumăr dat este generator sunt triviale.

    Criptografie şi Securitate 27/29 ,

  • Grupuri ciclice de ordin prim

    I Există câteva clase de grupuri ciclice pentru care DLP esteconsiderată dificilă;

    I Una dintre ele este clasa grupurilor ciclice de ordin prim (̂ınaceste grupuri, problema este ”cea mai dificilă”);

    I DLP nu poate fi rezolvată ı̂n timp polinomial ı̂n grupurile carenu sunt de ordin prim, ci doar este mai uşoară;

    I În aceste grupuri căutarea unui generator şi verificarea că unnumăr dat este generator sunt triviale.

    Criptografie şi Securitate 27/29 ,

  • Grupuri ciclice de ordin prim

    I Există câteva clase de grupuri ciclice pentru care DLP esteconsiderată dificilă;

    I Una dintre ele este clasa grupurilor ciclice de ordin prim (̂ınaceste grupuri, problema este ”cea mai dificilă”);

    I DLP nu poate fi rezolvată ı̂n timp polinomial ı̂n grupurile carenu sunt de ordin prim, ci doar este mai uşoară;

    I În aceste grupuri căutarea unui generator şi verificarea că unnumăr dat este generator sunt triviale.

    Criptografie şi Securitate 27/29 ,

  • Grupuri ciclice de ordin prim

    I Există câteva clase de grupuri ciclice pentru care DLP esteconsiderată dificilă;

    I Una dintre ele este clasa grupurilor ciclice de ordin prim (̂ınaceste grupuri, problema este ”cea mai dificilă”);

    I DLP nu poate fi rezolvată ı̂n timp polinomial ı̂n grupurile carenu sunt de ordin prim, ci doar este mai uşoară;

    I În aceste grupuri căutarea unui generator şi verificarea că unnumăr dat este generator sunt triviale.

    Criptografie şi Securitate 27/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Lucrul ı̂n Z∗pI DLP este considerată dificilă ı̂n grupuri ciclice de forma Z∗p cu

    p prim;

    I Insă pentru p > 3 grupul Z∗p NU are ordin prim;

    I Aceasta problemă se rezolvă folosind un subgrup potrivit al luiZ∗p;

    I Reamintim: Un element y ∈ Z∗p este rest pătratic modulo pdacă ∃x ∈ Z∗p a.̂ı. x2 = y mod p;

    I Mulţimea resturilor pătratice modulo p formează un subgrupal lui Z∗p;

    I Dacă p este număr prim tare (i.e. p = 2q + 1 cu q prim),subgrupul resturilor pătratice modulo p are ordin q, deci esteciclic şi toate elementele sunt generatori.

    Criptografie şi Securitate 28/29 ,

  • Important de reţinut!

    I Cel mai rapid algoritm de factorizare necesită timpsub-exponenţial;

    I Problema logaritmului discret este dificilă.

    Criptografie şi Securitate 29/29 ,

    Numere prime si factorizareProblema logaritmului discret