[BACK]Return to bdes.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / bdes

Diff for /src/usr.bin/bdes/Attic/bdes.c between version 1.3 and 1.4

version 1.3, 1997/01/15 23:42:13 version 1.4, 1998/05/07 19:12:17
Line 130 
Line 130 
 #define READ(buf, n)    fread(buf, sizeof(char), n, stdin)  #define READ(buf, n)    fread(buf, sizeof(char), n, stdin)
 #define WRITE(buf,n)                                            \  #define WRITE(buf,n)                                            \
                 if (fwrite(buf, sizeof(char), n, stdout) != n)  \                  if (fwrite(buf, sizeof(char), n, stdout) != n)  \
                         err(bn, NULL);                          err(1, "block %d", bn);
   
 /*  /*
  * some things to make references easier   * some things to make references easier
Line 209 
Line 209 
                 case 'F':               /* use alternative CFB mode */                  case 'F':               /* use alternative CFB mode */
                         alg = ALG_CFBA;                          alg = ALG_CFBA;
                         if ((fbbits = setbits(optarg, 7)) > 56 || fbbits == 0)                          if ((fbbits = setbits(optarg, 7)) > 56 || fbbits == 0)
                                 err(-1, "-F: number must be 1-56 inclusive");                                  err(1, "-F: number must be 1-56 inclusive");
                         else if (fbbits == -1)                          else if (fbbits == -1)
                                 err(-1, "-F: number must be a multiple of 7");                                  err(1, "-F: number must be a multiple of 7");
                         break;                          break;
                 case 'f':               /* use CFB mode */                  case 'f':               /* use CFB mode */
                         alg = ALG_CFB;                          alg = ALG_CFB;
                         if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0)                          if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0)
                                 err(-1, "-f: number must be 1-64 inclusive");                                  err(1, "-f: number must be 1-64 inclusive");
                         else if (fbbits == -1)                          else if (fbbits == -1)
                                 err(-1, "-f: number must be a multiple of 8");                                  err(1, "-f: number must be a multiple of 8");
                         break;                          break;
                 case 'k':               /* encryption key */                  case 'k':               /* encryption key */
                         kflag = 1;                          kflag = 1;
Line 227 
Line 227 
                 case 'm':               /* number of bits for MACing */                  case 'm':               /* number of bits for MACing */
                         mode = MODE_AUTHENTICATE;                          mode = MODE_AUTHENTICATE;
                         if ((macbits = setbits(optarg, 1)) > 64)                          if ((macbits = setbits(optarg, 1)) > 64)
                                 err(-1, "-m: number must be 0-64 inclusive");                                  err(1, "-m: number must be 0-64 inclusive");
                         break;                          break;
                 case 'o':               /* use OFB mode */                  case 'o':               /* use OFB mode */
                         alg = ALG_OFB;                          alg = ALG_OFB;
                         if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0)                          if ((fbbits = setbits(optarg, 8)) > 64 || fbbits == 0)
                                 err(-1, "-o: number must be 1-64 inclusive");                                  err(1, "-o: number must be 1-64 inclusive");
                         else if (fbbits == -1)                          else if (fbbits == -1)
                                 err(-1, "-o: number must be a multiple of 8");                                  err(1, "-o: number must be a multiple of 8");
                         break;                          break;
                 case 'p':               /* preserve parity bits */                  case 'p':               /* preserve parity bits */
                         pflag = 1;                          pflag = 1;
