Exemple #1
0
        public void RandomIv192()
        {
            var etmCiphertext1 = RijndaelEtM.Encrypt(Plaintext, Password, KeySize.Aes192);
            var etmCiphertext2 = RijndaelEtM.Encrypt(Plaintext, Password, KeySize.Aes192);
            var plaintext      = RijndaelEtM.Decrypt(etmCiphertext1, Password, KeySize.Aes192);

            Assert.Equal(plaintext, Plaintext);
            Assert.NotEqual(etmCiphertext1, etmCiphertext2);
        }
        public static string Decrypt(string cipherText, string passPhrase)
        {
            string decrypted = RijndaelEtM.Decrypt(cipherText, passPhrase, KeySize.Aes256);

            return(decrypted);

            /**
             * // Get the complete stream of bytes that represent:
             * // [32 bytes of Salt] + [32 bytes of IV] + [n bytes of CipherText]
             * var cipherTextBytesWithSaltAndIv = Convert.FromBase64String(cipherText);
             * // Get the saltbytes by extracting the first 32 bytes from the supplied cipherText bytes.
             * var saltStringBytes = cipherTextBytesWithSaltAndIv.Take(Keysize / 8).ToArray();
             * // Get the IV bytes by extracting the next 32 bytes from the supplied cipherText bytes.
             * var ivStringBytes = cipherTextBytesWithSaltAndIv.Skip(Keysize / 8).Take(Keysize / 8).ToArray();
             * // Get the actual cipher text bytes by removing the first 64 bytes from the cipherText string.
             * var cipherTextBytes = cipherTextBytesWithSaltAndIv.Skip((Keysize / 8) * 2).Take(cipherTextBytesWithSaltAndIv.Length - ((Keysize / 8) * 2)).ToArray();
             *
             * using (var password = new Rfc2898DeriveBytes(passPhrase, saltStringBytes, DerivationIterations))
             * {
             *  var keyBytes = password.GetBytes(Keysize / 8);
             *  using (var symmetricKey = new RijndaelManaged())
             *  {
             *      symmetricKey.BlockSize = 256;
             *      symmetricKey.Mode = CipherMode.CBC;
             *      symmetricKey.Padding = PaddingMode.PKCS7;
             *      using (var decryptor = symmetricKey.CreateDecryptor(keyBytes, ivStringBytes))
             *      {
             *          using (var memoryStream = new MemoryStream(cipherTextBytes))
             *          {
             *              using (var cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read))
             *              {
             *                  var plainTextBytes = new byte[cipherTextBytes.Length];
             *                  var decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length);
             *                  memoryStream.Close();
             *                  cryptoStream.Close();
             *                  return Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount);
             *              }
             *          }
             *      }
             *  }
             * }**/
        }
Exemple #3
0
        public void Decrypt256()
        {
            var plaintext = RijndaelEtM.Decrypt(EtmProof256, Password, KeySize.Aes256);

            Assert.Equal(plaintext, Plaintext);
        }
Exemple #4
0
        public void Decrypt192()
        {
            var plaintext = RijndaelEtM.Decrypt(EtmProof192, Password, KeySize.Aes192);

            Assert.Equal(plaintext, Plaintext);
        }
Exemple #5
0
 public static string Decrypt(string cipherText, string password)
 {
     return(RijndaelEtM.Decrypt(cipherText, password, KeySize.Aes256));
 }
Exemple #6
0
        public static string Decrypt(string cipherText, string passPhrase)
        {
            string decrypted = RijndaelEtM.Decrypt(cipherText, passPhrase, KeySize.Aes256);

            return(decrypted);
        }