|
Bouncy Castle Cryptography Library 1.77.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.bouncycastle.crypto.engines.HC256Engine
HC-256 is a software-efficient stream cipher created by Hongjun Wu. It generates keystream from a 256-bit secret key and a 256-bit initialization vector.
https://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf
Its brother, HC-128, is a third phase candidate in the eStream contest. The algorithm is patent-free. No attacks are known as of today (April 2007). See https://www.ecrypt.eu.org/stream/hcp3.html
Constructor Summary | |
HC256Engine()
|
Method Summary | |
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the cipher implements. |
void |
init(boolean forEncryption,
CipherParameters params)
Initialise a HC-256 cipher. |
int |
processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
process a block of bytes from in putting the result into out. |
void |
reset()
reset the cipher. |
byte |
returnByte(byte in)
encrypt/decrypt a single byte returning the result. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public HC256Engine()
Method Detail |
public java.lang.String getAlgorithmName()
StreamCipher
getAlgorithmName
in interface StreamCipher
org.bouncycastle.crypto.StreamCipher
public void init(boolean forEncryption, CipherParameters params) throws java.lang.IllegalArgumentException
init
in interface StreamCipher
forEncryption
- whether or not we are for encryption. Irrelevant, as
encryption and decryption are the same.params
- the parameters required to set up the cipher.java.lang.IllegalArgumentException
- if the params argument is
inappropriate (ie. the key is not 256 bit long).public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws DataLengthException
StreamCipher
processBytes
in interface StreamCipher
org.bouncycastle.crypto.StreamCipher
in
- the input byte array.inOff
- the offset into the in array where the data to be processed starts.len
- the number of bytes to be processed.out
- the output buffer the processed bytes go into.outOff
- the offset into the output byte array the processed data starts at.DataLengthException
- if the output buffer is too small.public void reset()
StreamCipher
reset
in interface StreamCipher
public byte returnByte(byte in)
StreamCipher
returnByte
in interface StreamCipher
org.bouncycastle.crypto.StreamCipher
in
- the byte to be processed.
|
Bouncy Castle Cryptography Library 1.77.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |