diff --git a/common/src/main/java/org/whispersystems/curve25519/Curve25519.java b/common/src/main/java/org/whispersystems/curve25519/Curve25519.java index cfe2ad2..678ab03 100644 --- a/common/src/main/java/org/whispersystems/curve25519/Curve25519.java +++ b/common/src/main/java/org/whispersystems/curve25519/Curve25519.java @@ -72,6 +72,18 @@ public Curve25519KeyPair generateKeyPair() { return new Curve25519KeyPair(publicKey, privateKey); } + /** + * Generates a Curve25519 keypair with given random bytes(32 bytes). + * + * @return A generated Curve25519 keypair. + */ + public Curve25519KeyPair generateKeyPair(byte[] random) { + byte[] privateKey = provider.generatePrivateKey(random); + byte[] publicKey = provider.generatePublicKey(privateKey); + + return new Curve25519KeyPair(publicKey, privateKey); + } + /** * Calculates an ECDH agreement. *