<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

Org.BouncyCastle.Crypto.Engines.Salsa20Engine

public class Salsa20Engine : IStreamCipher
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); } }