Пример #1
0
        public void Test_A2_2()
        {
            byte[] key     = StringToByteArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
            byte[] iv      = StringToByteArray("C3 73 F5 75 C1 26 7E 59");
            byte[] state_0 = StringToByteArray("1F CD 4E B9 58 00 12 E2 E0 DC CC 92 22 01 7D 6D");
            byte[] state_1 = StringToByteArray("A7 5F 4E 10 D1 21 25 01 7B 24 99 FF ED 93 6F 2E");
            byte[] state_2 = StringToByteArray("EB C1 12 C3 93 E7 38 39 23 56 BD D0 12 02 9B A7");

            RabbitCipher rabbit = RabbitCipher.Create(key, iv);

            rabbit.Round();
            byte[] S0 = rabbit.GetState();
            AssertEqual(state_0, S0);

            rabbit.Round();
            byte[] S1 = rabbit.GetState();
            AssertEqual(state_1, S1);

            rabbit.Round();
            byte[] S2 = rabbit.GetState();
            AssertEqual(state_2, S2);

            Console.WriteLine("Test A2/2 successful");
        }
Пример #2
0
        public void Test_A2_3()
        {
            byte[] key     = StringToByteArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
            byte[] iv      = StringToByteArray("A6 EB 56 1A D2 F4 17 27");
            byte[] state_0 = StringToByteArray("44 5A D8 C8 05 85 8D BF 70 B6 AF 23 A1 51 10 4D");
            byte[] state_1 = StringToByteArray("96 C8 F2 79 47 F4 2C 5B AE AE 67 C6 AC C3 5B 03");
            byte[] state_2 = StringToByteArray("9F CB FC 89 5F A7 1C 17 31 3D F0 34 F0 15 51 CB");

            RabbitCipher rabbit = RabbitCipher.Create(key, iv);

            rabbit.Round();
            byte[] S0 = rabbit.GetState();
            AssertEqual(state_0, S0);

            rabbit.Round();
            byte[] S1 = rabbit.GetState();
            AssertEqual(state_1, S1);

            rabbit.Round();
            byte[] S2 = rabbit.GetState();
            AssertEqual(state_2, S2);

            Console.WriteLine("Test A2/3 successful");
        }
Пример #3
0
        public void Test_A2_1()
        {
            byte[] key     = StringToByteArray("00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00");
            byte[] iv      = StringToByteArray("00 00 00 00 00 00 00 00");
            byte[] state_0 = StringToByteArray("C6 A7 27 5E F8 54 95 D8 7C CD 5D 37 67 05 B7 ED");
            byte[] state_1 = StringToByteArray("5F 29 A6 AC 04 F5 EF D4 7B 8F 29 32 70 DC 4A 8D");
            byte[] state_2 = StringToByteArray("2A DE 82 2B 29 DE 6C 1E E5 2B DB 8A 47 BF 8F 66");

            RabbitCipher rabbit = RabbitCipher.Create(key, iv);

            rabbit.Round();
            byte[] S0 = rabbit.GetState();
            AssertEqual(state_0, S0);

            rabbit.Round();
            byte[] S1 = rabbit.GetState();
            AssertEqual(state_1, S1);

            rabbit.Round();
            byte[] S2 = rabbit.GetState();
            AssertEqual(state_2, S2);

            Console.WriteLine("Test A2/1 successful");
        }