diff options
author | Bodo Möller <bodo@openssl.org> | 2011-10-13 13:41:34 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2011-10-13 13:41:34 +0000 |
commit | bf6d2f986d47fa7f96ab9ede407bc3976a686b0f (patch) | |
tree | b78267ec2c04b63e7ce514c53f6016fdc865a3ca /crypto/evp | |
parent | 9d74befd2300ecb1793dd8ba5592b77e613d29f9 (diff) |
Make CTR mode behaviour consistent with other modes:
- clear ctx->num in EVP_CipherInit_ex
- adapt e_eas.c changes from http://cvs.openssl.org/chngview?cn=19816
for eng_aesni.c
Submitted by: Emilia Kasper
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/evp.h | 2 | ||||
-rw-r--r-- | crypto/evp/evp_enc.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/crypto/evp/evp.h b/crypto/evp/evp.h index 2557ad3ab7..3b38ecd6e6 100644 --- a/crypto/evp/evp.h +++ b/crypto/evp/evp.h @@ -418,7 +418,7 @@ struct evp_cipher_ctx_st unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ unsigned char buf[EVP_MAX_BLOCK_LENGTH];/* saved partial block */ - int num; /* used by cfb/ofb mode */ + int num; /* used by cfb/ofb/ctr mode */ void *app_data; /* application stuff */ int key_len; /* May change for variable length cipher */ diff --git a/crypto/evp/evp_enc.c b/crypto/evp/evp_enc.c index 87af9c4931..8d57d204d6 100644 --- a/crypto/evp/evp_enc.c +++ b/crypto/evp/evp_enc.c @@ -215,6 +215,7 @@ skip_to_init: break; case EVP_CIPH_CTR_MODE: + ctx->num = 0; /* Don't reuse IV for CTR mode */ if(iv) memcpy(ctx->iv, iv, EVP_CIPHER_CTX_iv_length(ctx)); |