示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }