scmno****@osdn*****
scmno****@osdn*****
2017年 12月 18日 (月) 19:41:10 JST
Revision: 7003 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7003 Author: doda Date: 2017-12-18 19:41:10 +0900 (Mon, 18 Dec 2017) Log Message: ----------- memset() -> SecureZeroMemory() memset() のままでも大丈夫だと思うけれど、念の為。 Modified Paths: -------------- trunk/ttssh2/ttxssh/crypt.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/crypt.c =================================================================== --- trunk/ttssh2/ttxssh/crypt.c 2017-12-18 10:41:06 UTC (rev 7002) +++ trunk/ttssh2/ttxssh/crypt.c 2017-12-18 10:41:10 UTC (rev 7003) @@ -934,7 +934,7 @@ challenge + decrypted_challenge_len - SSH_RSA_CHALLENGE_LENGTH, SSH_RSA_CHALLENGE_LENGTH); } else { - memset(decrypted_challenge, 0, + SecureZeroMemory(decrypted_challenge, SSH_RSA_CHALLENGE_LENGTH - decrypted_challenge_len); memcpy(decrypted_challenge + SSH_RSA_CHALLENGE_LENGTH - decrypted_challenge_len, challenge, @@ -960,15 +960,15 @@ DES_set_key((const_DES_cblock *) session_key, &state->k1); DES_set_key((const_DES_cblock *) (session_key + 8), &state->k2); DES_set_key((const_DES_cblock *) (session_key + 16), &state->k3); - memset(state->ivec1, 0, 8); - memset(state->ivec2, 0, 8); - memset(state->ivec3, 0, 8); + SecureZeroMemory(state->ivec1, 8); + SecureZeroMemory(state->ivec2, 8); + SecureZeroMemory(state->ivec3, 8); } static void cDES_init(char *session_key, CipherDESState *state) { DES_set_key((const_DES_cblock *) session_key, &state->k); - memset(state->ivec, 0, 8); + SecureZeroMemory(state->ivec, 8); } static void cBlowfish_init(char *session_key, @@ -975,7 +975,7 @@ CipherBlowfishState *state) { BF_set_key(&state->k, 32, session_key); - memset(state->ivec, 0, 8); + SecureZeroMemory(state->ivec, 8); } @@ -1174,8 +1174,8 @@ notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE); return FALSE; } else { - memset(encryption_key, 0, CRYPT_KEY_LENGTH); - memset(decryption_key, 0, CRYPT_KEY_LENGTH); + SecureZeroMemory(encryption_key, CRYPT_KEY_LENGTH); + SecureZeroMemory(decryption_key, CRYPT_KEY_LENGTH); return TRUE; } } @@ -1345,9 +1345,9 @@ &state.k2); DES_set_key((const_DES_cblock *) passphrase_key, &state.k3); - memset(state.ivec1, 0, 8); - memset(state.ivec2, 0, 8); - memset(state.ivec3, 0, 8); + SecureZeroMemory(state.ivec1, 8); + SecureZeroMemory(state.ivec2, 8); + SecureZeroMemory(state.ivec3, 8); DES_ncbc_encrypt(buf, buf, bytes, &state.k3, &state.ivec3, DES_DECRYPT); DES_ncbc_encrypt(buf, buf, bytes, @@ -1370,7 +1370,7 @@ CipherBlowfishState state; BF_set_key(&state.k, 16, passphrase_key); - memset(state.ivec, 0, 8); + SecureZeroMemory(state.ivec, 8); flip_endianness(buf, bytes); BF_cbc_encrypt(buf, buf, bytes, &state.k, state.ivec, BF_DECRYPT);