34.10-2018 _ _ _ _ _ - den nuvarande mellanstatliga kryptografiska standarden , som beskriver algoritmerna för att generera och verifiera en elektronisk digital signatur implementerad med hjälp av operationer i en grupp av punkter i en elliptisk kurva definierad över ett ändligt enkelt fält.
Standarden utvecklades på basis av den nationella standarden för Ryska federationen GOST R 34.10-2012 och trädde i kraft den 1 juni 2019 genom order av Rosstandart nr 1059-st daterad den 4 december 2018 .
Den digitala signaturen tillåter:
De första versionerna av algoritmen utvecklades av FAPSI Main Directorate for Communications Security med deltagande av All-Russian Research Institute for Standardization (VNIIstandart) , senare övergick utvecklingen i händerna på Center for Information Protection and Special Communications av Rysslands federala säkerhetstjänst och JSC InfoTeKS .
Den kryptografiska styrkan hos de första digitala signaturstandarderna GOST R 34.10-94 och GOST 34.310-95 baserades på problemet med diskret logaritm i den multiplikativa gruppen av ett enkelt ändligt fält av stor ordning. Från och med GOST R 34.10-2001 är robustheten hos algoritmen baserad på det mer komplexa problemet med att beräkna den diskreta logaritmen i en grupp av punkter på en elliptisk kurva . Styrkan hos den digitala signaturgenereringsalgoritmen är också baserad på styrkan hos motsvarande hashfunktion:
Sorts | namn | sätta i verket | hash-funktion | Ordning |
---|---|---|---|---|
Nationell | GOST R 34,10-94 | 1 januari 1995 | GOST R 34,11-94 | Antagen genom dekretet av Rysslands statliga standard nr 154 av 23 maj 94 |
Mellanstatlig | GOST 34.310-95 | 16 april 1998 | GOST 34.311-95 | |
Nationell | GOST R 34.10-2001 | 1 juli 2002 | GOST R 34,11-94 | Antagen genom resolutionen från Rysslands statliga standard nr 380-st av den 12 september 2001 [1] |
Mellanstatlig | GOST 34.310-2004 | 2 mars 2004 | GOST 34.311-95 | Antagen av det eurasiska rådet för standardisering, metrologi och certifiering genom korrespondens (protokoll nr 16 daterat 2 mars 2004) |
Nationell | GOST R 34.10-2012 | 1 januari 2013 | GOST R 34.11-2012 | Godkänd och satt i kraft genom order från Federal Agency for Technical Regulation and Metroology nr. 215-st daterad 7 augusti 2012 som den nationella standarden för Ryska federationen från 1 januari 2013 |
Mellanstatlig | GOST 34.10-2018 | 1 juni 2019 | GOST 34.11-2018 | Antagen av Interstate Council for Metrology, Standardization and Certification (protokoll nr 54 av 29 november 2018). Genom order från Federal Agency for Technical Regulation and Metrology nr. 1059-st av den 4 december 2018 trädde den i kraft som den nationella standarden för Ryska federationen från den 1 juni 2019 |
Standarderna använder samma schema för att generera en elektronisk digital signatur. Nya standarder sedan 2012 kännetecknas av närvaron av en ytterligare version av schemaparametrarna, motsvarande längden på den hemliga nyckeln på cirka 512 bitar.
Efter signering av meddelandet M läggs en digital signatur på 512 eller 1024 bitar och ett textfält till det. Textfältet kan innehålla till exempel datum och tid för sändningen eller olika uppgifter om avsändaren:
|
+ |
| |||
Tillägg |
Denna algoritm beskriver inte mekanismen för att generera de parametrar som är nödvändiga för att generera en signatur, utan bestämmer bara hur man skaffar en digital signatur baserat på sådana parametrar. Mekanismen för generering av parameter bestäms på plats, beroende på vilket system som utvecklas.
En beskrivning av en variant av EDS-schemat med en hemlig nyckellängd på 256 bitar ges. För hemliga nycklar med en längd på 512 bitar (det andra alternativet för att generera en EDS, beskrivet i standarden), är alla transformationer lika.
Varje användare av digital signatur har privata nycklar:
Ytterligare krav:
Det finns en en-till-en-överensstämmelse mellan binära vektorer med längden 256 och heltal enligt följande regel . Här är det antingen lika med 0 eller lika med 1. Detta är med andra ord representationen av talet z i det binära talsystemet.
Resultatet av operationen av sammanlänkning av två vektorer kallas en vektor med längden 512 . Den omvända operationen är operationen att dela en vektor med längden 512 i två vektorer med längden 256.
Generering av en digital signatur
Verifiering av digital signatur
Den kryptografiska styrkan hos en digital signatur baseras på två komponenter – styrkan hos hashfunktionen och styrkan hos själva krypteringsalgoritmen. [2]
Sannolikheten för att knäcka en hashfunktion enligt GOST 34.11-94 är när man väljer en kollision för ett fast meddelande och när man väljer någon kollision. [2] Krypteringsalgoritmens styrka är baserad på problemet med diskret logaritm i en grupp av punkter på en elliptisk kurva. För närvarande finns det ingen metod för att lösa detta problem även med subexponentiell komplexitet. [3]
En av de snabbaste algoritmerna för tillfället, med rätt val av parametrar, är -metoden och -Pollards metod. [fyra]
För den optimerade Pollard-metoden uppskattas beräkningskomplexiteten till . Därför måste du använda en 256-bitars för att säkerställa operationernas kryptografiska styrka . [2]
Den nya och gamla digitala signaturen GOST är väldigt lika varandra. Den största skillnaden är att i den gamla standarden utförs vissa operationer på fältet och i den nya på en grupp av punkter i en elliptisk kurva, så kraven som ställs på ett primtal i den gamla standarden ( eller ) är strängare än i den nya.
Algoritmen för signaturgenerering skiljer sig endast i punkt 4 . I den gamla standarden, i detta stycke , och och beräknas, om , återgår vi till punkt 3. Var och .
Signaturverifieringsalgoritmen skiljer sig endast i punkt 6 . I den gamla standarden beräknar detta stycke , var är den publika nyckeln för att verifiera signaturen, . Om , är signaturen korrekt, annars är den felaktig. Här är ett primtal och är en divisor av .
Användningen av den matematiska apparaten i gruppen av punkter i en elliptisk kurva gör det möjligt att avsevärt minska modulens ordning utan att förlora kryptografisk styrka. [2]
Den gamla standarden beskriver också mekanismerna för att erhålla siffror och .
Public key kryptosystem | |||||||||
---|---|---|---|---|---|---|---|---|---|
Algoritmer |
| ||||||||
Teori |
| ||||||||
Standarder |
| ||||||||
Ämnen |
|