Bouncy Castle Cryptography Library 1.77.0

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
EthereumIESEngine.HandshakeKDFFunction(int counterStart, Digest digest)
          Construct a KDF Parameters generator.
 
Method Summary
 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EthereumIESEngine.HandshakeKDFFunction

public EthereumIESEngine.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 interface DerivationFunction

getDigest

public Digest getDigest()
return the underlying digest.
Specified by:
getDigest in interface DigestDerivationFunction

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 interface DerivationFunction
Throws:
java.lang.IllegalArgumentException - if the size of the request will cause an overflow.
DataLengthException - if the out buffer is too small.

Bouncy Castle Cryptography Library 1.77.0