org.bouncycastle.jce.provider
Class JCEECDHKeyAgreement
java.lang.Object
javax.crypto.KeyAgreementSpi
org.bouncycastle.jce.provider.JCEECDHKeyAgreement
- Direct Known Subclasses:
- JCEECDHKeyAgreement.DH, JCEECDHKeyAgreement.DHC, JCEECDHKeyAgreement.DHwithSHA1KDF
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.
Method Summary |
private byte[] |
bigIntToBytes(java.math.BigInteger r)
|
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.spec.AlgorithmParameterSpec params,
java.security.SecureRandom random)
|
protected void |
engineInit(java.security.Key key,
java.security.SecureRandom random)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
converter
private static final X9IntegerConverter converter
algorithms
private static final java.util.Hashtable algorithms
result
private java.math.BigInteger result
privKey
private ECPrivateKeyParameters privKey
agreement
private BasicAgreement agreement
kdf
private DerivationFunction kdf
JCEECDHKeyAgreement
protected JCEECDHKeyAgreement(BasicAgreement agreement)
JCEECDHKeyAgreement
protected JCEECDHKeyAgreement(BasicAgreement agreement,
DerivationFunction kdf)
bigIntToBytes
private byte[] bigIntToBytes(java.math.BigInteger r)
engineDoPhase
protected java.security.Key engineDoPhase(java.security.Key key,
boolean lastPhase)
throws java.security.InvalidKeyException,
java.lang.IllegalStateException
- Specified by:
engineDoPhase
in class javax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException
java.lang.IllegalStateException
engineGenerateSecret
protected byte[] engineGenerateSecret()
throws java.lang.IllegalStateException
- Specified by:
engineGenerateSecret
in class javax.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 class javax.crypto.KeyAgreementSpi
- Throws:
java.lang.IllegalStateException
javax.crypto.ShortBufferException
engineGenerateSecret
protected javax.crypto.SecretKey engineGenerateSecret(java.lang.String algorithm)
throws java.security.NoSuchAlgorithmException
- Specified by:
engineGenerateSecret
in class javax.crypto.KeyAgreementSpi
- Throws:
java.security.NoSuchAlgorithmException
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 class javax.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 class javax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException