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(String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)
protected
KeyAgreementSpi(String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
bigIntToBytes(BigInteger r)
protected byte[]
calcSecret()
protected Key
engineDoPhase(Key key, boolean lastPhase)
protected void
engineInit(Key key, SecureRandom random)
protected void
engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)
-
Methods inherited from class org.bouncycastle.jcajce.provider.asymmetric.util.BaseAgreementSpi
engineGenerateSecret, engineGenerateSecret, engineGenerateSecret, getAlgorithm, getKeySize, trimZeroes
-
-
-
-
Constructor Detail
-
KeyAgreementSpi
protected KeyAgreementSpi(String kaAlgorithm, BasicAgreement agreement, DerivationFunction kdf)
-
KeyAgreementSpi
protected KeyAgreementSpi(String kaAlgorithm, ECDHCUnifiedAgreement agreement, DerivationFunction kdf)
-
-
Method Detail
-
bigIntToBytes
protected byte[] bigIntToBytes(BigInteger r)
-
engineDoPhase
protected Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException
- Specified by:
engineDoPhase
in classKeyAgreementSpi
- Throws:
InvalidKeyException
IllegalStateException
-
engineInit
protected void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
- Specified by:
engineInit
in classKeyAgreementSpi
- Throws:
InvalidKeyException
InvalidAlgorithmParameterException
-
engineInit
protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException
- Specified by:
engineInit
in classKeyAgreementSpi
- Throws:
InvalidKeyException
-
calcSecret
protected byte[] calcSecret()
- Specified by:
calcSecret
in classBaseAgreementSpi
-
-