|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--iaik.security.cipher.DESParameterSpec
DES parameter specification.
This class represents an initialization vector (IV), and the DES S-Boxes and P-Boxes.
If you want to use the default S-Boxes or P-Box or want the IV to be
generated automatically pass null
.
The S-Boxes have to be a byte array with 8*64 entries ranging from 0 to 15. S-Box 1 starts at index 0, S-Box 2 at 64, etc. Entries have to be present in the order originally specified; for the standard DES S-Box 1 that is 14, 4, 13, 1, 2, 15, ... , 14, 10, 0, 6, 13.
The P-Box has to be a byte array with 32 distinct entries ranging from 1 to 32. The original DES P-Box is 16, 7, 20, 21, 29, 12, ... , 30, 6, 22, 11, 4, 25.
You will typically not want to use a custom P-Box but it is implemented as the code supports it anyway. It may make sense to use custom S-Boxes, like the improved s3DES which is resistant to both differential and linear cryptanalysis (see Bruce Schneier's Applied Cryptography, page 299). However, never use random or not carefully evaluated S-Boxes as this greatly reduces DES's security (even if the attacker does not know them).
AlgorithmParameterSpec
Constructor Summary | |
DESParameterSpec(byte[] SBoxes,
byte[] PBox,
byte[] initVector)
Creates a DES Parameter specification by using the given SBoxes, PBox, and the first 8 bytes of the supplied byte array as initialization vector (IV). |
|
DESParameterSpec(byte[] SBoxes,
byte[] PBox,
byte[] initVector,
int offset)
Creates a DES Parameter specification by using the given SBoxes, PBox, and 8 bytes of the supplied byte array as initialization vector (IV), beginning at the given offset. |
Method Summary | |
byte[] |
getIV()
Returns a copy of the initialization vector (IV) as byte array representation. |
byte[] |
getPBox()
Return the PBox. |
byte[] |
getSBoxes()
Return the SBoxes. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DESParameterSpec(byte[] SBoxes, byte[] PBox, byte[] initVector)
public DESParameterSpec(byte[] SBoxes, byte[] PBox, byte[] initVector, int offset)
Method Detail |
public byte[] getIV()
public byte[] getSBoxes()
public byte[] getPBox()
|
This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |