|
Bouncy Castle Cryptography Library 1.82 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.bouncycastle.crypto.engines.Salsa20Engine
Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
| Field Summary | |
static int |
DEFAULT_ROUNDS
|
protected int[] |
engineState
|
protected int |
rounds
|
protected static byte[] |
sigma
Deprecated. |
protected static byte[] |
tau
Deprecated. |
protected int[] |
x
|
| Constructor Summary | |
Salsa20Engine()
Creates a 20 round Salsa20 engine. |
|
Salsa20Engine(int rounds)
Creates a Salsa20 engine with a specific number of rounds. |
|
| Method Summary | |
protected void |
advanceCounter()
|
protected void |
advanceCounter(long diff)
|
protected void |
generateKeyStream(byte[] output)
|
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the cipher implements. |
protected long |
getCounter()
|
protected int |
getNonceSize()
|
long |
getPosition()
Return the current "position" of the cipher |
void |
init(boolean forEncryption,
CipherParameters params)
initialise a Salsa20 cipher. |
protected void |
packTauOrSigma(int keyLength,
int[] state,
int stateOffset)
|
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. |
protected void |
resetCounter()
|
protected void |
retreatCounter()
|
protected void |
retreatCounter(long diff)
|
byte |
returnByte(byte in)
encrypt/decrypt a single byte returning the result. |
static void |
salsaCore(int rounds,
int[] input,
int[] x)
Salsa20 function |
long |
seekTo(long position)
Reset the cipher and then skip forward to a given position. |
protected void |
setKey(byte[] keyBytes,
byte[] ivBytes)
|
long |
skip(long numberOfBytes)
Skip numberOfBytes forwards, or backwards. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int DEFAULT_ROUNDS
protected static final byte[] sigma
protected static final byte[] tau
protected int rounds
protected int[] engineState
protected int[] x
| Constructor Detail |
public Salsa20Engine()
public Salsa20Engine(int rounds)
rounds - the number of rounds (must be an even number).| Method Detail |
protected void packTauOrSigma(int keyLength,
int[] state,
int stateOffset)
public void init(boolean forEncryption,
CipherParameters params)
init in interface StreamCipherforEncryption - whether or not we are for encryption.params - the parameters required to set up the cipher.
java.lang.IllegalArgumentException - if the params argument is
inappropriate.protected int getNonceSize()
public java.lang.String getAlgorithmName()
StreamCipher
getAlgorithmName in interface StreamCipherpublic byte returnByte(byte in)
StreamCipher
returnByte in interface StreamCipherin - the byte to be processed.
protected void advanceCounter(long diff)
protected void advanceCounter()
protected void retreatCounter(long diff)
protected void retreatCounter()
public int processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
StreamCipher
processBytes in interface StreamCipherin - 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.
public long skip(long numberOfBytes)
SkippingCipher
skip in interface SkippingCiphernumberOfBytes - the number of bytes to skip (positive forward, negative backwards).
public long seekTo(long position)
SkippingCipher
seekTo in interface SkippingCipherposition - the number of bytes in to set the cipher state to.
public long getPosition()
SkippingCipher
getPosition in interface SkippingCipherpublic void reset()
StreamCipher
reset in interface StreamCipherprotected long getCounter()
protected void resetCounter()
protected void setKey(byte[] keyBytes,
byte[] ivBytes)
protected void generateKeyStream(byte[] output)
public static void salsaCore(int rounds,
int[] input,
int[] x)
input - input data
|
Bouncy Castle Cryptography Library 1.82 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||