示例#1
0
        static void Main(string[] args)
        {
            string keyString = "80000000000000000000000000000000";
            string ivString  = "0000000000000000";

            byte[]        key       = RabbitUtils.StringToByteArray(keyString);
            byte[]        iv        = RabbitUtils.StringToByteArray(ivString);
            StringBuilder plaintext = new StringBuilder();

            // Building a 128bit block of plain text
            for (int i = 0; i < 2 * 16; i++)
            {
                plaintext.Append("0");
            }

            byte[] plainBytes = RabbitUtils.StringToByteArray(plaintext.ToString());
            Rabbit rabbit     = new Rabbit(key, iv);

            // Repeating 32 times in order to simulate 512 zero bytes
            // As requested in the test file https://github.com/cantora/avr-crypto-lib/blob/master/testvectors/rabbit-verified.test-vectors
            for (int i = 0; i < 32; i++)
            {
                byte[] ciphertextBytes = rabbit.EncryptBlock(plainBytes);
                string cyphertext      = RabbitUtils.ByteArrayToHexString(ciphertextBytes);
                Console.WriteLine(cyphertext);
            }
        }