Line 294 
Line 294 
         case ALG_CFBA:          case ALG_CFBA:
                 switch(mode) {                  switch(mode) {
                 case MODE_AUTHENTICATE: /* authenticate using CFBA mode */                  case MODE_AUTHENTICATE: /* authenticate using CFBA mode */
                         err(-1, "can't authenticate with CFBA mode");                          err(1, "can't authenticate with CFBA mode");
                         break;                          break;
                 case MODE_DECRYPT:      /* decrypt using CFBA mode */                  case MODE_DECRYPT:      /* decrypt using CFBA mode */
                         cfbadec();                          cfbadec();
Line 307 
Line 307 
         case ALG_ECB:          case ALG_ECB:
                 switch(mode) {                  switch(mode) {
                 case MODE_AUTHENTICATE: /* authenticate using ECB mode */                  case MODE_AUTHENTICATE: /* authenticate using ECB mode */
                         err(-1, "can't authenticate with ECB mode");                          err(1, "can't authenticate with ECB mode");
                         break;                          break;
                 case MODE_DECRYPT:      /* decrypt using ECB mode */                  case MODE_DECRYPT:      /* decrypt using ECB mode */
                         ecbdec();                          ecbdec();
Line 320 
Line 320 
         case ALG_OFB:          case ALG_OFB:
                 switch(mode) {                  switch(mode) {
                 case MODE_AUTHENTICATE: /* authenticate using OFB mode */                  case MODE_AUTHENTICATE: /* authenticate using OFB mode */
                         err(-1, "can't authenticate with OFB mode");                          err(1, "can't authenticate with OFB mode");
                         break;                          break;
                 case MODE_DECRYPT:      /* decrypt using OFB mode */                  case MODE_DECRYPT:      /* decrypt using OFB mode */
                         ofbdec();                          ofbdec();
Line 408 
Line 408 
                          */                           */
                         for (i = 0; ibuf[i] && i < 16; i++)                          for (i = 0; ibuf[i] && i < 16; i++)
                                 if ((nbuf[i] = tobinhex(ibuf[i], 16)) == -1)                                  if ((nbuf[i] = tobinhex(ibuf[i], 16)) == -1)
                                         err(-1, "bad hex digit in key");                                          err(1, "bad hex digit in key");
                         while (i < 16)                          while (i < 16)
                                 nbuf[i++] = 0;                                  nbuf[i++] = 0;
                         for (i = 0; i < 8; i++)                          for (i = 0; i < 8; i++)
Line 428 
Line 428 
                          */                           */
                         for (i = 0; ibuf[i] && i < 16; i++)                          for (i = 0; ibuf[i] && i < 16; i++)
                                 if ((nbuf[i] = tobinhex(ibuf[i], 2)) == -1)                                  if ((nbuf[i] = tobinhex(ibuf[i], 2)) == -1)
                                         err(-1, "bad binary digit in key");                                          err(1, "bad binary digit in key");
                         while (i < 64)                          while (i < 64)
                                 nbuf[i++] = 0;                                  nbuf[i++] = 0;
                         for (i = 0; i < 8; i++)                          for (i = 0; i < 8; i++)
Line 470 
Line 470 
                 if (isdigit(*p))                  if (isdigit(*p))
                         n = n * 10 + *p - '0';                          n = n * 10 + *p - '0';
                 else {                  else {
                         err(-1, "bad decimal digit in MAC length");                          err(1, "bad decimal digit in MAC length");
                 }                  }
         }          }
         /*          /*
Line 567 
Line 567 
                 if ((c = getchar()) == EOF) {                  if ((c = getchar()) == EOF) {
                         n = CHAR(msgbuf, 7);                          n = CHAR(msgbuf, 7);
                         if (n < 0 || n > 7)                          if (n < 0 || n > 7)
                                 err(bn, "decryption failed (block corrupted)");                                  err(1, "decryption failed (block %d corrupted)", bn);
                 }                  }
                 else                  else
                         (void)ungetc(c, stdin);                          (void)ungetc(c, stdin);
                 WRITE(BUFFER(msgbuf), n);                  WRITE(BUFFER(msgbuf), n);
         }          }
         if (n > 0)          if (n > 0)
                 err(bn, "decryption failed (incomplete block)");                  err(1, "decryption failed (block %d incomplete)", bn);
 }  }
   
 /*  /*
Line 636 
Line 636 
                 if ((c = getchar()) == EOF) {                  if ((c = getchar()) == EOF) {
                         n = CHAR(msgbuf, 7);                          n = CHAR(msgbuf, 7);
                         if (n < 0 || n > 7)                          if (n < 0 || n > 7)
                                 err(bn, "decryption failed (block corrupted)");                                  err(1, "decryption failed (block %d corrupted)", bn);
                 }                  }
                 else                  else
                         (void)ungetc(c, stdin);                          (void)ungetc(c, stdin);
                 WRITE(BUFFER(msgbuf), n);                  WRITE(BUFFER(msgbuf), n);
         }          }
         if (n > 0)          if (n > 0)
                 err(bn, "decryption failed (incomplete block)");                  err(1, "decryption failed (block %d incomplete)", bn);
 }  }
   
 /*  /*
Line 766 
Line 766 
                 if ((c = getchar()) == EOF) {                  if ((c = getchar()) == EOF) {
                         n = obuf[nbytes-1];                          n = obuf[nbytes-1];
                         if (n < 0 || n > nbytes-1)                          if (n < 0 || n > nbytes-1)
                                 err(bn, "decryption failed (block corrupted)");                                  err(1, "decryption failed (block %d corrupted)", bn);
                 }                  }
                 else                  else
                         (void)ungetc(c, stdin);                          (void)ungetc(c, stdin);
                 WRITE(obuf, n);                  WRITE(obuf, n);
         }          }
         if (n > 0)          if (n > 0)
                 err(bn, "decryption failed (incomplete block)");                  err(1, "decryption failed (block %d incomplete)", bn);
 }  }
   
 /*  /*
Line 856 
Line 856 
                 if ((c = getchar()) == EOF) {                  if ((c = getchar()) == EOF) {
                         if ((n = (obuf[nbytes-1] - '0')) < 0                          if ((n = (obuf[nbytes-1] - '0')) < 0
                                                 || n > nbytes-1)                                                  || n > nbytes-1)
                                 err(bn, "decryption failed (block corrupted)");                                  err(1, "decryption failed (block %d corrupted)", bn);
                 }                  }
                 else                  else
                         (void)ungetc(c, stdin);                          (void)ungetc(c, stdin);
                 WRITE(obuf, n);                  WRITE(obuf, n);
         }          }
         if (n > 0)          if (n > 0)
                 err(bn, "decryption failed (incomplete block)");                  err(1, "decryption failed (block %d incomplete)", bn);
 }  }
   
   
Line 947 
Line 947 
                 if ((c = getchar()) == EOF) {                  if ((c = getchar()) == EOF) {
                         n = obuf[nbytes-1];                          n = obuf[nbytes-1];
                         if (n < 0 || n > nbytes-1)                          if (n < 0 || n > nbytes-1)
                                 err(bn, "decryption failed (block corrupted)");                                  err(1, "decryption failed (block %d corrupted)", bn);
                 }                  }
                 else                  else
                         (void)ungetc(c, stdin);                          (void)ungetc(c, stdin);
Line 957 
Line 957 
                 WRITE(obuf, n);                  WRITE(obuf, n);
         }          }
         if (n > 0)          if (n > 0)
                 err(bn, "decryption failed (incomplete block)");                  err(1, "decryption failed (block %d incomplete)", bn);
 }  }
   
 /*  /*

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