org.bouncycastle.crypto.generators

Class KDF2BytesGenerator

Implemented Interfaces:
DerivationFunction

public class KDF2BytesGenerator
extends java.lang.Object
implements DerivationFunction

Generator for PBE derived keys and ivs as defined by IEEE P1363a
This implementation is based on draft 9 of IEEE P1363a. Note: as this is still a draft the output of this generator may change, don't use it for anything that might be subject to long term storage.

Constructor Summary

KDF2BytesGenerator(Digest digest)
Construct a KDF2 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)

Constructor Details

KDF2BytesGenerator

public KDF2BytesGenerator(Digest digest)
Construct a KDF2 Parameters generator. Generates key material according to IEEE P1363a - if you want orthodox results you should use a digest specified in the standard.

Note: IEEE P1363a standard is still a draft standard, if the standard changes this function, the output of this function will change as well. Don't use this routine for anything subject to long term storage.

Parameters:
digest - the digest to be used as the source of derived keys.

Method Details

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 interface DerivationFunction

Throws:
DataLengthException - if the out buffer is too small.


getDigest

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


init

public void init(DerivationParameters param)
Specified by:
init in interface DerivationFunction