dcrypt.blockcipher.serpent

Members

Structs

Serpent
struct Serpent

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>

Examples

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);

Meta