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 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 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
ConstructorDescriptionHandshakeKDFFunction
(int counterStart, Digest digest) Construct a KDF Parameters generator. -
Method Summary
Modifier and TypeMethodDescriptionint
generateBytes
(byte[] out, int outOff, int len) fill len bytes of the output buffer with bytes generated from the derivation function.return the underlying digest.void
init
(DerivationParameters param)
-
Constructor Details
-
HandshakeKDFFunction
Construct a KDF Parameters generator.- Parameters:
counterStart
- value of counter.digest
- the digest to be used as the source of derived keys.
-
-
Method Details
-
init
- Specified by:
init
in interfaceDerivationFunction
-
getDigest
return the underlying digest.- Specified by:
getDigest
in interfaceDigestDerivationFunction
-
generateBytes
public int generateBytes(byte[] out, int outOff, int len) throws DataLengthException, IllegalArgumentException fill len bytes of the output buffer with bytes generated from the derivation function.- Specified by:
generateBytes
in interfaceDerivationFunction
- Throws:
IllegalArgumentException
- if the size of the request will cause an overflow.DataLengthException
- if the out buffer is too small.
-