chiark / gitweb /
Ripped out a lot of crap. Now it compiles and passes the test vectors.
[chiark-tcl.git] / crypto / algtables.c
index 772998685653abca1dff7c11db107b66e8915e0b..7a651f06aa66e0a9d90529dea2ea7dd564fbd413 100644 (file)
@@ -38,23 +38,23 @@ static void alg_serpent_l_byteswap_block(Byte *b) {
 }
 
 static void alg_serpent_makekey(void *schedule, const Byte *key, int keylen) {
-  serpent_makekey(schedule, keylen*8, key);
+  serpent_makekey(schedule, key, keylen);
 }
 
 static void alg_serpent_encrypt(const void *sch, const void *in, void *out) {
-  serpent_encrypt(sch, in, out);
+  serpent_encrypt(in, out, sch);
 }
   
 static void alg_serpent_decrypt(const void *sch, const void *in, void *out) {
-  serpent_decrypt(sch, in, out);
+  serpent_decrypt(in, out, sch);
 }
 
 const BlockCipherAlgInfo blockcipheralginfos[]= {
-  { "serpent-l", 16, sizeof(struct SerpentKeyInstance), 16,32,
+  { "serpent-l", 16, sizeof(SerpentKeySchedule), 16,32,
     alg_serpent_l_byteswap_block,
     { alg_serpent_makekey, alg_serpent_encrypt },
     { alg_serpent_makekey, alg_serpent_decrypt } },
-  { "serpent-b", 16, sizeof(struct SerpentKeyInstance), 16,32,
+  { "serpent-b", 16, sizeof(SerpentKeySchedule), 16,32,
     alg_serpent_b_byteswap_block,
     { alg_serpent_makekey, alg_serpent_encrypt },
     { alg_serpent_makekey, alg_serpent_decrypt } },