Package org.bouncycastle.crypto.engines
Class ChaChaEngine
- java.lang.Object
 - 
- org.bouncycastle.crypto.engines.Salsa20Engine
 - 
- org.bouncycastle.crypto.engines.ChaChaEngine
 
 
 
- 
- All Implemented Interfaces:
 SkippingCipher,SkippingStreamCipher,StreamCipher
public class ChaChaEngine extends Salsa20Engine
Implementation of Daniel J. Bernstein's ChaCha stream cipher. 
- 
- 
Field Summary
- 
Fields inherited from class org.bouncycastle.crypto.engines.Salsa20Engine
DEFAULT_ROUNDS, engineState, rounds, sigma, tau, x 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ChaChaEngine()Creates a 20 rounds ChaCha engine.ChaChaEngine(int rounds)Creates a ChaCha engine with a specific number of rounds. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidadvanceCounter()protected voidadvanceCounter(long diff)static voidchachaCore(int rounds, int[] input, int[] x)ChaCha functionprotected voidgenerateKeyStream(byte[] output)java.lang.StringgetAlgorithmName()Return the name of the algorithm the cipher implements.protected longgetCounter()protected voidresetCounter()protected voidretreatCounter()protected voidretreatCounter(long diff)protected voidsetKey(byte[] keyBytes, byte[] ivBytes)- 
Methods inherited from class org.bouncycastle.crypto.engines.Salsa20Engine
getNonceSize, getPosition, init, packTauOrSigma, processBytes, reset, returnByte, salsaCore, seekTo, skip 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getAlgorithmName
public java.lang.String getAlgorithmName()
Description copied from interface:StreamCipherReturn the name of the algorithm the cipher implements.- Specified by:
 getAlgorithmNamein interfaceStreamCipher- Overrides:
 getAlgorithmNamein classSalsa20Engine- Returns:
 - the name of the algorithm the cipher implements.
 
 
- 
advanceCounter
protected void advanceCounter(long diff)
- Overrides:
 advanceCounterin classSalsa20Engine
 
- 
advanceCounter
protected void advanceCounter()
- Overrides:
 advanceCounterin classSalsa20Engine
 
- 
retreatCounter
protected void retreatCounter(long diff)
- Overrides:
 retreatCounterin classSalsa20Engine
 
- 
retreatCounter
protected void retreatCounter()
- Overrides:
 retreatCounterin classSalsa20Engine
 
- 
getCounter
protected long getCounter()
- Overrides:
 getCounterin classSalsa20Engine
 
- 
resetCounter
protected void resetCounter()
- Overrides:
 resetCounterin classSalsa20Engine
 
- 
setKey
protected void setKey(byte[] keyBytes, byte[] ivBytes)- Overrides:
 setKeyin classSalsa20Engine
 
- 
generateKeyStream
protected void generateKeyStream(byte[] output)
- Overrides:
 generateKeyStreamin classSalsa20Engine
 
- 
chachaCore
public static void chachaCore(int rounds, int[] input, int[] x)ChaCha function- Parameters:
 input- input data
 
 - 
 
 -