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 intgenerateBytes(byte[] out, int outOff, int len)fill len bytes of the output buffer with bytes generated from the derivation function.DigestgetDigest()return the underlying digest.voidinit(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:
initin interfaceDerivationFunction
-
getDigest
public Digest getDigest()
return the underlying digest.- Specified by:
getDigestin interfaceDigestDerivationFunction
-
generateBytes
public int generateBytes(byte[] out, int outOff, int len) throws DataLengthException, java.lang.IllegalArgumentExceptionfill len bytes of the output buffer with bytes generated from the derivation function.- Specified by:
generateBytesin interfaceDerivationFunction- Throws:
java.lang.IllegalArgumentException- if the size of the request will cause an overflow.DataLengthException- if the out buffer is too small.
-
-