34.10-2018 _ _ _ _ _ - standardul criptografic interstatal actual , care descrie algoritmii de generare și verificare a unei semnături digitale electronice implementați folosind operații într-un grup de puncte ale unei curbe eliptice definite pe un câmp simplu finit.
Standardul a fost elaborat pe baza standardului național al Federației Ruse GOST R 34.10-2012 și a intrat în vigoare la 1 iunie 2019 prin ordinul Rosstandart nr. 1059-st din 4 decembrie 2018 .
Semnătura digitală permite:
Primele versiuni ale algoritmului au fost dezvoltate de Direcția Principală pentru Securitatea Comunicațiilor FAPSI , cu participarea Institutului de Cercetare a Rusiei pentru Standardizare (VNIIstandart) , ulterior dezvoltarea a trecut în mâinile Centrului pentru Protecția Informației și Comunicații Speciale din Serviciul Federal de Securitate al Rusiei și JSC InfoTeKS .
Puterea criptografică a primelor standarde de semnătură digitală GOST R 34.10-94 și GOST 34.310-95 sa bazat pe problema logaritmului discret în grupul multiplicativ al unui câmp finit simplu de ordin mare. Începând cu GOST R 34.10-2001, robustețea algoritmului se bazează pe problema mai complexă a calculării logaritmului discret într-un grup de puncte pe o curbă eliptică . De asemenea, puterea algoritmului de generare a semnăturii digitale se bazează pe puterea funcției hash corespunzătoare:
Tip de | Nume | puse in actiune | funcția hash | Ordin |
---|---|---|---|---|
Naţional | GOST R 34,10-94 | 1 ianuarie 1995 | GOST R 34.11-94 | Adoptat prin Decretul Standardului de Stat al Rusiei nr. 154 din 23 mai 94 |
Interstatal | GOST 34.310-95 | 16 aprilie 1998 | GOST 34.311-95 | |
Naţional | GOST R 34.10-2001 | 1 iulie 2002 | GOST R 34.11-94 | Adoptat prin rezoluția Standardului de stat al Rusiei nr. 380-st din 12 septembrie 2001 [1] |
Interstatal | GOST 34.310-2004 | 2 martie 2004 | GOST 34.311-95 | Adoptată de Consiliul Eurasiatic pentru Standardizare, Metrologie și Certificare prin corespondență (Proces-verbal nr. 16 din 2 martie 2004) |
Naţional | GOST R 34.10-2012 | 1 ianuarie 2013 | GOST R 34.11-2012 | Aprobat și pus în aplicare prin ordinul Agenției Federale pentru Reglementare Tehnică și Metrologie nr. 215-st din 7 august 2012 ca standard național al Federației Ruse de la 1 ianuarie 2013 |
Interstatal | GOST 34.10-2018 | 1 iunie 2019 | GOST 34.11-2018 | Adoptată de Consiliul Interstatal de Metrologie, Standardizare și Certificare (Proces-verbal nr. 54 din 29 noiembrie 2018). Prin ordinul Agenției Federale pentru Reglementare Tehnică și Metrologie nr. 1059-st din 4 decembrie 2018, a intrat în vigoare ca standard național al Federației Ruse de la 1 iunie 2019 |
Standardele folosesc aceeași schemă pentru generarea unei semnături digitale electronice. Noile standarde din 2012 se disting prin prezența unei versiuni suplimentare a parametrilor schemei, corespunzătoare lungimii cheii secrete de aproximativ 512 biți.
După semnarea mesajului M , îi sunt atașate o semnătură digitală de 512 sau 1024 de biți și un câmp de text. Câmpul de text poate conține, de exemplu, data și ora trimiterii sau diverse date despre expeditor:
|
+ |
| |||
Plus |
Acest algoritm nu descrie mecanismul de generare a parametrilor necesari pentru generarea unei semnături, ci determină doar modul de obținere a unei semnături digitale pe baza unor astfel de parametri. Mecanismul de generare a parametrilor este determinat in situ, in functie de sistemul dezvoltat.
Este oferită o descriere a unei variante a schemei EDS cu o lungime a cheii secrete de 256 de biți. Pentru cheile secrete cu lungimea de 512 biți (a doua opțiune pentru generarea unui EDS, descrisă în standard), toate transformările sunt similare.
Fiecare utilizator de semnătură digitală are chei private:
Cerințe suplimentare:
Există o corespondență unu-la-unu între vectorii binari de lungime 256 și numere întregi conform următoarei reguli . Aici este fie egal cu 0, fie egal cu 1. Cu alte cuvinte, aceasta este reprezentarea numărului z în sistemul numeric binar.
Rezultatul operației de concatenare a doi vectori se numește vector de lungime 512 . Operația inversă este operația de împărțire a unui vector cu lungimea 512 în doi vectori cu lungimea 256.
Diagrame :
Generarea unei semnături digitale
Verificarea semnăturii digitale
Puterea criptografică a unei semnături digitale se bazează pe două componente - puterea funcției hash și puterea algoritmului de criptare în sine. [2]
Probabilitatea de spargere a unei funcții hash conform GOST 34.11-94 este atunci când selectați o coliziune pentru un mesaj fix și atunci când selectați orice coliziune. [2] Puterea algoritmului de criptare se bazează pe problema logaritmului discret într-un grup de puncte pe o curbă eliptică. În momentul de față, nu există nicio metodă de rezolvare a acestei probleme chiar și cu complexitate subexponențială. [3]
Unul dintre cei mai rapizi algoritmi din acest moment, cu alegerea corectă a parametrilor, este metoda -și metoda lui Pollard. [patru]
Pentru metoda Pollard optimizată , complexitatea de calcul este estimată ca . Prin urmare, pentru a asigura puterea criptografică a operațiunilor, trebuie să utilizați un 256 de biți . [2]
Noile și vechile GOST de semnătură digitală sunt foarte asemănătoare între ele. Principala diferență este că în vechiul standard, unele operații sunt efectuate pe câmp , iar în cel nou, pe un grup de puncte ale unei curbe eliptice, deci cerințele impuse unui număr prim în vechiul standard ( sau ) sunt mai strict decât în cel nou.
Algoritmul de generare a semnăturii diferă doar în paragraful 4 . În vechiul standard, în acest paragraf , și și sunt calculate, dacă , revenim la paragraful 3. Unde și .
Algoritmul de verificare a semnăturii diferă doar la punctul 6 . În vechiul standard, acest paragraf calculează , unde este cheia publică pentru verificarea semnăturii, . Dacă , semnătura este corectă, în caz contrar este incorectă. Aici este un număr prim și este un divizor al lui .
Utilizarea aparatului matematic al grupului de puncte al unei curbe eliptice face posibilă reducerea semnificativă a ordinii modulului fără a pierde puterea criptografică. [2]
De asemenea, vechiul standard descrie mecanismele de obținere a numerelor și .