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 void
advanceCounter()
protected void
advanceCounter(long diff)
static void
chachaCore(int rounds, int[] input, int[] x)
ChaCha functionprotected void
generateKeyStream(byte[] output)
java.lang.String
getAlgorithmName()
Return the name of the algorithm the cipher implements.protected long
getCounter()
protected void
resetCounter()
protected void
retreatCounter()
protected void
retreatCounter(long diff)
protected void
setKey(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:StreamCipher
Return the name of the algorithm the cipher implements.- Specified by:
getAlgorithmName
in interfaceStreamCipher
- Overrides:
getAlgorithmName
in classSalsa20Engine
- Returns:
- the name of the algorithm the cipher implements.
-
advanceCounter
protected void advanceCounter(long diff)
- Overrides:
advanceCounter
in classSalsa20Engine
-
advanceCounter
protected void advanceCounter()
- Overrides:
advanceCounter
in classSalsa20Engine
-
retreatCounter
protected void retreatCounter(long diff)
- Overrides:
retreatCounter
in classSalsa20Engine
-
retreatCounter
protected void retreatCounter()
- Overrides:
retreatCounter
in classSalsa20Engine
-
getCounter
protected long getCounter()
- Overrides:
getCounter
in classSalsa20Engine
-
resetCounter
protected void resetCounter()
- Overrides:
resetCounter
in classSalsa20Engine
-
setKey
protected void setKey(byte[] keyBytes, byte[] ivBytes)
- Overrides:
setKey
in classSalsa20Engine
-
generateKeyStream
protected void generateKeyStream(byte[] output)
- Overrides:
generateKeyStream
in classSalsa20Engine
-
chachaCore
public static void chachaCore(int rounds, int[] input, int[] x)
ChaCha function- Parameters:
input
- input data
-
-