1b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampackage org.bouncycastle.crypto; 2b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 3b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam/** 4b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam * base interface for general purpose byte derivation functions. 5b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam */ 6b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallampublic interface DerivationFunction 7b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam{ 8b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public void init(DerivationParameters param); 9b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 10b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam /** 11b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam * return the message digest used as the basis for the function 12b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam */ 13b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public Digest getDigest(); 14b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam 15b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam public int generateBytes(byte[] out, int outOff, int len) 16b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam throws DataLengthException, IllegalArgumentException; 17b61a96e7ef1a78acf013bbf08fe537e5b5f129caPeter Hallam} 18