Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/crypt.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 7002 by doda, Mon Dec 18 10:41:06 2017 UTC revision 7003 by doda, Mon Dec 18 10:41:10 2017 UTC
# Line 934  int CRYPT_generate_RSA_challenge_respons Line 934  int CRYPT_generate_RSA_challenge_respons
934                         challenge + decrypted_challenge_len -                         challenge + decrypted_challenge_len -
935                         SSH_RSA_CHALLENGE_LENGTH, SSH_RSA_CHALLENGE_LENGTH);                         SSH_RSA_CHALLENGE_LENGTH, SSH_RSA_CHALLENGE_LENGTH);
936          } else {          } else {
937                  memset(decrypted_challenge, 0,                  SecureZeroMemory(decrypted_challenge,
938                         SSH_RSA_CHALLENGE_LENGTH - decrypted_challenge_len);                         SSH_RSA_CHALLENGE_LENGTH - decrypted_challenge_len);
939                  memcpy(decrypted_challenge + SSH_RSA_CHALLENGE_LENGTH -                  memcpy(decrypted_challenge + SSH_RSA_CHALLENGE_LENGTH -
940                         decrypted_challenge_len, challenge,                         decrypted_challenge_len, challenge,
# Line 960  static void c3DES_init(char *session_key Line 960  static void c3DES_init(char *session_key
960          DES_set_key((const_DES_cblock *) session_key, &state->k1);          DES_set_key((const_DES_cblock *) session_key, &state->k1);
961          DES_set_key((const_DES_cblock *) (session_key + 8), &state->k2);          DES_set_key((const_DES_cblock *) (session_key + 8), &state->k2);
962          DES_set_key((const_DES_cblock *) (session_key + 16), &state->k3);          DES_set_key((const_DES_cblock *) (session_key + 16), &state->k3);
963          memset(state->ivec1, 0, 8);          SecureZeroMemory(state->ivec1, 8);
964          memset(state->ivec2, 0, 8);          SecureZeroMemory(state->ivec2, 8);
965          memset(state->ivec3, 0, 8);          SecureZeroMemory(state->ivec3, 8);
966  }  }
967    
968  static void cDES_init(char *session_key, CipherDESState *state)  static void cDES_init(char *session_key, CipherDESState *state)
969  {  {
970          DES_set_key((const_DES_cblock *) session_key, &state->k);          DES_set_key((const_DES_cblock *) session_key, &state->k);
971          memset(state->ivec, 0, 8);          SecureZeroMemory(state->ivec, 8);
972  }  }
973    
974  static void cBlowfish_init(char *session_key,  static void cBlowfish_init(char *session_key,
975                             CipherBlowfishState *state)                             CipherBlowfishState *state)
976  {  {
977          BF_set_key(&state->k, 32, session_key);          BF_set_key(&state->k, 32, session_key);
978          memset(state->ivec, 0, 8);          SecureZeroMemory(state->ivec, 8);
979  }  }
980    
981    
# Line 1174  BOOL CRYPT_start_encryption(PTInstVar pv Line 1174  BOOL CRYPT_start_encryption(PTInstVar pv
1174                  notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE);                  notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE);
1175                  return FALSE;                  return FALSE;
1176          } else {          } else {
1177                  memset(encryption_key, 0, CRYPT_KEY_LENGTH);                  SecureZeroMemory(encryption_key, CRYPT_KEY_LENGTH);
1178                  memset(decryption_key, 0, CRYPT_KEY_LENGTH);                  SecureZeroMemory(decryption_key, CRYPT_KEY_LENGTH);
1179                  return TRUE;                  return TRUE;
1180          }          }
1181  }  }
# Line 1345  int CRYPT_passphrase_decrypt(int cipher, Line 1345  int CRYPT_passphrase_decrypt(int cipher,
1345                                      &state.k2);                                      &state.k2);
1346                          DES_set_key((const_DES_cblock *) passphrase_key,                          DES_set_key((const_DES_cblock *) passphrase_key,
1347                                      &state.k3);                                      &state.k3);
1348                          memset(state.ivec1, 0, 8);                          SecureZeroMemory(state.ivec1, 8);
1349                          memset(state.ivec2, 0, 8);                          SecureZeroMemory(state.ivec2, 8);
1350                          memset(state.ivec3, 0, 8);                          SecureZeroMemory(state.ivec3, 8);
1351                          DES_ncbc_encrypt(buf, buf, bytes,                          DES_ncbc_encrypt(buf, buf, bytes,
1352                                           &state.k3, &state.ivec3, DES_DECRYPT);                                           &state.k3, &state.ivec3, DES_DECRYPT);
1353                          DES_ncbc_encrypt(buf, buf, bytes,                          DES_ncbc_encrypt(buf, buf, bytes,
# Line 1370  int CRYPT_passphrase_decrypt(int cipher, Line 1370  int CRYPT_passphrase_decrypt(int cipher,
1370                          CipherBlowfishState state;                          CipherBlowfishState state;
1371    
1372                          BF_set_key(&state.k, 16, passphrase_key);                          BF_set_key(&state.k, 16, passphrase_key);
1373                          memset(state.ivec, 0, 8);                          SecureZeroMemory(state.ivec, 8);
1374                          flip_endianness(buf, bytes);                          flip_endianness(buf, bytes);
1375                          BF_cbc_encrypt(buf, buf, bytes, &state.k, state.ivec,                          BF_cbc_encrypt(buf, buf, bytes, &state.k, state.ivec,
1376                                                     BF_DECRYPT);                                                     BF_DECRYPT);

Legend:
Removed from v.7002  
changed lines
  Added in v.7003

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26