Elgamal - schemat är ett kryptosystem med offentlig nyckel baserat på svårigheten att beräkna diskreta logaritmer i ett ändligt fält . Kryptosystemet inkluderar en krypteringsalgoritm och en digital signaturalgoritm. ElGamal-systemet ligger till grund för de tidigare digitala signaturstandarderna i USA ( DSA ) och Ryssland ( GOST R 34.10-94 ).
Systemet föreslogs av Taher El- Gamal 1985 . [1] ElGamal utvecklade en variant av Diffie-Hellman-algoritmen . Han förbättrade Diffie-Hellman-systemet och fick två algoritmer som användes för kryptering och för autentisering. Till skillnad från RSA var ElGamal-algoritmen inte patenterad och blev därför ett billigare alternativ, eftersom inga licensavgifter krävdes. Algoritmen tros omfattas av Diffie-Hellman-patentet.
Chiffersystemet ElGamal är faktiskt ett av sätten att generera publika Diffie-Hellman- nycklar . ElGamal-kryptering ska inte förväxlas med ElGamals digitala signaturalgoritm.
Meddelandet måste vara mindre än . Meddelandet krypteras enligt följande:
Det är lätt att se att längden på chiffertexten i ElGamal-schemat är dubbelt så lång som det ursprungliga meddelandet .
Genom att känna till den privata nyckeln kan det ursprungliga meddelandet beräknas från chiffertexten med hjälp av formeln:
Samtidigt är det lätt att kontrollera det
och därför
.För praktiska beräkningar är följande formel mer lämplig:
Eftersom en slumpvariabel introduceras i ElGamal-schemat kan ElGamal-chifferet kallas ett substitutionschiffer med flera värden. På grund av slumpmässigheten i valet av numret kallas ett sådant schema också för ett probabilistiskt krypteringsschema. Den sannolikhetsmässiga karaktären hos krypteringen är en fördel för ElGamal-schemat, eftersom probabilistiska krypteringsscheman uppvisar större styrka jämfört med scheman med en specifik krypteringsprocess. Nackdelen med ElGamal-krypteringsschemat är att chiffertexten är dubbelt så lång som klartexten. För ett probabilistiskt krypteringsschema definierar inte själva meddelandet och nyckeln chiffertexten unikt. I ElGamal-schemat är det nödvändigt att använda olika värden av en slumpvariabel för att kryptera olika meddelanden och . Om du använder samma , då för motsvarande chiffertexter och relationen är uppfylld . Från detta uttryck kan man lätt räkna ut , om man vet .
Den digitala signaturen tjänar till att möjliggöra identifiering av dataändringar och för att fastställa undertecknarens identitet. Mottagaren av ett signerat meddelande kan använda en digital signatur för att bevisa för en tredje part att signaturen verkligen gjordes av avsändaren. När du arbetar i signaturläge antas det att det finns en fast hashfunktion , vars värden ligger i intervallet .
För att signera ett meddelande utförs följande åtgärder:
Genom att känna till den publika nyckeln verifieras meddelandesignaturen enligt följande:
Den övervägda algoritmen är korrekt i den meningen att signaturen beräknad enligt ovanstående regler kommer att accepteras när den är verifierad.
Att omvandla definitionen har vi
Vidare följer det av Fermats lilla sats att
Numret måste vara slumpmässigt och får inte dupliceras för olika signaturer som erhålls med samma hemliga nyckelvärde.
det är lätt att verifiera att paret är rätt digital signatur för meddelandet .
För närvarande anses kryptosystem med publik nyckel vara de mest lovande. Dessa inkluderar ElGamal-schemat, vars kryptografiska styrka är baserad på beräkningskomplexiteten för det diskreta logaritmproblemet , där det, givet p , g och y , krävs för att beräkna x som uppfyller jämförelsen:
GOST R34.10-1994 , antagen 1994 i Ryska federationen, som reglerade förfarandena för att generera och verifiera en elektronisk digital signatur, baserades på ElGamal-systemet. Sedan 2001 har den nya GOST R 34.10-2001 använts, med hjälp av aritmetiken för elliptiska kurvor definierade över enkla Galois-fält . Det finns ett stort antal algoritmer baserade på ElGamal-schemat: dessa är DSA , ECDSA , KCDSA-algoritmer, Schnorr-schema .
Jämförelse av några algoritmer:
Algoritm | Nyckel | Ändamål | Kryptografiskt motstånd, MIPS | Anteckningar |
RSA | Upp till 4096 bitar | Kryptering och signering | 2,7•10 28 för 1300 bitars nyckel | Baserat på svårigheten med faktoriseringsproblemet med stort antal ; en av de första asymmetriska algoritmerna. Ingår i många standarder |
ElGamal | Upp till 4096 bitar | Kryptering och signering | För samma nyckellängd är den kryptografiska styrkan lika med RSA, d.v.s. 2,7•10 28 för 1300 bitars nyckel | Baserat på det svåra problemet med att beräkna diskreta logaritmer i ett ändligt fält; låter dig snabbt generera nycklar utan att kompromissa med säkerheten. Används i den digitala signaturalgoritmen för DSA-standarden DSS |
DSA | Upp till 1024 bitar | Endast signatur | Baserat på svårigheten med det diskreta logaritmproblemet i ett ändligt fält ; accepteras som stat amerikansk standard; används för hemlig och oklassificerad kommunikation; Utvecklare är NSA. | |
ECDSA | Upp till 4096 bitar | Kryptering och signering | Kryptomotstånd och operationshastighet är högre än för RSA | Modern regi. Utvecklad av många ledande matematiker |
Public key kryptosystem | |||||||||
---|---|---|---|---|---|---|---|---|---|
Algoritmer |
| ||||||||
Teori |
| ||||||||
Standarder |
| ||||||||
Ämnen |
|