public void IvGenerateRandomness() { bool diff = false; using (SymmetricAlgorithm cipher = new EnigmaSymmetric()) { byte[] iv; byte[] newIv; cipher.GenerateIV(); newIv = cipher.IV; iv = newIv; for (int i = 0; i < 10; i++) { if (!newIv.SequenceEqual(iv)) { diff = true; break; } iv = newIv; cipher.GenerateIV(); newIv = cipher.IV; } } Assert.True(diff); }
public void IvGenerateCorrectness() { using SymmetricAlgorithm cipher = new EnigmaSymmetric(); string ivString; for (int i = 0; i < 100; i++) { cipher.GenerateIV(); ivString = Encoding.Unicode.GetString(cipher.IV); // Test IV correctness here Assert.NotNull(ivString); } }