Riddhiman Dasgupta
Riddhiman Dasgupta

Reputation: 383

Elliptic Curve Cryptography algorithms in Java

We're a couple of amateurs in cryptography. We have to implement different algorithms related to Elliptic curve cryptography in Java. So far, we have been able to identify some key algorithms like ECDH, ECIES, ECDSA, ECMQV from the Wikipedia page on elliptic curve cryptography.

Now, we are at a loss in trying to understand how and where to start implementing these algorithms. Also, does Java already provide these algorithms in its architecture? Or do we have to use some API like BouncyCastle (we're seeing it all over this site!)? Or can we simply implement the algorithms on our own using standard code? Any help would be much appreciated!

Upvotes: 7

Views: 16453

Answers (3)

Sajith Vijesekara
Sajith Vijesekara

Reputation: 1362

This will describe simple ellipic curve cryptography http://javaconceptzz.blogspot.com/2013/08/java-eliptic-curve-cryptography.html

Upvotes: 1

Maarten Bodewes
Maarten Bodewes

Reputation: 93948

Yes, you can always rely on Bouncy Castle libraries to implement most required algorithms, certainly including Elliptic Curve crypto. No need to implement your own; instead try and get Bouncy fixed if you find any issues.

The OpenJDK 7 and Java 7 SE from Oracle also implements Elliptic Curve cryptography, earlier editions only contained a comprehensive API for Elliptic Curve cryptography, but you required a JCE provider (like Bouncy Castle) to provide the actual implementation.

Upvotes: 8

Dolanor
Dolanor

Reputation: 820

You can watch the OpenSource project TextSecure which is an SMS/texto app for android who can send encrypted text messages on GSM phone network with the same idea as OpenPGP, but using ECDH and ECDSA. All this has been implemented into that app with BouncyCastle.

https://github.com/WhisperSystems/TextSecure/tree/master/src/org/bouncycastle

Upvotes: 1

Related Questions