|
|||||||||
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 |
Fields inherited from class xjava.security.IJCE_Traceable |
tracing |
Constructor Summary | |
LOKI91()
Constructs a LOKI91 cipher object, in the UNINITIALIZED state. |
Method Summary | |
(package private) static void |
|
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 xjava.security.IJCE_Traceable |
disableTracing, enableTracing, traceMethod, traceResult, traceResult, traceVoidMethod |
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()
static void()
protected final void finalize()
finalize
in class java.lang.Object
public final java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class Cipher
xjava.security.Cipher
java.lang.CloneNotSupportedException
- if the cipher is not cloneable.protected int engineBlockSize()
engineBlockSize
in class Cipher
protected void engineInitEncrypt(java.security.Key key) throws java.security.KeyException
engineInitEncrypt
in class Cipher
key
- the key to use for encryption.java.security.KeyException
- if the key is invalid.protected void engineInitDecrypt(java.security.Key key) throws java.security.KeyException
engineInitDecrypt
in class Cipher
key
- the key to use for decryption.java.security.KeyException
- if the key is invalid.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.
engineUpdate
in class Cipher
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.CryptixException
- if the native library is being used, and it
reports an error.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |