Class JCEECDHKeyAgreement
- java.lang.Object
-
- javax.crypto.KeyAgreementSpi
-
- org.gudy.bouncycastle.jce.provider.JCEECDHKeyAgreement
-
- Direct Known Subclasses:
JCEECDHKeyAgreement.DH
public class JCEECDHKeyAgreement extends javax.crypto.KeyAgreementSpi
Diffie-Hellman key agreement using elliptic curve keys, ala IEEE P1363 both the simple one, and the simple one with cofactors are supported.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JCEECDHKeyAgreement.DH
-
Field Summary
Fields Modifier and Type Field Description private BasicAgreement
agreement
private CipherParameters
privKey
private java.math.BigInteger
result
-
Constructor Summary
Constructors Modifier Constructor Description protected
JCEECDHKeyAgreement(BasicAgreement agreement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.security.Key
doPhase(java.security.Key key, boolean lastPhase)
protected java.security.Key
engineDoPhase(java.security.Key key, boolean lastPhase)
protected byte[]
engineGenerateSecret()
protected int
engineGenerateSecret(byte[] sharedSecret, int offset)
protected javax.crypto.SecretKey
engineGenerateSecret(java.lang.String algorithm)
protected void
engineInit(java.security.Key key, java.security.SecureRandom random)
protected void
engineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)
byte[]
generateSecret()
void
init(java.security.Key key)
-
-
-
Field Detail
-
result
private java.math.BigInteger result
-
privKey
private CipherParameters privKey
-
agreement
private BasicAgreement agreement
-
-
Constructor Detail
-
JCEECDHKeyAgreement
protected JCEECDHKeyAgreement(BasicAgreement agreement)
-
-
Method Detail
-
doPhase
public java.security.Key doPhase(java.security.Key key, boolean lastPhase) throws java.security.InvalidKeyException, java.lang.IllegalStateException
- Throws:
java.security.InvalidKeyException
java.lang.IllegalStateException
-
engineDoPhase
protected java.security.Key engineDoPhase(java.security.Key key, boolean lastPhase) throws java.security.InvalidKeyException, java.lang.IllegalStateException
- Specified by:
engineDoPhase
in classjavax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException
java.lang.IllegalStateException
-
generateSecret
public byte[] generateSecret() throws java.lang.IllegalStateException
- Throws:
java.lang.IllegalStateException
-
engineGenerateSecret
protected byte[] engineGenerateSecret() throws java.lang.IllegalStateException
- Specified by:
engineGenerateSecret
in classjavax.crypto.KeyAgreementSpi
- Throws:
java.lang.IllegalStateException
-
engineGenerateSecret
protected int engineGenerateSecret(byte[] sharedSecret, int offset) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException
- Specified by:
engineGenerateSecret
in classjavax.crypto.KeyAgreementSpi
- Throws:
java.lang.IllegalStateException
javax.crypto.ShortBufferException
-
engineGenerateSecret
protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm)
- Specified by:
engineGenerateSecret
in classjavax.crypto.KeyAgreementSpi
-
init
public void init(java.security.Key key) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
- Throws:
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
-
engineInit
protected void engineInit(java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
- Specified by:
engineInit
in classjavax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
-
engineInit
protected void engineInit(java.security.Key key, java.security.SecureRandom random) throws java.security.InvalidKeyException
- Specified by:
engineInit
in classjavax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException
-
-