[BACK]Return to destest.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_ntl / crypt / des

Diff for /OpenXM/src/ox_ntl/crypt/des/destest.c between version 1.2 and 1.3

version 1.2, 2005/06/19 15:30:01 version 1.3, 2005/06/19 15:45:38
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/ox_ntl/crypt/des/destest.c,v 1.1 2004/07/11 00:32:17 iwane Exp $ */  /* $OpenXM: OpenXM/src/ox_ntl/crypt/des/destest.c,v 1.2 2005/06/19 15:30:01 iwane Exp $ */
 /*  /*
  * FIPS 81 - Des Modes of Operation   * FIPS 81 - Des Modes of Operation
  */   */
Line 16  main()
Line 16  main()
         des3_key dkey3;          des3_key dkey3;
         unsigned char key[] = "\x01\x23\x45\x67\x89\xab\xcd\xef"; /* secret key */          unsigned char key[] = "\x01\x23\x45\x67\x89\xab\xcd\xef"; /* secret key */
         unsigned char key3[3 * 8];          unsigned char key3[3 * 8];
         unsigned char *iv = (unsigned char *)"\x12\x34\x56\x78\x90\xab\xcd\xef";   /* initial vector */          unsigned char *ivp = (unsigned char *)"\x12\x34\x56\x78\x90\xab\xcd\xef";   /* initial vector */
           unsigned char iv[8];
         unsigned char enc[N], dec[N];          unsigned char enc[N], dec[N];
         int i, k;          int i, k;
         int ret;          int ret;
Line 109  _CBC:
Line 110  _CBC:
                 int ks[] = {24, 32};                  int ks[] = {24, 32};
                 const unsigned char *d[] = {plain, plain2};                  const unsigned char *d[] = {plain, plain2};
   
                   memcpy(iv, ivp, 8);
   
                 k = ks[i];                  k = ks[i];
                 p = d[i];                  p = d[i];
   
Line 119  _CBC:
Line 122  _CBC:
                         goto _CFB;                          goto _CFB;
                 }                  }
   
                   memcpy(iv, ivp, 8);
   
                 ret = des_dec_cbc(&dkey, iv, k, enc, dec);                  ret = des_dec_cbc(&dkey, iv, k, enc, dec);
                 if (memcmp(p, dec, k)) {                  if (memcmp(p, dec, k)) {
                         printf("CBC dec failed.\n");                          printf("CBC dec failed.\n");
Line 126  _CBC:
Line 131  _CBC:
                         goto _CFB;                          goto _CFB;
                 }                  }
   
                   memcpy(iv, ivp, 8);
   
                 ret = des3_enc_cbc(&dkey3, iv, k, p, enc);                  ret = des3_enc_cbc(&dkey3, iv, k, p, enc);
                 if (memcmp(ci[i], enc, k)) {                  if (memcmp(ci[i], enc, k)) {
                         printf("CBC enc failed. [des3]\n");                          printf("CBC enc failed. [des3]\n");
Line 133  _CBC:
Line 140  _CBC:
                         goto _CFB;                          goto _CFB;
                 }                  }
   
                   memcpy(iv, ivp, 8);
   
                 ret = des3_dec_cbc(&dkey3, iv, k, enc, dec);                  ret = des3_dec_cbc(&dkey3, iv, k, enc, dec);
                 if (memcmp(p, dec, k)) {                  if (memcmp(p, dec, k)) {
                         printf("CBC dec failed. [des3]\n");                          printf("CBC dec failed. [des3]\n");
Line 153  _CFB:
Line 162  _CFB:
                 int ks[] = {24, 24, 24, 24, 24, 28};                  int ks[] = {24, 24, 24, 24, 24, 28};
                 const unsigned char *d[] = {plain, plain, plain, plain, plain, plain2};                  const unsigned char *d[] = {plain, plain, plain, plain, plain, plain2};
   
                   memcpy(iv, ivp, 8);
   
                 k = ks[i];                  k = ks[i];
                 p = d[i];                  p = d[i];
Line 180  _OFB:
Line 190  _OFB:
                 const unsigned char *ci[] = {ofb8, ofb64};                  const unsigned char *ci[] = {ofb8, ofb64};
                 int ks[] = {10, 24};                  int ks[] = {10, 24};
                 const unsigned char *d[] = {plain, plain};                  const unsigned char *d[] = {plain, plain};
   
                   memcpy(iv, ivp, 8);
   
                 k = ks[i];                  k = ks[i];
                 p = d[i];                  p = d[i];

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>