]> hackdaworld.org Git - my-code/crypto.git/commitdiff
-
authorhackbard <hackbard>
Mon, 29 Sep 2003 00:09:51 +0000 (00:09 +0000)
committerhackbard <hackbard>
Mon, 29 Sep 2003 00:09:51 +0000 (00:09 +0000)
des.c

diff --git a/des.c b/des.c
index 29cfa9426412e259a31037eed5ba5235a436085d..04951d6af37cc7a5ab3cec51410b56a4ea9dde45 100644 (file)
--- a/des.c
+++ b/des.c
@@ -45,7 +45,7 @@ key_perm(u8 *key) {
  u8 *new[DES_SUBKEY_LEN/8];
  memset(new,0,DES_SUBKEY_LEN/8];
  for(i=0;i<DES_SUBKEY_LEN;i++)
-  new[i/8]|=(key[key_perm_table[i]/8]>>((8-key_perm_table[i]%8)%8);
+  new[i/8]|=(((key[(key_perm_table[i]-1)/8)]>>((8-key_perm_table[i]%8)&7))&1)<<(7-i%8));
  memcpy(key,new,DES_SUBKEY_LEN);
  return 1;
 }