| OLD | NEW | 
|---|
| 1 #include <stdint.h> | 1 #include <stdint.h> | 
| 2 #include <stdlib.h> | 2 #include <stdlib.h> | 
| 3 #include <unistd.h> | 3 #include <unistd.h> | 
| 4 | 4 | 
| 5 struct expanded_key { | 5 struct expanded_key { | 
| 6         uint32_t l[16], r[16]; | 6   uint32_t l[16], r[16]; | 
| 7 }; | 7 }; | 
| 8 | 8 | 
| 9 void __des_setkey(const unsigned char *key, struct expanded_key *ekey); | 9 void __des_setkey(const unsigned char* key, struct expanded_key* ekey); | 
| 10 void __do_des(uint32_t l_in, uint32_t r_in, | 10 void __do_des(uint32_t l_in, | 
| 11     uint32_t *l_out, uint32_t *r_out, | 11               uint32_t r_in, | 
| 12     uint32_t count, uint32_t saltbits, const struct expanded_key *ekey); | 12               uint32_t* l_out, | 
| 13 | 13               uint32_t* r_out, | 
|  | 14               uint32_t count, | 
|  | 15               uint32_t saltbits, | 
|  | 16               const struct expanded_key* ekey); | 
| 14 | 17 | 
| 15 static struct expanded_key __encrypt_key; | 18 static struct expanded_key __encrypt_key; | 
| 16 | 19 | 
| 17 void setkey(const char *key) | 20 void setkey(const char* key) { | 
| 18 { | 21   unsigned char bkey[8]; | 
| 19 »       unsigned char bkey[8]; | 22   int i, j; | 
| 20 »       int i, j; |  | 
| 21 | 23 | 
| 22 »       for (i = 0; i < 8; i++) { | 24   for (i = 0; i < 8; i++) { | 
| 23 »       »       bkey[i] = 0; | 25     bkey[i] = 0; | 
| 24 »       »       for (j = 7; j >= 0; j--, key++) | 26     for (j = 7; j >= 0; j--, key++) | 
| 25 »       »       »       bkey[i] |= (uint32_t)(*key & 1) << j; | 27       bkey[i] |= (uint32_t)(*key & 1) << j; | 
| 26 »       } | 28   } | 
| 27 | 29 | 
| 28 »       __des_setkey(bkey, &__encrypt_key); | 30   __des_setkey(bkey, &__encrypt_key); | 
| 29 } | 31 } | 
| 30 | 32 | 
| 31 void encrypt(char *block, int edflag) | 33 void encrypt(char* block, int edflag) { | 
| 32 { | 34   struct expanded_key decrypt_key, *key; | 
| 33 »       struct expanded_key decrypt_key, *key; | 35   uint32_t b[2]; | 
| 34 »       uint32_t b[2]; | 36   int i, j; | 
| 35 »       int i, j; | 37   char* p; | 
| 36 »       char *p; |  | 
| 37 | 38 | 
| 38 »       p = block; | 39   p = block; | 
| 39 »       for (i = 0; i < 2; i++) { | 40   for (i = 0; i < 2; i++) { | 
| 40 »       »       b[i] = 0; | 41     b[i] = 0; | 
| 41 »       »       for (j = 31; j >= 0; j--, p++) | 42     for (j = 31; j >= 0; j--, p++) | 
| 42 »       »       »       b[i] |= (uint32_t)(*p & 1) << j; | 43       b[i] |= (uint32_t)(*p & 1) << j; | 
| 43 »       } | 44   } | 
| 44 | 45 | 
| 45 »       key = &__encrypt_key; | 46   key = &__encrypt_key; | 
| 46 »       if (edflag) { | 47   if (edflag) { | 
| 47 »       »       key = &decrypt_key; | 48     key = &decrypt_key; | 
| 48 »       »       for (i = 0; i < 16; i++) { | 49     for (i = 0; i < 16; i++) { | 
| 49 »       »       »       decrypt_key.l[i] = __encrypt_key.l[15-i]; | 50       decrypt_key.l[i] = __encrypt_key.l[15 - i]; | 
| 50 »       »       »       decrypt_key.r[i] = __encrypt_key.r[15-i]; | 51       decrypt_key.r[i] = __encrypt_key.r[15 - i]; | 
| 51 »       »       } | 52     } | 
| 52 »       } | 53   } | 
| 53 | 54 | 
| 54 »       __do_des(b[0], b[1], b, b + 1, 1, 0, key); | 55   __do_des(b[0], b[1], b, b + 1, 1, 0, key); | 
| 55 | 56 | 
| 56 »       p = block; | 57   p = block; | 
| 57 »       for (i = 0; i < 2; i++) | 58   for (i = 0; i < 2; i++) | 
| 58 »       »       for (j = 31; j >= 0; j--) | 59     for (j = 31; j >= 0; j--) | 
| 59 »       »       »       *p++ = b[i]>>j & 1; | 60       *p++ = b[i] >> j & 1; | 
| 60 } | 61 } | 
| OLD | NEW | 
|---|