Develop and Download Open Source Software

Browse Subversion Repository

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

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

revision 6158 by maya, Thu Nov 19 10:54:12 2015 UTC revision 6229 by yutakapon, Fri Jan 1 11:06:37 2016 UTC
# Line 4103  static void arc4random_stir(void) Line 4103  static void arc4random_stir(void)
4103          for(i = 0; i <= 256; i += sizeof(rand_buf))          for(i = 0; i <= 256; i += sizeof(rand_buf))
4104                  RC4(&rc4, sizeof(rand_buf), rand_buf, rand_buf);                  RC4(&rc4, sizeof(rand_buf), rand_buf, rand_buf);
4105    
4106          memset(rand_buf, 0, sizeof(rand_buf));          SecureZeroMemory(rand_buf, sizeof(rand_buf));
4107    
4108          rc4_ready = REKEY_BYTES;          rc4_ready = REKEY_BYTES;
4109  }  }
# Line 4192  static int ssh1_3des_init(EVP_CIPHER_CTX Line 4192  static int ssh1_3des_init(EVP_CIPHER_CTX
4192          if (EVP_CipherInit(&c->k1, EVP_des_cbc(), k1, NULL, enc) == 0 ||          if (EVP_CipherInit(&c->k1, EVP_des_cbc(), k1, NULL, enc) == 0 ||
4193                  EVP_CipherInit(&c->k2, EVP_des_cbc(), k2, NULL, !enc) == 0 ||                  EVP_CipherInit(&c->k2, EVP_des_cbc(), k2, NULL, !enc) == 0 ||
4194                  EVP_CipherInit(&c->k3, EVP_des_cbc(), k3, NULL, enc) == 0) {                  EVP_CipherInit(&c->k3, EVP_des_cbc(), k3, NULL, enc) == 0) {
4195                          memset(c, 0, sizeof(*c));                          SecureZeroMemory(c, sizeof(*c));
4196                          free(c);                          free(c);
4197                          EVP_CIPHER_CTX_set_app_data(ctx, NULL);                          EVP_CIPHER_CTX_set_app_data(ctx, NULL);
4198                          return (0);                          return (0);
# Line 4223  static int ssh1_3des_cleanup(EVP_CIPHER_ Line 4223  static int ssh1_3des_cleanup(EVP_CIPHER_
4223                  EVP_CIPHER_CTX_cleanup(&c->k1);                  EVP_CIPHER_CTX_cleanup(&c->k1);
4224                  EVP_CIPHER_CTX_cleanup(&c->k2);                  EVP_CIPHER_CTX_cleanup(&c->k2);
4225                  EVP_CIPHER_CTX_cleanup(&c->k3);                  EVP_CIPHER_CTX_cleanup(&c->k3);
4226                  memset(c, 0, sizeof(*c));                  SecureZeroMemory(c, sizeof(*c));
4227                  free(c);                  free(c);
4228                  EVP_CIPHER_CTX_set_app_data(ctx, NULL);                  EVP_CIPHER_CTX_set_app_data(ctx, NULL);
4229          }          }
# Line 4660  static void save_bcrypt_private_key(char Line 4660  static void save_bcrypt_private_key(char
4660          // ここでは"AES256-CBC"に固定とする。          // ここでは"AES256-CBC"に固定とする。
4661          cipher_init_SSH2(&cipher_ctx, key, keylen, key + keylen, ivlen, CIPHER_ENCRYPT,          cipher_init_SSH2(&cipher_ctx, key, keylen, key + keylen, ivlen, CIPHER_ENCRYPT,
4662                  get_cipher_EVP_CIPHER(ciphernameval), 0, pvar);                  get_cipher_EVP_CIPHER(ciphernameval), 0, pvar);
4663          memset(key, 0, keylen + ivlen);          SecureZeroMemory(key, keylen + ivlen);
4664          free(key);          free(key);
4665    
4666          buffer_append(encoded, AUTH_MAGIC, sizeof(AUTH_MAGIC));          buffer_append(encoded, AUTH_MAGIC, sizeof(AUTH_MAGIC));
# Line 4680  static void save_bcrypt_private_key(char Line 4680  static void save_bcrypt_private_key(char
4680    
4681          buffer_put_string(encoded, cp, len);          buffer_put_string(encoded, cp, len);
4682    
4683          memset(cp, 0, len);          SecureZeroMemory(cp, len);
4684          free(cp);          free(cp);
4685    
4686          /* Random check bytes */          /* Random check bytes */

Legend:
Removed from v.6158  
changed lines
  Added in v.6229

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