Org.BouncyCastle.Crypto.Engines.Salsa20Engine
Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
namespace Org.BouncyCastle.Crypto.Engines
{
public class Salsa20Engine : IStreamCipher
{
public static readonly int DEFAULT_ROUNDS;
protected int rounds;
protected virtual int NonceSize { get; }
public virtual string AlgorithmName { get; }
public Salsa20Engine();
public Salsa20Engine(int rounds);
public virtual void Init(bool forEncryption, ICipherParameters parameters);
public virtual byte ReturnByte(byte input);
protected virtual void AdvanceCounter();
public virtual void ProcessBytes(byte[] inBytes, int inOff, int len, byte[] outBytes, int outOff);
public virtual void Reset();
protected virtual void ResetCounter();
protected virtual void SetKey(byte[] keyBytes, byte[] ivBytes);
protected virtual void GenerateKeyStream(byte[] output);
}
}