|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--xjava.security.IJCE_Traceable | +--xjava.security.Cipher | +--cryptix.provider.cipher.LOKI91
LOKI is a proposed Australian alternative cipher to DES. It was first designed by L. Brown, J. Pieprzyk and J. Seberry in 1990 and later re- designed (and renamed LOKI91), with improved resistance to differential cryptanalysis, by L. Brown, M. Kwan, J. Pieprzyk and J. Seberry.
LOKI91 is a 64-bit symmetric block cipher with a 64-bit user key. See LOKI91KeyGenerator for information about weak keys.
This current version is based on special C-code obtained, under license, from The School of Computer Science, UC, UNSW. The speed gain is achieved by pre-computing the 4,096 values of the substitutions (S-Box) used by the algorithm as well as the permutations for all possible 256 input values for each of the four 8-bit blocks.
References:
Copyright © 1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.3 $
Fields inherited from class xjava.security.Cipher |
DECRYPT,
ENCRYPT,
UNINITIALIZED |
Constructor Summary | |
LOKI91()
Constructs a LOKI91 cipher object, in the UNINITIALIZED state. |
Method Summary | |
java.lang.Object |
clone()
Always throws a CloneNotSupportedException (cloning of ciphers is not supported for security reasons). |
protected int |
engineBlockSize()
SPI: Returns the length of an input block, in bytes. |
protected void |
engineInitDecrypt(java.security.Key key)
SPI: Initializes this cipher for decryption, using the specified key. |
protected void |
engineInitEncrypt(java.security.Key key)
SPI: Initializes this cipher for encryption, using the specified key. |
protected int |
engineUpdate(byte[] in,
int inOffset,
int inLen,
byte[] out,
int outOffset)
SPI: This is the main engine method for updating data. |
protected void |
finalize()
Cleans up resources used by this instance, if necessary. |
static LinkStatus |
getLinkStatus()
Gets an object representing the native linking status of this class. |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Constructor Detail |
public LOKI91()
Method Detail |
public static LinkStatus getLinkStatus()
protected final void finalize()
public final java.lang.Object clone() throws java.lang.CloneNotSupportedException
protected int engineBlockSize()
protected void engineInitEncrypt(java.security.Key key) throws java.security.KeyException
key
- the key to use for encryption.protected void engineInitDecrypt(java.security.Key key) throws java.security.KeyException
key
- the key to use for decryption.protected int engineUpdate(byte[] in, int inOffset, int inLen, byte[] out, int outOffset)
in and out may be the same array, and the input and output regions may overlap.
in
- the input data.inOffset
- the offset into in specifying where the data starts.inLen
- the length of the subarray.out
- the output array.outOffset
- the offset indicating where to start writing into
the out array.
|
Cryptix V3.2 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |