I was asked about this question by a friend. He considers that Alice and Bob share a secret key s=g^(xy). So why isn't it considered a symmentric-key scheme? According to Wikipedia:

Symmetric-key algorithms[1] are algorithms for cryptography that use the same cryptographic keys for both encryption of plaintext and decryption of ciphertext. The keys may be identical or there may be a simple transformation to go between the two keys.

I observe that the shared s is quite easy to compute by Alice and Bob.

I know there's misunderstanding, but I can't convince myself now.

  • $\begingroup$ Going from g^(xy) to m is only part of ElGamal. ​ ​ $\endgroup$
    – user991
    Nov 16, 2016 at 9:28
  • $\begingroup$ Yes, but they do share the same g^(xy) at some point of encryption and decryption, right? I know the shared material doesn't make ElGamal symmentric, but why? $\endgroup$
    – Donald Wu
    Nov 16, 2016 at 9:39
  • $\begingroup$ Yes. ​ The shared material isn't ElGamal's decryption key. ​ ​ ​ ​ $\endgroup$
    – user991
    Nov 16, 2016 at 9:40

1 Answer 1


g^x is the public key of Alice and x her private key, while g^y is the public key of Bob and y his private key.

s=g^(xy) is the shared secret between Alice and bob, that can only be computed by them.

Thus, ElGamal is an asymmetric algorithm computing a shared secret that can be used as a symmetric key.

  • $\begingroup$ simple and great answer, congrats. $\endgroup$
    – KanekiDev
    Nov 16, 2016 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.