Created
September 23, 2012 16:03
-
-
Save martani/3772140 to your computer and use it in GitHub Desktop.
AES single block decryption/encryption
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static byte[] AES_Decrypt_block(byte[] cipherText, byte[] Key) | |
{ | |
// Declare the string used to hold the decrypted text. | |
byte[] output_buffer = new byte[cipherText.Length]; | |
using (AesManaged aesAlg = new AesManaged()) | |
{ | |
//If CBC, must initialize IV = O_{128} | |
//aesAlg.Mode = CipherMode.CBC; | |
//aesAlg.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | |
aesAlg.Mode = CipherMode.ECB; | |
aesAlg.BlockSize = 128; | |
aesAlg.KeySize = 128; | |
aesAlg.Padding = PaddingMode.None; | |
aesAlg.Key = Key; | |
// Create a decrytor to perform the stream transform. | |
ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); | |
decryptor.TransformBlock(cipherText, 0, cipherText.Length, output_buffer, 0); | |
} | |
return output_buffer; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private static byte[] AES_encrypt_block(byte[] plainText, byte[] Key) | |
{ | |
byte[] output_buffer = new byte[plainText.Length]; | |
using (AesManaged aesAlg = new AesManaged()) | |
{ | |
//If CBC, must initialize IV = O_{128} | |
//aesAlg.Mode = CipherMode.CBC; | |
//aesAlg.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | |
aesAlg.Mode = CipherMode.ECB; | |
aesAlg.BlockSize = 128; | |
aesAlg.KeySize = 128; | |
aesAlg.Padding = PaddingMode.None; | |
aesAlg.Key = Key; | |
// Create a decrytor to perform the stream transform. | |
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV); | |
encryptor.TransformBlock(plainText, 0, plainText.Length, output_buffer, 0); | |
} | |
return output_buffer; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment