diff options
Diffstat (limited to 'libqpdf/AES_PDF_native.cc')
-rw-r--r-- | libqpdf/AES_PDF_native.cc | 69 |
1 files changed, 29 insertions, 40 deletions
diff --git a/libqpdf/AES_PDF_native.cc b/libqpdf/AES_PDF_native.cc index b0900f70..a6addb53 100644 --- a/libqpdf/AES_PDF_native.cc +++ b/libqpdf/AES_PDF_native.cc @@ -1,18 +1,21 @@ #include <qpdf/AES_PDF_native.hh> +#include <qpdf/QIntC.hh> +#include <qpdf/QPDFCryptoImpl.hh> #include <qpdf/QUtil.hh> -#include <cstring> +#include <qpdf/rijndael.h> #include <assert.h> +#include <cstring> #include <stdexcept> -#include <qpdf/rijndael.h> -#include <qpdf/QIntC.hh> -#include <string> #include <stdlib.h> -#include <qpdf/QPDFCryptoImpl.hh> +#include <string> -AES_PDF_native::AES_PDF_native(bool encrypt, unsigned char const* key, - size_t key_bytes, bool cbc_mode, - unsigned char* cbc_block) : +AES_PDF_native::AES_PDF_native( + bool encrypt, + unsigned char const* key, + size_t key_bytes, + bool cbc_mode, + unsigned char* cbc_block) : encrypt(encrypt), cbc_mode(cbc_mode), cbc_block(cbc_block), @@ -24,15 +27,12 @@ AES_PDF_native::AES_PDF_native(bool encrypt, unsigned char const* key, size_t rk_bytes = RKLENGTH(keybits) * sizeof(uint32_t); std::memcpy(this->key.get(), key, key_bytes); std::memset(this->rk.get(), 0, rk_bytes); - if (encrypt) - { - this->nrounds = rijndaelSetupEncrypt( - this->rk.get(), this->key.get(), keybits); - } - else - { - this->nrounds = rijndaelSetupDecrypt( - this->rk.get(), this->key.get(), keybits); + if (encrypt) { + this->nrounds = + rijndaelSetupEncrypt(this->rk.get(), this->key.get(), keybits); + } else { + this->nrounds = + rijndaelSetupDecrypt(this->rk.get(), this->key.get(), keybits); } } @@ -43,35 +43,24 @@ AES_PDF_native::~AES_PDF_native() void 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) - { + 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(), - this->nrounds, in_data, out_data); - if (this->cbc_mode) - { - memcpy(this->cbc_block, out_data, - QPDFCryptoImpl::rijndael_buf_size); + rijndaelEncrypt(this->rk.get(), this->nrounds, in_data, out_data); + if (this->cbc_mode) { + memcpy( + this->cbc_block, out_data, QPDFCryptoImpl::rijndael_buf_size); } - } - else - { - 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) - { + } else { + 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, - QPDFCryptoImpl::rijndael_buf_size); + memcpy(this->cbc_block, in_data, QPDFCryptoImpl::rijndael_buf_size); } } } |