Class EdDSA
- java.lang.Object
-
- org.magmacollective.darkcrystal.keybackup.crypto.EdDSA
-
public class EdDSA extends java.lang.Object
Ed25519 Key generation, signing and validation
-
-
Field Summary
Fields Modifier and Type Field Description static int
PUBLIC_KEY_LENGTH
static int
SIGNATURE_LENGTH
-
Constructor Summary
Constructors Constructor Description EdDSA()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static byte[]
detachMessage(byte[] messageWithSignature)
Remove a signature from a messagejava.security.KeyPair
generateKeyPair()
Generate a keypairbyte[]
signMessage(byte[] message, java.security.PrivateKey privateKey)
Generate a signature for a given message, and return the signature attached to the messagebyte[]
signMessageDetached(byte[] message, java.security.PrivateKey privateKey)
Generate a signature for the given messagejava.lang.Boolean
verifyMessage(byte[] messageWithSignature, java.security.PublicKey publicKey)
Verify a given signed messagejava.lang.Boolean
verifyMessageDetached(byte[] message, java.security.PublicKey publicKey, byte[] signature)
Verify A given message with a given signature
-
-
-
Field Detail
-
SIGNATURE_LENGTH
public static final int SIGNATURE_LENGTH
- See Also:
- Constant Field Values
-
PUBLIC_KEY_LENGTH
public static final int PUBLIC_KEY_LENGTH
- See Also:
- Constant Field Values
-
-
Method Detail
-
generateKeyPair
public java.security.KeyPair generateKeyPair() throws java.lang.Exception
Generate a keypair- Returns:
- A keypair
- Throws:
java.lang.Exception
-
signMessage
public byte[] signMessage(byte[] message, java.security.PrivateKey privateKey) throws java.lang.Exception
Generate a signature for a given message, and return the signature attached to the message- Parameters:
message
-privateKey
-- Returns:
- signed message
- Throws:
java.lang.Exception
-
verifyMessage
public java.lang.Boolean verifyMessage(byte[] messageWithSignature, java.security.PublicKey publicKey) throws java.lang.Exception
Verify a given signed message- Parameters:
messageWithSignature
-publicKey
-- Returns:
- whether the message is valid or not
- Throws:
java.lang.Exception
-
detachMessage
public static byte[] detachMessage(byte[] messageWithSignature)
Remove a signature from a message- Parameters:
messageWithSignature
-- Returns:
- the message without a signature
-
signMessageDetached
public byte[] signMessageDetached(byte[] message, java.security.PrivateKey privateKey) throws java.lang.Exception
Generate a signature for the given message- Parameters:
message
-privateKey
-- Returns:
- a signature
- Throws:
java.lang.Exception
-
verifyMessageDetached
public java.lang.Boolean verifyMessageDetached(byte[] message, java.security.PublicKey publicKey, byte[] signature) throws java.lang.Exception
Verify A given message with a given signature- Parameters:
message
-publicKey
-signature
-- Returns:
- whether the signature is valid or not
- Throws:
java.lang.Exception
-
-