Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal interface Cipher
- {
- void Encrypt(byte[] data, int offset, int len, byte[] result, int result_offset);
- void Decrypt(byte[] data, int offset, int len, byte[] result, int result_offset);
- int BlockSize { get; }
- }
- public class AES128CTR : Cipher
- {
- private System.Security.Cryptography.ICryptoTransform Encryptor;
- private ArraySegment<Byte> _counter;
- public AES128CTR(byte[] key, byte[] iv)
- {
- _counter = new ArraySegment<byte>(iv);
- Encryptor = new SecurityDriven.Inferno.Cipher.AesCtrCryptoTransform(key, _counter);
- }
- public int BlockSize { get { return Encryptor.InputBlockSize; } }
- public void Decrypt(byte[] data, int offset, int len, byte[] result, int result_offset)
- {
- Encryptor.TransformBlock(data, 0, len, result, 0);
- }
- public void Encrypt(byte[] data, int offset, int len, byte[] result, int result_offset)
- {
- Encryptor.TransformBlock(data, 0, len, result, 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement