Package org.bouncycastle.crypto.engines
Class EthereumIESEngine.HandshakeKDFFunction
- java.lang.Object
-
- org.bouncycastle.crypto.engines.EthereumIESEngine.HandshakeKDFFunction
-
- All Implemented Interfaces:
DerivationFunction
,DigestDerivationFunction
- Enclosing class:
- EthereumIESEngine
public static class EthereumIESEngine.HandshakeKDFFunction extends java.lang.Object implements DigestDerivationFunction
Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
This implementation is based on ISO 18033/P1363a.This class has been adapted from the BaseKDFBytesGenerator implementation of Bouncy Castle. Only one change is present specifically for Ethereum.
-
-
Constructor Summary
Constructors Constructor Description HandshakeKDFFunction(int counterStart, Digest digest)
Construct a KDF Parameters generator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
generateBytes(byte[] out, int outOff, int len)
fill len bytes of the output buffer with bytes generated from the derivation function.Digest
getDigest()
return the underlying digest.void
init(DerivationParameters param)
-
-
-
Constructor Detail
-
HandshakeKDFFunction
public HandshakeKDFFunction(int counterStart, Digest digest)
Construct a KDF Parameters generator.- Parameters:
counterStart
- value of counter.digest
- the digest to be used as the source of derived keys.
-
-
Method Detail
-
init
public void init(DerivationParameters param)
- Specified by:
init
in interfaceDerivationFunction
-
getDigest
public Digest getDigest()
return the underlying digest.- Specified by:
getDigest
in interfaceDigestDerivationFunction
-
generateBytes
public int generateBytes(byte[] out, int outOff, int len) throws DataLengthException, java.lang.IllegalArgumentException
fill len bytes of the output buffer with bytes generated from the derivation function.- Specified by:
generateBytes
in interfaceDerivationFunction
- Throws:
java.lang.IllegalArgumentException
- if the size of the request will cause an overflow.DataLengthException
- if the out buffer is too small.
-
-