public void DecryptAes256Ctr_decrypts_one_block() { var ciphertext = NistCiphertext.Take(16).ToArray(); var plaintext = NistPlaintext.Take(16).ToArray(); Assert.Equal(plaintext, Util.DecryptAes256Ctr(ciphertext, NistKey, NistCtr)); }
public void ComputeAesCtrKey_returns_key() { // Calculated with the original Js code var ctrKey = "1fad494b86d62e89f945e8cfb9925e341fad494b86d62e89f945e8cfb9925e34".DecodeHex(); Assert.Equal(ctrKey, Util.ComputeAesCtrKey(TestData.Key)); }
public void IncrementCounter_adds_one(string initial, string expected) { var counter = initial.DecodeHex(); Util.IncrementCounter(counter); Assert.Equal(expected.DecodeHex(), counter); }
public void Decrypt_returns_plaintext() { // Calculated with the original Js code var plaintext = Util.Decrypt( "awNZM8agxVecKpRoC821Oq6NlvVwm6KpPGW+cLdzRoc2Mg5vqPQzoONwww==".Decode64(), TestData.Key).ToUtf8(); Assert.Equal("{\"date\":\"2016-08-30T15:05:42.874Z\"}", plaintext); }
public void ComputeKey_returns_key() { var key = Util.ComputeKey( TestData.Passphrase, "f78e6ffce8e57501a02c9be303db2c68".ToBytes(), 1000); Assert.Equal(TestData.Key, key); }
public void DecryptAes256Ctr_decrypts_unaligned_input() { for (var i = 1; i < NistCiphertext.Length - 1; i += 1) { var ciphertext = NistCiphertext.Take(i).ToArray(); var plaintext = NistPlaintext.Take(i).ToArray(); Assert.Equal(plaintext, Util.DecryptAes256Ctr(ciphertext, NistKey, NistCtr)); } }
public void DecryptAes256Ctr_decrypts_empty_input() { Assert.Equal(new byte[0], Util.DecryptAes256Ctr(new byte[0], NistKey, NistCtr)); }
public void DecryptAes256Ctr_decrypts_multiple_blocks() { Assert.Equal(NistPlaintext, Util.DecryptAes256Ctr(NistCiphertext, NistKey, NistCtr)); }