diff options
Diffstat (limited to 'libqpdf/AES_PDF_native.cc')
-rw-r--r-- | libqpdf/AES_PDF_native.cc | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/libqpdf/AES_PDF_native.cc b/libqpdf/AES_PDF_native.cc index afbc0bdc..b0900f70 100644 --- a/libqpdf/AES_PDF_native.cc +++ b/libqpdf/AES_PDF_native.cc @@ -26,12 +26,12 @@ AES_PDF_native::AES_PDF_native(bool encrypt, unsigned char const* key, std::memset(this->rk.get(), 0, rk_bytes); if (encrypt) { - this->nrounds = rijndaelSetupEncrypt( + this->nrounds = rijndaelSetupEncrypt( this->rk.get(), this->key.get(), keybits); } else { - this->nrounds = rijndaelSetupDecrypt( + this->nrounds = rijndaelSetupDecrypt( this->rk.get(), this->key.get(), keybits); } } @@ -45,33 +45,33 @@ AES_PDF_native::update(unsigned char* in_data, unsigned char* out_data) { if (this->encrypt) { - if (this->cbc_mode) - { - for (size_t i = 0; i < QPDFCryptoImpl::rijndael_buf_size; ++i) - { - in_data[i] ^= this->cbc_block[i]; - } - } - rijndaelEncrypt(this->rk.get(), + if (this->cbc_mode) + { + for (size_t i = 0; i < QPDFCryptoImpl::rijndael_buf_size; ++i) + { + in_data[i] ^= this->cbc_block[i]; + } + } + rijndaelEncrypt(this->rk.get(), this->nrounds, in_data, out_data); - if (this->cbc_mode) - { - memcpy(this->cbc_block, out_data, + if (this->cbc_mode) + { + memcpy(this->cbc_block, out_data, QPDFCryptoImpl::rijndael_buf_size); - } + } } else { - rijndaelDecrypt(this->rk.get(), + rijndaelDecrypt(this->rk.get(), this->nrounds, in_data, out_data); - if (this->cbc_mode) - { - for (size_t i = 0; i < QPDFCryptoImpl::rijndael_buf_size; ++i) - { - out_data[i] ^= this->cbc_block[i]; - } - memcpy(this->cbc_block, in_data, + if (this->cbc_mode) + { + for (size_t i = 0; i < QPDFCryptoImpl::rijndael_buf_size; ++i) + { + out_data[i] ^= this->cbc_block[i]; + } + memcpy(this->cbc_block, in_data, QPDFCryptoImpl::rijndael_buf_size); - } + } } } |