Ordning af ElGamal

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 10. maj 2018; checks kræver 43 redigeringer .

Elgamal - ordningen er et offentligt nøglekryptosystem baseret på vanskeligheden ved at beregne diskrete logaritmer i et begrænset felt . Kryptosystemet omfatter en krypteringsalgoritme og en digital signaturalgoritme. ElGamal-ordningen ligger til grund for de tidligere digitale signaturstandarder i USA ( DSA ) og Rusland ( GOST R 34.10-94 ).

Ordningen blev foreslået af Taher El-Gamal i 1985 . [1] ElGamal udviklede en variant af Diffie-Hellman-algoritmen . Han forbedrede Diffie-Hellman-systemet og opnåede to algoritmer, der blev brugt til kryptering og til autentificering. I modsætning til RSA var ElGamal-algoritmen ikke patenteret og blev derfor et billigere alternativ, da der ikke krævedes licensgebyrer. Algoritmen menes at være omfattet af Diffie-Hellman-patentet.

Nøglegenerering

  1. Der genereres et tilfældigt primtal .
  2. Et heltal er valgt - den primitive rod .
  3. Et tilfældigt heltal vælges således, at .
  4. Beregnet .
  5. Den offentlige nøgle er , den private nøgle er .

Arbejder i krypteret tilstand

ElGamal-chiffersystemet er faktisk en af ​​måderne at generere Diffie-Hellman offentlige nøgler på . ElGamal-kryptering må ikke forveksles med ElGamals digitale signaturalgoritme.

Kryptering

Beskeden skal være mindre end . Beskeden er krypteret som følger:

  1. Sessionsnøglen er valgt - et tilfældigt heltal coprime med , sådan at .
  2. Tallene og er beregnet .
  3. Et par tal er en chiffertekst .

Det er let at se, at længden af ​​chifferteksten i ElGamal-skemaet er dobbelt så lang som den oprindelige besked .

Dekryptering

Ved at kende den private nøgle kan den originale besked beregnes ud fra chifferteksten ved hjælp af formlen:

Det er samtidig nemt at tjekke det

og derfor

.

Til praktiske beregninger er følgende formel mere egnet:

Krypteringsskema

Eksempel

Da en tilfældig variabel er indført i ElGamal-skemaet , kan ElGamal-chifferet kaldes en substitutionsciffer med flere værdier. På grund af tilfældigheden af ​​valget af nummeret kaldes en sådan ordning også for en sandsynlig krypteringsordning. Den sandsynlige karakter af kryptering er en fordel for ElGamal-skemaet, da sandsynlighedskrypteringsskemaer udviser større styrke sammenlignet med skemaer med en specifik krypteringsproces. Ulempen ved ElGamal-krypteringsskemaet er, at chifferteksten er dobbelt så lang som almindelig tekst. For et probabilistisk krypteringsskema definerer selve meddelelsen og nøglen ikke entydigt chifferteksten. I ElGamal-skemaet er det nødvendigt at bruge forskellige værdier af en tilfældig variabel til at kryptere forskellige meddelelser og . Hvis du bruger det samme , er forholdet opfyldt for de tilsvarende chiffertekster . Ud fra dette udtryk kan man let regne , hvis man ved det .

Arbejder i signaturtilstand

Den digitale signatur tjener til at gøre det muligt at identificere dataændringer og til at fastslå underskriverens identitet. Modtageren af ​​en underskrevet besked kan bruge en digital signatur til at bevise over for en tredjepart, at signaturen faktisk er lavet af afsenderen. Når du arbejder i signaturtilstand, antages det, at der er en fast hash-funktion , hvis værdier ligger i intervallet .

Meddelelsessignaturer

For at underskrive en meddelelse udføres følgende handlinger:

  1. Beskedsammendraget beregnes : (Hash-funktionen kan være en hvilken som helst).
  2. Et tilfældigt tal coprime med vælges og beregnes
  3. Tallet beregnes , hvor er den multiplikative inverse modulo , som for eksempel kan findes ved hjælp af den udvidede Euklidiske algoritme .
  4. Signaturen på beskeden er parret .

Signaturbekræftelse

Ved at kende den offentlige nøgle bekræftes meddelelsessignaturen som følger:

  1. Gennemførligheden af ​​betingelserne kontrolleres: og .
  2. Hvis mindst én af dem mislykkes, betragtes signaturen som ugyldig.
  3. Fordøjelsen beregnes
  4. En signatur anses for gyldig, hvis der foretages en sammenligning:

Korrekthedskontrol

Den betragtede algoritme er korrekt i den forstand, at signaturen beregnet i henhold til ovenstående regler vil blive accepteret, når den er verificeret.

At transformere definitionen , har vi

Yderligere følger det af Fermats lille sætning , at

Eksempel

Den største fordel ved ElGamals digitale signaturordning er evnen til at generere digitale signaturer til et stort antal meddelelser ved brug af kun én hemmelig nøgle. For at en angriber kan forfalske en signatur, skal han løse komplekse matematiske problemer med at finde logaritmen i feltet . Der skal fremsættes flere kommentarer:

Nummeret skal være tilfældigt og må ikke duplikeres for forskellige signaturer opnået med den samme hemmelige nøgleværdi.

det er nemt at verificere, at parret er den rigtige digitale signatur for beskeden .

Kryptografisk styrke og funktioner

I øjeblikket betragtes offentlige nøglekryptosystemer som de mest lovende. Disse inkluderer ElGamal-skemaet, hvis kryptografiske styrke er baseret på beregningskompleksiteten af ​​det diskrete logaritmeproblem , hvor det, givet p , g og y , er påkrævet at beregne x , der opfylder sammenligningen:

GOST R34.10-1994 , vedtaget i 1994 i Den Russiske Føderation, som regulerede procedurerne for generering og verifikation af en elektronisk digital signatur, var baseret på ElGamal-ordningen. Siden 2001 har den nye GOST R 34.10-2001 været i brug ved at bruge aritmetikken af ​​elliptiske kurver defineret over simple Galois-felter . Der er et stort antal algoritmer baseret på ElGamal-skemaet: disse er DSA , ECDSA , KCDSA-algoritmer, Schnorr-skema .

Sammenligning af nogle algoritmer:

Algoritme Nøgle Formål Kryptografisk modstand, MIPS Noter
RSA Op til 4096 bit Kryptering og signering 2,7•10 28 for 1300 bit nøgle Baseret på sværhedsgraden af ​​faktoriseringsproblemet med store tal ; en af ​​de første asymmetriske algoritmer. Inkluderet i mange standarder
ElGamal Op til 4096 bit Kryptering og signering For samme nøglelængde er den kryptografiske styrke lig med RSA, dvs. 2,7•10 28 for 1300 bit nøgle Baseret på det vanskelige problem med at beregne diskrete logaritmer i et begrænset felt; giver dig mulighed for hurtigt at generere nøgler uden at gå på kompromis med sikkerheden. Anvendes i den digitale signaturalgoritme af DSA-standard DSS
DSA Op til 1024 bit Kun underskrift Baseret på sværhedsgraden af ​​det diskrete logaritmeproblem i et endeligt felt ; accepteret som stat amerikansk standard; bruges til hemmelig og uklassificeret kommunikation; Udvikleren er NSA.
ECDSA Op til 4096 bit Kryptering og signering Kryptomodstand og operationshastighed er højere end RSA's Moderne retning. Udviklet af mange førende matematikere

Noter

  1. Elgamal, 1985 .

Litteratur