Ius mentis Homepage | Categorieën | Lijst A-Z | Willekeurig artikel | Herpubliceren? | Over deze site | Blog | Contact
 

Het ElGamal public key systeem

Net als het Diffie-Hellman algoritme is ElGamal een algoritme om een gezamenlijke sleutel mee af te spreken. Met deze sleutel kunnen dan de echte berichten worden versleuteld. ElGamal is relatief eenvoudig maar produceert relatief grote berichten, vandaar dat het niet zo populair is als bijvoorbeeld Diffie-Hellman of RSA.

Inhoudsopgave

Introductie

Het ElGamal cryptografisch algoritme is vergelijkbaar met het Diffie-Hellman systeem. De uitvinder van dit systeem, Taher Elgamal, heeft hierop geen octrooi aangevraagd. De eigenaren van het Diffie-Hellman octrooi (US patent 4,200,770) stellen dat dit systeem onder hun octrooi valt. Overigens wordt het systeem "ElGamal" genoemd, ondanks het feit dat de achternaam van de heer Elgamal geen hoofdletter 'G' bevat.

Een nadeel van dit systeem is dat het versleutelde bericht ongeveer twee maal zo groot wordt als het oorspronkelijke bericht. Daarom wordt het vooral gebruikt om kleine berichten, zoals geheime sessiesleutels, mee te versleutelen.

Het genereren van de ElGamal publieke sleutel

Alice en Bob kiezen eerst een (publiekelijk bekend) priemgetal p en een generator g, net als bij Diffie-Hellman. Alice kiest vervolgens een willekeurig getal a en berekent A = ga. Bob doet hetzelfde en berekent B = gb.

Alice's publieke sleutel is A en haar private sleutel is a. Bob's publieke sleutel is B en zijn private sleutel is b.

Versleutelen en ontsleutelen van berichten

Als Bob nu een bericht m naar Alice wil sturen, kiest hij een willekeurig getal k dat kleiner is dan p. Hij berekent dan:

c1 = gk mod p c2 = Ak * m mod p

en stuurt c1 en c2 naar Alice. Alice gebruikt dit om het bericht m te reconstrueren. Zij berekent daartoe

c1-a * c2 mod p = m

Dit is gelijk aan m, want

c1-a * c2 mod p = (gk)-a * Ak * m = g-a * k * Ak * m = (ga)-k * Ak * m = A-k * Ak * m = 1 * m = m

Gerelateerde artikelen

Gespecialiseerd advies nodig?

Heeft u na het lezen van dit artikel nog vragen, of zit u met een juridisch probleem waar u advies over wilt? Neem dan contact op met ICT-jurist Arnoud Engelfriet, auteur van dit artikel.

© Arnoud Engelfriet. Dit werk mag vrij worden verspreid en gepubliceerd zoals bepaald in de licentievoorwaarden.

Laatste wijziging:
16 december 2016