aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf/AES_PDF_native.hh
diff options
context:
space:
mode:
Diffstat (limited to 'libqpdf/qpdf/AES_PDF_native.hh')
-rw-r--r--libqpdf/qpdf/AES_PDF_native.hh25
1 files changed, 25 insertions, 0 deletions
diff --git a/libqpdf/qpdf/AES_PDF_native.hh b/libqpdf/qpdf/AES_PDF_native.hh
new file mode 100644
index 00000000..f663533b
--- /dev/null
+++ b/libqpdf/qpdf/AES_PDF_native.hh
@@ -0,0 +1,25 @@
+#ifndef AES_PDF_NATIVE_HH
+#define AES_PDF_NATIVE_HH
+
+#include <cstdint>
+#include <cstring>
+#include <memory>
+
+class AES_PDF_native
+{
+ public:
+ // key should be a pointer to key_bytes bytes of data
+ AES_PDF_native(bool encrypt, unsigned char const* key,
+ size_t key_bytes);
+ ~AES_PDF_native();
+
+ void update(unsigned char* in_data, unsigned char* out_data);
+
+ private:
+ bool encrypt;
+ std::unique_ptr<unsigned char[]> key;
+ std::unique_ptr<uint32_t[]> rk;
+ unsigned int nrounds;
+};
+
+#endif // AES_PDF_NATIVE_HH