-
Notifications
You must be signed in to change notification settings - Fork 20.9k
Add ElGamalCipher implementing ElGamal encryption and decryption #7064
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ElGamalCipher implementing ElGamal encryption and decryption #7064
Conversation
polasisubash
commented
Nov 12, 2025
Hi maintainers 👋,
I’ve implemented the ElGamal encryption and decryption algorithm as described in the feature request (#6934).
The code compiles successfully, passes local tests, and follows project conventions.
Looking forward to your review. Thank you! 🙌
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@ ## master #7064 +/- ## ============================================ - Coverage 78.51% 78.45% -0.07% Complexity 6752 6752 ============================================ Files 759 760 +1 Lines 22402 22417 +15 Branches 4400 4400 ============================================ - Hits 17589 17587 -2 - Misses 4108 4124 +16 - Partials 705 706 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
polasisubash
commented
Nov 12, 2025
✅ All checks have passed successfully.
The implementation follows the existing cipher structure and includes key generation, encryption, and decryption for ElGamal.
Kindly review when you get a chance. Thank you!
@DenizAltunkapan @alxkm
Kindly review this PR when possible. All checks have passed ✅
1 similar comment
polasisubash
commented
Nov 14, 2025
✅ All checks have passed successfully.
The implementation follows the existing cipher structure and includes key generation, encryption, and decryption for ElGamal.
Kindly review when you get a chance. Thank you!
@DenizAltunkapan @alxkm
Kindly review this PR when possible. All checks have passed ✅
polasisubash
commented
Nov 15, 2025
✅ All checks have passed successfully.
The implementation follows the existing cipher structure and includes key generation, encryption, and decryption for ElGamal.
Kindly review when you get a chance. Thank you!
@DenizAltunkapan @alxkm
polasisubash
commented
Nov 22, 2025
✅ All checks have passed successfully.
The implementation follows the existing cipher structure and includes key generation, encryption, and decryption for ElGamal.
Kindly review when you get a chance. Thank you!
@DenizAltunkapan @alxkm
DenizAltunkapan
commented
Nov 22, 2025
@polasisubash Please always add a corresponding test class to your implementation
DenizAltunkapan
commented
Dec 14, 2025
@polasisubash
The implementation captures the basic idea of ElGamal, but there are several critical cryptographic issues, such as invalid generator selection, missing key range constraints, and lack of input validation. Additionally, the stateful design and missing documentation/tests do not align with the repository’s standards, so the code needs refactoring before it can be merged.
Also don't forget the corresponding test class!
Description
Added a new class
ElGamalCipher.javaimplementing the ElGamal encryption and decryption algorithm.Features
Example Output
Original: 12345
Encrypted: (c1, c2 values)
Decrypted: 12345
Technical Notes
src/main/java/com/thealgorithms/ciphers/References
Checklist