|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectde.rtner.security.auth.spi.PBKDF2Engine
public class PBKDF2Engine
This Password Based Key Derivation Function 2 implementation.
Version 2.0
PBKDF2 (P, S, c, dkLen)
Options:
Input:
Output:
| Field Summary | |
|---|---|
protected PBKDF2Parameters |
parameters
|
protected PRF |
prf
|
| Constructor Summary | |
|---|---|
PBKDF2Engine()
Constructor for PBKDF2 implementation object. |
|
PBKDF2Engine(PBKDF2Parameters parameters)
Constructor for PBKDF2 implementation object. |
|
PBKDF2Engine(PBKDF2Parameters parameters,
PRF prf)
Constructor for PBKDF2 implementation object. |
|
| Method Summary | |
|---|---|
protected void |
_F(byte[] dest,
int offset,
PRF prf,
byte[] S,
int c,
int blockIndex)
Function F. |
protected void |
assertPRF(byte[] P)
Factory method. |
protected int |
ceil(int a,
int b)
Integer division with ceiling function. |
byte[] |
deriveKey(java.lang.String inputPassword)
Convert String-based input to internal byte array, then invoke PBKDF2. |
byte[] |
deriveKey(java.lang.String inputPassword,
int dkLen)
Convert String-based input to internal byte array, then invoke PBKDF2. |
PBKDF2Parameters |
getParameters()
Allow reading of configured parameters. |
PRF |
getPseudoRandomFunction()
Get currently set Pseudo Random Function. |
protected void |
INT(byte[] dest,
int offset,
int i)
Four-octet encoding of the integer i, most significant octet first. |
static void |
main(java.lang.String[] args)
Convenience client function. |
protected byte[] |
PBKDF2(PRF prf,
byte[] S,
int c,
int dkLen)
Core Password Based Key Derivation Function 2. |
void |
setParameters(PBKDF2Parameters parameters)
Allow setting of configured parameters. |
void |
setPseudoRandomFunction(PRF prf)
Set the Pseudo Random Function to use. |
boolean |
verifyKey(java.lang.String inputPassword)
Convert String-based input to internal byte arrays, then invoke PBKDF2 and verify result against the reference data that is supplied in the PBKDF2Parameters. |
protected void |
xor(byte[] dest,
byte[] src)
Block-Xor. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected PBKDF2Parameters parameters
protected PRF prf
| Constructor Detail |
|---|
public PBKDF2Engine()
public PBKDF2Engine(PBKDF2Parameters parameters)
parameters - Data holder for iteration count, method to use et cetera.
public PBKDF2Engine(PBKDF2Parameters parameters,
PRF prf)
parameters - Data holder for iteration count, method to use et cetera.prf - Supply customer Pseudo Random Function.| Method Detail |
|---|
public byte[] deriveKey(java.lang.String inputPassword)
PBKDF2
deriveKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.
public byte[] deriveKey(java.lang.String inputPassword,
int dkLen)
PBKDF2
deriveKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.dkLen - Specify desired key length
public boolean verifyKey(java.lang.String inputPassword)
PBKDF2
verifyKey in interface PBKDF2inputPassword - Candidate password to compute the derived key for.
true password match; false
incorrect passwordprotected void assertPRF(byte[] P)
P - User-supplied candidate password as array of bytes.public PRF getPseudoRandomFunction()
PBKDF2
getPseudoRandomFunction in interface PBKDF2
protected byte[] PBKDF2(PRF prf,
byte[] S,
int c,
int dkLen)
prf - Pseudo Random Function (i.e. HmacSHA1)S - Salt as array of bytes. null means no salt.c - Iteration count (see RFC 2898 4.2)dkLen - desired length of derived key.
protected int ceil(int a,
int b)
a - Numeratorb - Denominator
protected void _F(byte[] dest,
int offset,
PRF prf,
byte[] S,
int c,
int blockIndex)
dest - Destination byte bufferoffset - Offset into destination byte bufferprf - Pseudo Random FunctionS - Salt as array of bytesc - Iteration countblockIndex - The block index (>= 1).
protected void xor(byte[] dest,
byte[] src)
dest - destination byte buffersrc - source bytes
protected void INT(byte[] dest,
int offset,
int i)
dest - destination byte bufferoffset - zero-based offset into desti - the integer to encodepublic PBKDF2Parameters getParameters()
PBKDF2
getParameters in interface PBKDF2public void setParameters(PBKDF2Parameters parameters)
PBKDF2
setParameters in interface PBKDF2parameters - The parameters object to set.public void setPseudoRandomFunction(PRF prf)
PBKDF2
setPseudoRandomFunction in interface PBKDF2prf - Pseudo Random Function to set.
public static void main(java.lang.String[] args)
throws java.io.IOException,
java.security.NoSuchAlgorithmException
args - Supply the password as argument.
java.io.IOException - apparently declared, but never thrown
java.security.NoSuchAlgorithmException - Thrown if underlying crypto library does not support
requested algorithms (SHA1PRNG, HmacSHA1).
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||