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.
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.
Beskeden skal være mindre end . Beskeden er krypteret som følger:
Det er let at se, at længden af chifferteksten i ElGamal-skemaet er dobbelt så lang som den oprindelige besked .
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:
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 .
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 .
For at underskrive en meddelelse udføres følgende handlinger:
Ved at kende den offentlige nøgle bekræftes meddelelsessignaturen som følger:
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
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 .
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 |