Serpent is a 128-bit 32-round block cipher with variable key lengths, including 128, 192 and 256 bit keys conjectured to be at least as secure as three-key triple-DES. <p> Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a candidate algorithm for the NIST AES Quest.> <p> For full details see the <a href="http://www.cl.cam.ac.uk/~rja14/serpent.html">The Serpent home page</a>
Test serpent engine. Test vectors generated with BouncyCastle implementation.
1 2 string[] keys = [ 3 x"01010101010101010101010101010101", 4 x"0101010101010101010101010101010101010101", 5 x"010101010101010101010101010101010101010101010101", 6 x"01010101010101010101010101010101010101010101010101010101", 7 x"0101010101010101010101010101010101010101010101010101010101010101", 8 ]; 9 string[] plains = [ 10 x"01010101010101010101010101010101", 11 x"01010101010101010101010101010101", 12 x"01010101010101010101010101010101", 13 x"01010101010101010101010101010101", 14 x"01010101010101010101010101010101", 15 ]; 16 string[] ciphers = [ 17 x"63fc6f65f3f71e6d99d981be6de30751", 18 x"bc794e453a1b0bfd2475f2a40bf842ba", 19 x"292a63c6d15db833f38b40b153cc303c", 20 x"80808b4b6e93b6ff929a6105b508acbe", 21 x"4827fcff24454cf889642a5bb12397ec", 22 ]; 23 24 SerpentEngine t = new SerpentEngine(); 25 blockCipherTest(t, keys, plains, ciphers);