Skip to content

Add Elliptic Curve Cryptography Algorithm #5700

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

Merged
merged 14 commits into from
Oct 11, 2024
Merged

Conversation

xuyang471
Copy link
Contributor

In this PR, I’ve added the Elliptic Curve Cryptography (ECC) algorithm to the project. The ECC class handles key generation, encryption, and decryption using elliptic curve operations. I also included classes for defining elliptic curves and points on those curves, which are essential for performing ECC computations.

Elliptic Curve Cryptography offers several advantages, including stronger security with smaller key sizes compared to other cryptographic systems like RSA. This makes ECC highly efficient in terms of computational performance, memory usage, and bandwidth, which is especially beneficial for mobile devices and environments with limited resources.

Additionally, I’ve written several unit tests to verify the encryption and decryption processes, ensure randomness in the ciphertexts, and check functionality with known values. This implementation aims to provide a simple but effective introduction to ECC for cryptographic purposes.

@codecov-commenter
Copy link

codecov-commenter commented Oct 10, 2024

Codecov Report

Attention: Patch coverage is 94.52055% with 4 lines in your changes missing coverage. Please review.

Project coverage is 62.92%. Comparing base (7326ab2) to head (0d3fadf).

Files with missing lines Patch % Lines
src/main/java/com/thealgorithms/ciphers/ECC.java 94.52% 2 Missing and 2 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5700      +/-   ##
============================================
+ Coverage     62.77%   62.92%   +0.14%     
- Complexity     4025     4033       +8     
============================================
  Files           565      566       +1     
  Lines         15939    16012      +73     
  Branches       3076     3081       +5     
============================================
+ Hits          10006    10075      +69     
- Misses         5521     5523       +2     
- Partials        412      414       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@siriak siriak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

@siriak siriak enabled auto-merge (squash) October 11, 2024 05:44
@siriak siriak merged commit 2040df8 into TheAlgorithms:master Oct 11, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants