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

Diff for /src/usr.bin/ssh/cipher.c between version 1.17 and 1.18

version 1.17, 1999/11/24 00:26:01 version 1.18, 1999/11/24 19:53:45
Line 116 
Line 116 
         cipher_attack_detected("CRC-32 CBC insertion attack detected");          cipher_attack_detected("CRC-32 CBC insertion attack detected");
 }  }
   
 /* Names of all encryption algorithms.  These must match the numbers defined  /*
    int cipher.h. */   * Names of all encryption algorithms.
    * These must match the numbers defined in cipher.h.
    */
 static char *cipher_names[] =  static char *cipher_names[] =
 {  {
         "none",          "none",
Line 129 
Line 131 
         "blowfish"          "blowfish"
 };  };
   
 /* Returns a bit mask indicating which ciphers are supported by this  /*
    implementation.  The bit mask has the corresponding bit set of each   * Returns a bit mask indicating which ciphers are supported by this
    supported cipher. */   * implementation.  The bit mask has the corresponding bit set of each
    * supported cipher.
    */
   
 unsigned int  unsigned int
 cipher_mask()  cipher_mask()
Line 153 
Line 157 
         return cipher_names[cipher];          return cipher_names[cipher];
 }  }
   
 /* Parses the name of the cipher.  Returns the number of the corresponding  /*
    cipher, or -1 on error. */   * Parses the name of the cipher.  Returns the number of the corresponding
    * cipher, or -1 on error.
    */
   
 int  int
 cipher_number(const char *name)  cipher_number(const char *name)
Line 167 
Line 173 
         return -1;          return -1;
 }  }
   
 /* Selects the cipher, and keys if by computing the MD5 checksum of the  /*
    passphrase and using the resulting 16 bytes as the key. */   * Selects the cipher, and keys if by computing the MD5 checksum of the
    * passphrase and using the resulting 16 bytes as the key.
    */
   
 void  void
 cipher_set_key_string(CipherContext *context, int cipher,  cipher_set_key_string(CipherContext *context, int cipher,
Line 206 
Line 214 
         /* Initialize the initialization vector. */          /* Initialize the initialization vector. */
         switch (cipher) {          switch (cipher) {
         case SSH_CIPHER_NONE:          case SSH_CIPHER_NONE:
                 /* Has to stay for authfile saving of private key with                  /*
                    no passphrase */                   * Has to stay for authfile saving of private key with no
                    * passphrase
                    */
                 break;                  break;
   
         case SSH_CIPHER_3DES:          case SSH_CIPHER_3DES:
                 /* Note: the least significant bit of each byte of key is                  /*
                    parity, and must be ignored by the implementation.  16                   * Note: the least significant bit of each byte of key is
                    bytes of key are used (first and last keys are the                   * parity, and must be ignored by the implementation.  16
                    same). */                   * bytes of key are used (first and last keys are the same).
                    */
                 if (keylen < 16)                  if (keylen < 16)
                         error("Key length %d is insufficient for 3DES.", keylen);                          error("Key length %d is insufficient for 3DES.", keylen);
                 des_set_key((void *) padded, context->u.des3.key1);                  des_set_key((void *) padded, context->u.des3.key1);

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18