ECIES

ECIES (ing. Elliptic Curve Integrated Encryption Scheme ) este o schemă de criptare cu cheie publică bazată pe curbe eliptice. Această schemă a fost propusă de Victor Shoup în 2001. ECIES este utilizat în diferite standarde, cum ar fi ANSI X9.63, IEEE 1363a, ISO 18033-2 și SECG SEC 1.

Context istoric

În 1997, oamenii de știință Mihir Bellare și Phillip Rogaway au inventat schema DLAES ( Discrete Logarithm Augmented Encryption Scheme ), care a fost redenumită ulterior DHAES ( Diffie-Hellman Augmented Encryption Scheme ) în 1998, iar mai târziu, pentru a evita confuzie cu abrevierea AES , redenumită DHIES ( Schema de criptare integrată Diffie-Hellman ). DHIES este o schemă avansată ElGamal care utilizează curbe eliptice, diverși algoritmi de inserție de simulare și funcții hash. [unu]

DHIES a fost evaluat de ANSI și, cu unele modificări, schema a fost inclusă în standardul ANSI X9.63 în 2001. De asemenea, independent, cu unele modificări, schema a fost inclusă în standardul IEEE 1363 în 2000. În 2004, când standardul ANSI X9.63 a devenit public, IEEE a revizuit schema pentru a ține cont de avantajele celor două standarde anterioare ANSI X9.63 și IEEE 1363 și a inclus noua schemă în standardul IEEE 1363a în 2004.

Toate schemele de mai sus sunt denumite colectiv ECIES (Elliptic Curve Integrated Encryption Scheme ).

În 2009, una dintre versiunile ECIES a fost inclusă în standardul ISO / IEC 18033-2, iar în 2009 în standardul SECG SEC 1. [1]

Descrierea algoritmului

ECIES (Elliptic Curve Integrated Encryption Scheme) include mai multe caracteristici:

  1. Key Agreement (KA) este o funcție pentru generarea unui secret partajat. De exemplu, protocolul Diffie-Hellman sau modificările acestuia.
  2. Funcția de derivare a cheilor (KDF) este o funcție pentru generarea de chei comune dintr-un set de date și parametri.
  3. Criptarea (ENC) este un algoritm de criptare utilizat de ambele părți.
  4. Method Authentication Code (MAC) - o funcție pentru generarea datelor de autentificare (inserție de imitație).
  5. Hash (HASH) este o funcție de hashing (folosită în MAC și KDF).

Parametrii de intrare al algoritmului

Prima parte - Alice : [2]

A doua parte - Bob: [2]

Criptare

Să presupunem că Alice vrea să-i trimită un mesaj lui Bob. Alice are cheia publică a lui Bob , Bob are cheia privată corespunzătoare și Alice generează o pereche temporară de chei publice și private . Cheile private sunt elementele câmpului final (câmpul pe care este dată curba eliptică), iar cheile publice sunt punctele care aparțin curbei eliptice și sunt calculate ca produsul cheii private și generatorul g de curba eliptică. [3]

Pentru a trimite un mesaj, Alice face următoarele: [3]

Decriptare

În ceea ce privește procesul de decriptare, pașii pe care Bob trebuie să-i urmeze sunt următorii: [4]

Comparație cu alți algoritmi

Securitatea ECIES se bazează pe complexitatea computațională a problemei de logaritm discret al grupului de curbe eliptice ( ECDLP ). Algoritmii criptografici se pot baza, de asemenea, pe complexitatea computațională a problemelor de factorizare (exemplu de algoritm: RSA ) și pe logaritmul discret ( schema ElGamal ). Cu toate acestea, ECDLP este considerată cea mai grea [5] dintre aceste trei sarcini, ceea ce duce la un avantaj important al ECIES: dimensiunea cheii.

Comparația lungimii cheilor ECIES și RSA [6]
Nivel de securitate (bit) Lungimea cheii RSA (biți) Lungimea cheii ECIES (biți)
80 1024 160-223
112 2048 224-255
128 3072 256-283
192 7680 384-511
256 15360 512-571

Avantajul dimensiunii cheii vă permite să faceți cerințe mai mici asupra hardware-ului (de exemplu, cu privire la dimensiunea bufferului, a memoriei RAM și a memoriei fizice; asupra lățimii de bandă a canalului în cazul transferului cheilor prin rețea).

Un dezavantaj important al ECIES în comparație cu alți algoritmi criptografici este existența mai multor versiuni de ECIES descrise de diferite standarde ( ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2 și SECG SEC 1). Diferențele dintre aceste standarde sunt alegerea funcțiilor și parametrilor specifici pentru implementarea componentelor ECIES (KA, KDF, ENC, MAC, HASH). Dezavantajul este că nu este posibilă implementarea unei versiuni de ECIES care să satisfacă toate standardele [6] .

Atacuri notabile asupra ECIES

„Vulnerabilitatea soft”

Victor Shope a dovedit [7] că, dacă cheia publică U nu este inclusă în intrarea KDF și dacă numai coordonatele x a secretului partajat este utilizată în KDF, atunci ECIES este susceptibil la atacurile Adaptive Chosen Ciphertext (CCA2). )). Vulnerabilitatea se numește „soft” deoarece niciun atac nu a putut obține informații semnificative folosind această vulnerabilitate.

O posibilă soluție sugerată de Shoup este adăugarea cheii publice U la intrarea KDF.

Vulnerabilitatea la utilizarea funcției XOR

De asemenea, Shoup a demonstrat [8] că schema ECIES poate fi vulnerabilă atunci când funcția XOR este utilizată la criptarea mesajelor cu lungime variabilă. În special, acest lucru poate duce la o vulnerabilitate la atacurile Adaptive Chosen Ciphertext Attacks (CCA2) . Solutii posibile:

Atacul subgrup mic (ing. ''Atac subgrup mic'')

Acest tip de atac este posibil atunci când un adversar furnizează în mod specific o cheie publică incorectă. Dacă expeditorul nu autentifică cheia publică a celeilalte părți, atunci adversarul va putea înlocui cheia publică cu o cheie mai mică pentru a obține un secret partajat sau a obține informații despre cheia privată a expeditorului. Solutii posibile:

Configurații ECIES posibile

Un exemplu [12] de implementare eficientă și sigură a ECIES conform cu IEEE 1363a și ISO/IEC 18033-2:

Note

  1. 1 2 V. Gayoso Mart´ınez, F. Hernandez Alvarez, L. Hernandez Encinas , pp. 1-2.
  2. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. 9.
  3. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , pp. 9-10.
  4. V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. zece.
  5. N. Koblitz , pp. 3-4.
  6. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. 2.
  7. V. Shoup , p. 13.
  8. 1 2 V. Shoup , p. 38.
  9. J. Stern , pp. 20-21.
  10. Quisquater, J., Koeune, F. , p. douăzeci.
  11. 1 2 V. Gayoso Martínez, L. Hernández Encinas, A. Queiruga Dios , pp. 7-8.
  12. V. Gayoso Martínez, L. Hernández Encinas, A. Queiruga Dios , pp. 17-18.

Literatură

Articole