# BrokenKDF2BytesGenerator (Bouncy Castle Library 1.45 API Specification)
Date: 2013-08-05

org.bouncycastle.jce.provider

## Class BrokenKDF2BytesGenerator

- java.lang.Object
- - org.bouncycastle.jce.provider.BrokenKDF2BytesGenerator

All Implemented Interfaces:
  DerivationFunction

    public class BrokenKDF2BytesGenerator
    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

Constructors
Constructor and Description
`BrokenKDF2BytesGenerator(Digest digest)` Construct a KDF2 Parameters generator.

### Method Summary

Methods
`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

#### BrokenKDF2BytesGenerator

    public BrokenKDF2BytesGenerator(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 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 `DerivationFunction`

#### 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.