Add ed25519

This commit is contained in:
Moxie Marlinspike
2014-06-24 12:59:22 -07:00
parent 79020cd33c
commit 2ed8d333d9
81 changed files with 7997 additions and 5 deletions

View File

@@ -39,6 +39,9 @@ public class Curve25519 {
private static native byte[] generatePublicKey(byte[] privateKey);
private static native byte[] generatePrivateKey(byte[] random, boolean ephemeral);
private static native byte[] calculateSignature(byte[] privateKey, byte[] message);
private static native boolean verifySignature(byte[] publicKey, byte[] message, byte[] signature);
public static ECKeyPair generateKeyPair(boolean ephemeral) {
byte[] privateKey = generatePrivateKey(ephemeral);
byte[] publicKey = generatePublicKey(privateKey);
@@ -51,6 +54,14 @@ public class Curve25519 {
((DjbECPublicKey)publicKey).getPublicKey());
}
static byte[] calculateSignature(ECPrivateKey privateKey, byte[] message) {
return calculateSignature(((DjbECPrivateKey)privateKey).getPrivateKey(), message);
}
static boolean verifySignature(ECPublicKey publicKey, byte[] message, byte[] signature) {
return verifySignature(((DjbECPublicKey)publicKey).getPublicKey(), message, signature);
}
static ECPublicKey decodePoint(byte[] encoded, int offset)
throws InvalidKeyException
{