| package org.bouncycastle.crypto.generators; |
| |
| import java.security.SecureRandom; |
| |
| import org.bouncycastle.crypto.AsymmetricCipherKeyPair; |
| import org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator; |
| import org.bouncycastle.crypto.KeyGenerationParameters; |
| import org.bouncycastle.crypto.params.X25519PrivateKeyParameters; |
| import org.bouncycastle.crypto.params.X25519PublicKeyParameters; |
| |
| public class X25519KeyPairGenerator |
| implements AsymmetricCipherKeyPairGenerator |
| { |
| private SecureRandom random; |
| |
| public void init(KeyGenerationParameters parameters) |
| { |
| this.random = parameters.getRandom(); |
| } |
| |
| public AsymmetricCipherKeyPair generateKeyPair() |
| { |
| X25519PrivateKeyParameters privateKey = new X25519PrivateKeyParameters(random); |
| X25519PublicKeyParameters publicKey = privateKey.generatePublicKey(); |
| return new AsymmetricCipherKeyPair(publicKey, privateKey); |
| } |
| } |