Schema för ElGamal

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 10 maj 2018; kontroller kräver 43 redigeringar .

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.

Nyckelgenerering

  1. Ett slumpmässigt primtal genereras .
  2. Ett heltal väljs - den primitiva roten .
  3. Ett slumpmässigt heltal väljs så att .
  4. Beräknat .
  5. Den offentliga nyckeln är , den privata nyckeln är .

Arbeta i krypterat läge

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.

Kryptering

Meddelandet måste vara mindre än . Meddelandet krypteras enligt följande:

  1. Sessionsnyckeln väljs — ett slumpmässigt heltal med , så att .
  2. Siffrorna och är beräknade .
  3. Ett par siffror är en chiffertext .

Det är lätt att se att längden på chiffertexten i ElGamal-schemat är dubbelt så lång som det ursprungliga meddelandet .

Dekryptering

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:

Krypteringsschema

Exempel

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 .

Arbeta i signaturläge

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 .

Meddelandesignaturer

För att signera ett meddelande utförs följande åtgärder:

  1. Meddelandesammandraget beräknas : (Hashfunktionen kan vara vilken som helst).
  2. Ett slumptalssamprimtal med väljs och beräknas
  3. Antalet beräknas , där är den multiplikativa inversa modulo , som kan hittas till exempel med den utökade Euklidiska algoritmen .
  4. Meddelandets signatur är paret .

Signaturverifiering

Genom att känna till den publika nyckeln verifieras meddelandesignaturen enligt följande:

  1. Villkorens genomförbarhet kontrolleras: och .
  2. Om minst en av dem misslyckas anses signaturen vara ogiltig.
  3. Smältningen beräknas
  4. En signatur anses giltig om en jämförelse görs:

Korrekthetskontroll

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

Exempel

Den största fördelen med ElGamals digitala signaturschema är möjligheten att generera digitala signaturer för ett stort antal meddelanden med endast en hemlig nyckel. För att en angripare ska kunna förfalska en signatur måste han lösa komplexa matematiska problem med att hitta logaritmen i fältet . Flera kommentarer bör göras:

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 .

Kryptografisk styrka och funktioner

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

Anteckningar

  1. Elgamal, 1985 .

Litteratur