Class KeyAgreementSpi
- java.lang.Object
-
- javax.crypto.KeyAgreementSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
-
- org.bouncycastle.jcajce.provider.asymmetric.ec.KeyAgreementSpi
-
- Direct Known Subclasses:
KeyAgreementSpi.CDHwithSHA1KDFAndSharedInfo
,KeyAgreementSpi.CDHwithSHA224KDFAndSharedInfo
,KeyAgreementSpi.CDHwithSHA256KDFAndSharedInfo
,KeyAgreementSpi.CDHwithSHA384KDFAndSharedInfo
,KeyAgreementSpi.CDHwithSHA512KDFAndSharedInfo
,KeyAgreementSpi.DH
,KeyAgreementSpi.DHC
,KeyAgreementSpi.DHUC
,KeyAgreementSpi.DHUwithSHA1CKDF
,KeyAgreementSpi.DHUwithSHA1KDF
,KeyAgreementSpi.DHUwithSHA224CKDF
,KeyAgreementSpi.DHUwithSHA224KDF
,KeyAgreementSpi.DHUwithSHA256CKDF
,KeyAgreementSpi.DHUwithSHA256KDF
,KeyAgreementSpi.DHUwithSHA384CKDF
,KeyAgreementSpi.DHUwithSHA384KDF
,KeyAgreementSpi.DHUwithSHA512CKDF
,KeyAgreementSpi.DHUwithSHA512KDF
,KeyAgreementSpi.DHwithSHA1CKDF
,KeyAgreementSpi.DHwithSHA1KDF
,KeyAgreementSpi.DHwithSHA1KDFAndSharedInfo
,KeyAgreementSpi.DHwithSHA224KDFAndSharedInfo
,KeyAgreementSpi.DHwithSHA256CKDF
,KeyAgreementSpi.DHwithSHA256KDFAndSharedInfo
,KeyAgreementSpi.DHwithSHA384CKDF
,KeyAgreementSpi.DHwithSHA384KDFAndSharedInfo
,KeyAgreementSpi.DHwithSHA512CKDF
,KeyAgreementSpi.DHwithSHA512KDFAndSharedInfo
,KeyAgreementSpi.ECKAEGwithRIPEMD160KDF
,KeyAgreementSpi.ECKAEGwithSHA1KDF
,KeyAgreementSpi.ECKAEGwithSHA224KDF
,KeyAgreementSpi.ECKAEGwithSHA256KDF
,KeyAgreementSpi.ECKAEGwithSHA384KDF
,KeyAgreementSpi.ECKAEGwithSHA512KDF
,KeyAgreementSpi.MQV
,KeyAgreementSpi.MQVwithSHA1CKDF
,KeyAgreementSpi.MQVwithSHA1KDF
,KeyAgreementSpi.MQVwithSHA1KDFAndSharedInfo
,KeyAgreementSpi.MQVwithSHA224CKDF
,KeyAgreementSpi.MQVwithSHA224KDF
,KeyAgreementSpi.MQVwithSHA224KDFAndSharedInfo
,KeyAgreementSpi.MQVwithSHA256CKDF
,KeyAgreementSpi.MQVwithSHA256KDF
,KeyAgreementSpi.MQVwithSHA256KDFAndSharedInfo
,KeyAgreementSpi.MQVwithSHA384CKDF
,KeyAgreementSpi.MQVwithSHA384KDF
,KeyAgreementSpi.MQVwithSHA384KDFAndSharedInfo
,KeyAgreementSpi.MQVwithSHA512CKDF
,KeyAgreementSpi.MQVwithSHA512KDF
,KeyAgreementSpi.MQVwithSHA512KDFAndSharedInfo
public class KeyAgreementSpi extends BaseAgreementSpi
Diffie-Hellman key agreement using elliptic curve keys, ala IEEE P1363 both the simple one, and the simple one with cofactors are supported.Also, MQV key agreement per SEC-1
-
-
Nested Class Summary
-
Field Summary
-
Fields inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
kdf, ukmParameters
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
KeyAgreementSpi(java.lang.String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)
protected
KeyAgreementSpi(java.lang.String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
bigIntToBytes(java.math.BigInteger r)
protected byte[]
calcSecret()
protected java.security.Key
engineDoPhase(java.security.Key key, boolean lastPhase)
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)
-
Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
engineGenerateSecret, engineGenerateSecret, engineGenerateSecret, getAlgorithm, getKeySize, trimZeroes
-
-
-
-
Constructor Detail
-
KeyAgreementSpi
protected KeyAgreementSpi(java.lang.String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
KeyAgreementSpi
protected KeyAgreementSpi(java.lang.String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)
-
-
Method Detail
-
bigIntToBytes
protected 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 classjavax.crypto.KeyAgreementSpi
- Throws:
java.security.InvalidKeyException
java.lang.IllegalStateException
-
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
-
calcSecret
protected byte[] calcSecret()
- Specified by:
calcSecret
in classBaseAgreementSpi
-
-