using System.Security.Cryptography;
public static void Main()
string data = @"EGqamkucLcSuQclEWxClJyJDBUEsA38FqB35GAk7lpTim+JzwYkqL4nDk+CLJBDLjqsMofHiXxrlHJTYN68S8mEEQK+DDl/JJPuwk3cKDtX4kN9NI9vgG/6LYMOLDicjmeQnjN1bugQygzefJ69fA2eo8VXYYnJBR3j9wn7xP80hao7TF7Fayoi4qgRvJpIQ1XO7ilh4C7y0WIZxTGR39gIEM9tAnowcqtFFvN56oMhU/GzWF9Mz0JkDv294dvfL+wdZ4N6nTUG52ykAf0J+0A==";
byte[] decodedData = Convert.FromBase64String(data);
Console.WriteLine("Data: {0} (Length {1})", Convert.ToHexString(decodedData), decodedData.Length);
string key = @"rNBOkMQNcjEWGdybCQeb+EAY074ce76r9M0QGYESb+YCSvSvWgEk8EEhfjCpqs8AXncMQn+Fe4y4AY3GbpvearvVVzN6Lwqw+lu4uwOMzzESKQpYzz65ZKe2GIvITMy/c2dNwWWJeRDlCeVkMgaEKwOEDgTe2pHcYTHW07LdYgWdDR7tlx//rFeOuPGt+XOQMvFMHP3xtDLhfTuVmRp4QxP7ucimaEtHP3lG4g+75lW1C4JzjgRgSvzeQLgSH/AcafiPMhrTxszWFyOg1n3YZQU/Cq5wQLjZZaQyjL9jl/gTtog1Yh57vfc9AFsTMGk5nIS5OOOPElPR1V68CaEDhw==";
byte[] decodedKey = Convert.FromBase64String(key);
Console.WriteLine(" Key: {0} (Length {1})", Convert.ToHexString(decodedKey), decodedKey.Length);
string iv = @"Sf+tGTiTfMQpmm2fnuu7iA==";
byte[] decodedIV = Convert.FromBase64String(iv);
Console.WriteLine(" IV: {0} (Length {1})", Convert.ToHexString(decodedIV), decodedIV.Length);
StringReader pem = new StringReader("-----BEGIN RSA PRIVATE KEY-----"+
"MIIEogIBAAKCAQEAwZFCusXU8n1Hkkh3Lywra3I72tJKjjrgC3It1ge9GdS6XgqT" +
"NaVvSaV2XA+8e7LddHECqy0a/9eSfJB+kbxMWj3yQXrx7qq0KTL2m4d0bnVOpC3Z"+
"tMXxdjJeY7FOruBgYaqH1dZk+untKU3CFaILrei6aBOEouqTBneJPW5dgOG3dtQ7" +
"ifJ5NTdCIUoBavJcAiXsKijtWeFbKbgS3+kyYXtTzw8BL1Y3JIJMz3SEmz+PSjCY" +
"iNjmSpz4zxQEwFfOrzBNtHZvzozY+/Yg8QEkXjoE2gjZv5Ykqak+Prm9RZdUCayf" +
"yfLYTivbPMXOmYKMIwphpmfQQnfLd1NELkXCcQIDAQABAoIBACvzsOQ6AYViHvs/" +
"SxjB/cXy9VZVg6pSAgd3UKMVtMGFxR+PZSe8Pc3KLVrwE8s+rPxAoOt/XW8UYuW3" +
"5ZVv3SJsiHKH2SFpT2k/cjGUi0J9jnLHGnTqsU42V6ppW0VoG1px31AV024J6dkE" +
"F/rThbVib9kr/WUEwIeqYtY5FjAqKmtgZtXZCHNeyfA7g6T8rO4+nDnIs9Pgf+Sh" +
"ldh9aiiG0MwVWqeD4TbXKoTf2+2vmpMTYHjFvXH01VK8QNsSqPKbFRavdv4AopCz" +
"GH7pJpumiRUSpUGxqRNWPNcxM81BCoiLsnxVWNRVSIgHOAUtgsWTxfvqkv296pk8" +
"ziqbd3ECgYEA//DyF/XwBTo8uPaNjAMe0egSfQNXGv4BvA3quNyO1YhChK2Drhcd" +
"Oo8+IdiguYFeBjxCZ9gWCQ3JhOAvZLAUc+gzXTTWk+fJgfYxD+X4GKtldF+xWwKa" +
"xIh4zxmU5doiRdVjYILnUT/BB04uF24amcOjU7ORAGCuocdoUQzDxM0CgYEAwZyl" +
"bOkvQxlskfUWxvlpObaDExLZFo8zu01j/ckmd4OwNeeD8u5o5u3bHoaNlzlnu40Y" +
"z2d0dzppqnl9J8YFzSgMNDJoPyw380Xf4gbcbdQmfYbaZ8Qjzo6Cgd82XyCkuqNy" +
"6aPF2h5c2BKV/o5H1FE3wN3b3xEhZFR+SafWFDUCgYBE6q1VtFyoG7FkIMemjuSK" +
"oxHvZanb08/Fwn2Uv5caenFm5o4Rn5m4Pf/9/yXwLZyS00ESU0ZDs9mylOdOFne7" +
"aigCjgrFkuFYxGEbpdHzWpucBXRtTDs+dn0JTxsf9WfLJBV5VGZTI3anr+6LUpOJ" +
"Gfvtuultj5sWZup5AJXqdQKBgE0gVLnVDnHBYAGoy6EJ3AQUk5R2jqow85+qjamc" +
"hslXWUuv5V1R4dIUcJRxb1gNkyggZgDBKqEQUOWLLfM5LDh0up/UcLixqbwsWqpU" +
"p1zNBWQ94yUw+j6fgJexzpwIifabg/xUtE1WiQ++H6hfD3ghvn8DIkJzNYUdL42x" +
"4VL9AoGAAZRV21QQRJgCkUkFA+MObDvcBGvlQfWWsSUxRkB+j+yOkOSCEOPWiEKQ" +
"TnBFb5jJgnM7ODYiNuv7f5F0KGqhmum+I3Dvd3AjQFOHecFbLt/4HuyyUQK3h20/" +
"3b+4lqFRaE06XTrkRQk5w6AWYEpz2D21vlf0XIJRS10p4L2ileg=" +
"-----END RSA PRIVATE KEY-----");
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.PersistKeyInCsp = false;
rsa.ImportFromPem(pem.ReadToEnd());
byte[] decrypted = rsa.Decrypt(decodedKey, RSAEncryptionPadding.Pkcs1);
Console.WriteLine(" Decrypted key: {0} (Length {1})", Convert.ToHexString(decrypted), decrypted.Length);
RijndaelManaged aes = new RijndaelManaged();
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.None;
ICryptoTransform encryptor = aes.CreateDecryptor(decrypted, decodedIV);
Console.WriteLine(" Decrypted TLV {0} ", Convert.ToHexString(encryptor.TransformFinalBlock(decodedData, 0, decodedData.Length)));