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
ConstructorsConstructorDescriptionHandshakeKDFFunction(int counterStart, Digest digest) Construct a KDF Parameters generator. -
Method Summary
Modifier and TypeMethodDescriptionintgenerateBytes(byte[] out, int outOff, int len) fill len bytes of the output buffer with bytes generated from the derivation function.return the underlying digest.voidinit(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:
initin interfaceDerivationFunction
-
getDigest
return the underlying digest.- Specified by:
getDigestin 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:
generateBytesin interfaceDerivationFunction- Throws:
IllegalArgumentException- if the size of the request will cause an overflow.DataLengthException- if the out buffer is too small.
-