Diff for /qemu/d3des.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2018/04/24 16:47:01 version 1.1.1.2, 2018/04/24 16:50:14
Line 35  static void cookey(unsigned long *); Line 35  static void cookey(unsigned long *);
   
 static unsigned long KnL[32] = { 0L };  static unsigned long KnL[32] = { 0L };
   
 static unsigned short bytebit[8]        = {  static const unsigned short bytebit[8]  = {
         01, 02, 04, 010, 020, 040, 0100, 0200 };          01, 02, 04, 010, 020, 040, 0100, 0200 };
   
 static unsigned long bigbyte[24] = {  static const unsigned long bigbyte[24] = {
         0x800000L,      0x400000L,      0x200000L,      0x100000L,          0x800000L,      0x400000L,      0x200000L,      0x100000L,
         0x80000L,       0x40000L,       0x20000L,       0x10000L,          0x80000L,       0x40000L,       0x20000L,       0x10000L,
         0x8000L,        0x4000L,        0x2000L,        0x1000L,          0x8000L,        0x4000L,        0x2000L,        0x1000L,
Line 48  static unsigned long bigbyte[24] = { Line 48  static unsigned long bigbyte[24] = {
   
 /* Use the key schedule specified in the Standard (ANSI X3.92-1981). */  /* Use the key schedule specified in the Standard (ANSI X3.92-1981). */
   
 static unsigned char pc1[56] = {  static const unsigned char pc1[56] = {
         56, 48, 40, 32, 24, 16,  8,      0, 57, 49, 41, 33, 25, 17,          56, 48, 40, 32, 24, 16,  8,      0, 57, 49, 41, 33, 25, 17,
          9,  1, 58, 50, 42, 34, 26,     18, 10,  2, 59, 51, 43, 35,           9,  1, 58, 50, 42, 34, 26,     18, 10,  2, 59, 51, 43, 35,
         62, 54, 46, 38, 30, 22, 14,      6, 61, 53, 45, 37, 29, 21,          62, 54, 46, 38, 30, 22, 14,      6, 61, 53, 45, 37, 29, 21,
         13,  5, 60, 52, 44, 36, 28,     20, 12,  4, 27, 19, 11,  3 };          13,  5, 60, 52, 44, 36, 28,     20, 12,  4, 27, 19, 11,  3 };
   
 static unsigned char totrot[16] = {  static const unsigned char totrot[16] = {
         1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 };          1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 };
   
 static unsigned char pc2[48] = {  static const unsigned char pc2[48] = {
         13, 16, 10, 23,  0,  4,  2, 27, 14,  5, 20,  9,          13, 16, 10, 23,  0,  4,  2, 27, 14,  5, 20,  9,
         22, 18, 11,  3, 25,  7, 15,  6, 26, 19, 12,  1,          22, 18, 11,  3, 25,  7, 15,  6, 26, 19, 12,  1,
         40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47,          40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47,
         43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 };          43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 };
   
 void deskey(key, edf)   /* Thanks to James Gillogly & Phil Karn! */  /* Thanks to James Gillogly & Phil Karn! */
 unsigned char *key;  void deskey(unsigned char *key, int edf)
 int edf;  
 {  {
         register int i, j, l, m, n;          register int i, j, l, m, n;
         unsigned char pc1m[56], pcr[56];          unsigned char pc1m[56], pcr[56];
Line 100  int edf; Line 99  int edf;
         return;          return;
         }          }
   
 static void cookey(raw1)  static void cookey(register unsigned long *raw1)
 register unsigned long *raw1;  
 {  {
         register unsigned long *cook, *raw0;          register unsigned long *cook, *raw0;
         unsigned long dough[32];          unsigned long dough[32];
Line 123  register unsigned long *raw1; Line 121  register unsigned long *raw1;
         return;          return;
         }          }
   
 void cpkey(into)  void cpkey(register unsigned long *into)
 register unsigned long *into;  
 {  {
         register unsigned long *from, *endp;          register unsigned long *from, *endp;
   
Line 133  register unsigned long *into; Line 130  register unsigned long *into;
         return;          return;
         }          }
   
 void usekey(from)  void usekey(register unsigned long *from)
 register unsigned long *from;  
 {  {
         register unsigned long *to, *endp;          register unsigned long *to, *endp;
   
Line 143  register unsigned long *from; Line 139  register unsigned long *from;
         return;          return;
         }          }
   
 void des(inblock, outblock)  void des(unsigned char *inblock, unsigned char *outblock)
 unsigned char *inblock, *outblock;  
 {  {
         unsigned long work[2];          unsigned long work[2];
   
Line 154  unsigned char *inblock, *outblock; Line 149  unsigned char *inblock, *outblock;
         return;          return;
         }          }
   
 static void scrunch(outof, into)  static void scrunch(register unsigned char *outof, register unsigned long *into)
 register unsigned char *outof;  
 register unsigned long *into;  
 {  {
         *into    = (*outof++ & 0xffL) << 24;          *into    = (*outof++ & 0xffL) << 24;
         *into   |= (*outof++ & 0xffL) << 16;          *into   |= (*outof++ & 0xffL) << 16;
Line 169  register unsigned long *into; Line 162  register unsigned long *into;
         return;          return;
         }          }
   
 static void unscrun(outof, into)  static void unscrun(register unsigned long *outof, register unsigned char *into)
 register unsigned long *outof;  
 register unsigned char *into;  
 {  {
         *into++ = (unsigned char)((*outof >> 24) & 0xffL);          *into++ = (unsigned char)((*outof >> 24) & 0xffL);
         *into++ = (unsigned char)((*outof >> 16) & 0xffL);          *into++ = (unsigned char)((*outof >> 16) & 0xffL);
Line 184  register unsigned char *into; Line 175  register unsigned char *into;
         return;          return;
         }          }
   
 static unsigned long SP1[64] = {  static const unsigned long SP1[64] = {
         0x01010400L, 0x00000000L, 0x00010000L, 0x01010404L,          0x01010400L, 0x00000000L, 0x00010000L, 0x01010404L,
         0x01010004L, 0x00010404L, 0x00000004L, 0x00010000L,          0x01010004L, 0x00010404L, 0x00000004L, 0x00010000L,
         0x00000400L, 0x01010400L, 0x01010404L, 0x00000400L,          0x00000400L, 0x01010400L, 0x01010404L, 0x00000400L,
Line 202  static unsigned long SP1[64] = { Line 193  static unsigned long SP1[64] = {
         0x00000404L, 0x01000400L, 0x01000400L, 0x00000000L,          0x00000404L, 0x01000400L, 0x01000400L, 0x00000000L,
         0x00010004L, 0x00010400L, 0x00000000L, 0x01010004L };          0x00010004L, 0x00010400L, 0x00000000L, 0x01010004L };
   
 static unsigned long SP2[64] = {  static const unsigned long SP2[64] = {
         0x80108020L, 0x80008000L, 0x00008000L, 0x00108020L,          0x80108020L, 0x80008000L, 0x00008000L, 0x00108020L,
         0x00100000L, 0x00000020L, 0x80100020L, 0x80008020L,          0x00100000L, 0x00000020L, 0x80100020L, 0x80008020L,
         0x80000020L, 0x80108020L, 0x80108000L, 0x80000000L,          0x80000020L, 0x80108020L, 0x80108000L, 0x80000000L,
Line 220  static unsigned long SP2[64] = { Line 211  static unsigned long SP2[64] = {
         0x00108000L, 0x00000000L, 0x80008000L, 0x00008020L,          0x00108000L, 0x00000000L, 0x80008000L, 0x00008020L,
         0x80000000L, 0x80100020L, 0x80108020L, 0x00108000L };          0x80000000L, 0x80100020L, 0x80108020L, 0x00108000L };
   
 static unsigned long SP3[64] = {  static const unsigned long SP3[64] = {
         0x00000208L, 0x08020200L, 0x00000000L, 0x08020008L,          0x00000208L, 0x08020200L, 0x00000000L, 0x08020008L,
         0x08000200L, 0x00000000L, 0x00020208L, 0x08000200L,          0x08000200L, 0x00000000L, 0x00020208L, 0x08000200L,
         0x00020008L, 0x08000008L, 0x08000008L, 0x00020000L,          0x00020008L, 0x08000008L, 0x08000008L, 0x00020000L,
Line 238  static unsigned long SP3[64] = { Line 229  static unsigned long SP3[64] = {
         0x08020000L, 0x08000208L, 0x00000208L, 0x08020000L,          0x08020000L, 0x08000208L, 0x00000208L, 0x08020000L,
         0x00020208L, 0x00000008L, 0x08020008L, 0x00020200L };          0x00020208L, 0x00000008L, 0x08020008L, 0x00020200L };
   
 static unsigned long SP4[64] = {  static const unsigned long SP4[64] = {
         0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L,          0x00802001L, 0x00002081L, 0x00002081L, 0x00000080L,
         0x00802080L, 0x00800081L, 0x00800001L, 0x00002001L,          0x00802080L, 0x00800081L, 0x00800001L, 0x00002001L,
         0x00000000L, 0x00802000L, 0x00802000L, 0x00802081L,          0x00000000L, 0x00802000L, 0x00802000L, 0x00802081L,
Line 256  static unsigned long SP4[64] = { Line 247  static unsigned long SP4[64] = {
         0x00002001L, 0x00002080L, 0x00800000L, 0x00802001L,          0x00002001L, 0x00002080L, 0x00800000L, 0x00802001L,
         0x00000080L, 0x00800000L, 0x00002000L, 0x00802080L };          0x00000080L, 0x00800000L, 0x00002000L, 0x00802080L };
   
 static unsigned long SP5[64] = {  static const unsigned long SP5[64] = {
         0x00000100L, 0x02080100L, 0x02080000L, 0x42000100L,          0x00000100L, 0x02080100L, 0x02080000L, 0x42000100L,
         0x00080000L, 0x00000100L, 0x40000000L, 0x02080000L,          0x00080000L, 0x00000100L, 0x40000000L, 0x02080000L,
         0x40080100L, 0x00080000L, 0x02000100L, 0x40080100L,          0x40080100L, 0x00080000L, 0x02000100L, 0x40080100L,
Line 274  static unsigned long SP5[64] = { Line 265  static unsigned long SP5[64] = {
         0x00080100L, 0x02000100L, 0x40000100L, 0x00080000L,          0x00080100L, 0x02000100L, 0x40000100L, 0x00080000L,
         0x00000000L, 0x40080000L, 0x02080100L, 0x40000100L };          0x00000000L, 0x40080000L, 0x02080100L, 0x40000100L };
   
 static unsigned long SP6[64] = {  static const unsigned long SP6[64] = {
         0x20000010L, 0x20400000L, 0x00004000L, 0x20404010L,          0x20000010L, 0x20400000L, 0x00004000L, 0x20404010L,
         0x20400000L, 0x00000010L, 0x20404010L, 0x00400000L,          0x20400000L, 0x00000010L, 0x20404010L, 0x00400000L,
         0x20004000L, 0x00404010L, 0x00400000L, 0x20000010L,          0x20004000L, 0x00404010L, 0x00400000L, 0x20000010L,
Line 292  static unsigned long SP6[64] = { Line 283  static unsigned long SP6[64] = {
         0x00004000L, 0x00400010L, 0x20004010L, 0x00000000L,          0x00004000L, 0x00400010L, 0x20004010L, 0x00000000L,
         0x20404000L, 0x20000000L, 0x00400010L, 0x20004010L };          0x20404000L, 0x20000000L, 0x00400010L, 0x20004010L };
   
 static unsigned long SP7[64] = {  static const unsigned long SP7[64] = {
         0x00200000L, 0x04200002L, 0x04000802L, 0x00000000L,          0x00200000L, 0x04200002L, 0x04000802L, 0x00000000L,
         0x00000800L, 0x04000802L, 0x00200802L, 0x04200800L,          0x00000800L, 0x04000802L, 0x00200802L, 0x04200800L,
         0x04200802L, 0x00200000L, 0x00000000L, 0x04000002L,          0x04200802L, 0x00200000L, 0x00000000L, 0x04000002L,
Line 310  static unsigned long SP7[64] = { Line 301  static unsigned long SP7[64] = {
         0x00000000L, 0x00200802L, 0x04200000L, 0x00000800L,          0x00000000L, 0x00200802L, 0x04200000L, 0x00000800L,
         0x04000002L, 0x04000800L, 0x00000800L, 0x00200002L };          0x04000002L, 0x04000800L, 0x00000800L, 0x00200002L };
   
 static unsigned long SP8[64] = {  static const unsigned long SP8[64] = {
         0x10001040L, 0x00001000L, 0x00040000L, 0x10041040L,          0x10001040L, 0x00001000L, 0x00040000L, 0x10041040L,
         0x10000000L, 0x10001040L, 0x00000040L, 0x10000000L,          0x10000000L, 0x10001040L, 0x00000040L, 0x10000000L,
         0x00040040L, 0x10040000L, 0x10041040L, 0x00041000L,          0x00040040L, 0x10040000L, 0x10041040L, 0x00041000L,
Line 328  static unsigned long SP8[64] = { Line 319  static unsigned long SP8[64] = {
         0x10041040L, 0x00041000L, 0x00041000L, 0x00001040L,          0x10041040L, 0x00041000L, 0x00041000L, 0x00001040L,
         0x00001040L, 0x00040040L, 0x10000000L, 0x10041000L };          0x00001040L, 0x00040040L, 0x10000000L, 0x10041000L };
   
 static void desfunc(block, keys)  static void desfunc(register unsigned long *block, register unsigned long *keys)
 register unsigned long *block, *keys;  
 {  {
         register unsigned long fval, work, right, leftt;          register unsigned long fval, work, right, leftt;
         register int round;          register int round;

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


unix.superglobalmegacorp.com