0% found this document useful (0 votes)
30 views2 pages

ElGamal Encryption Algorithm - 240507 - 213505

ElGamal encryption is a public-key cryptosystem based on the difficulty of finding discrete logarithms in cyclic groups. It allows two parties to communicate securely, with Bob generating keys and Alice encrypting messages for Bob using his public key that he can decrypt with his private key. While secure against hackers, it is slower than other algorithms and requires larger keys.

Uploaded by

Gain ster
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views2 pages

ElGamal Encryption Algorithm - 240507 - 213505

ElGamal encryption is a public-key cryptosystem based on the difficulty of finding discrete logarithms in cyclic groups. It allows two parties to communicate securely, with Bob generating keys and Alice encrypting messages for Bob using his public key that he can decrypt with his private key. While secure against hackers, it is slower than other algorithms and requires larger keys.

Uploaded by

Gain ster
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

ElGamal Encryption Algorithm


ElGamal encryption is a public-key cryptosystem. It uses asymmetric key encryption
for communicating between two parties and encrypting the message. This cryptosystem
is based on the difficulty of finding discrete logarithm in a cyclic group that is even if
we know ga and gk, it is extremely difficult to compute gak.
Idea of ElGamal cryptosystem:
Suppose Alice wants to communicate with Bob.
1. Bob generates public and private keys:
• Bob chooses a very large number q and a cyclic group Fq.
• From the cyclic group Fq, he choose any element g and
an element a such that gcd(a, q) = 1.
• Then he computes h = ga.
• Bob publishes F, h = ga, q, and g as his public key and retains a as
private key.
2. Alice encrypts data using Bob’s public key :
• Alice selects an element k from cyclic group F
such that gcd(k, q) = 1.
• Then she computes p = gk and s = hk = gak.
• She multiples s with M.
• Then she sends (p, M*s) = (gk, M*s).
3. Bob decrypts the message :
• Bob calculates s′ = pa = gak.
• He divides M*s by s′ to obtain M as s = s′.
In this cryptosystem, the original message M is masked by multiplying gak to it. To
remove the mask, a clue is given in form of gk. Unless someone knows a, he will not
be able to retrieve M. This is because finding discrete log in a cyclic group is difficult
and simplifying knowing g a and gk is not good enough to compute g ak.

Advantages:

• Security: ElGamal is based on the discrete logarithm problem, which is


considered to be a hard problem to solve. This makes it secure against
attacks from hackers.
• Key distribution: The encryption and decryption keys are different,
making it easier to distribute keys securely. This allows for secure
communication between multiple parties.
• Digital signatures: ElGamal can also be used for digital signatures, which
allows for secure authentication of messages.
Disadvantages:

• Slow processing: ElGamal is slower compared to other encryption


algorithms, especially when used with long keys. This can make it
impractical for certain applications that require fast processing speeds.
• Key size: ElGamal requires larger key sizes to achieve the same level of
security as other algorithms. This can make it more difficult to use in some
applications.
• Vulnerability to certain attacks: ElGamal is vulnerable to attacks based
on the discrete logarithm problem, such as the index calculus algorithm.
This can reduce the security of the algorithm in certain situations.

You might also like