SymmetricEncryptionBox.h 672 B

12345678910111213141516
  1. #ifndef SYMMETRICENCRYPTIONBOX_H
  2. #define SYMMETRICENCRYPTIONBOX_H
  3. #include "Openssl_crypto.h"
  4. class SymmetricEncryptionBox {
  5. uint8_t iv[12];
  6. uint8_t symmetric_key[32]; // SHA256 used with ECDHE -> or AES whatever symmetric_key.
  7. // increments last 4 bytes (in big-endian order)
  8. uint32_t aes_gcm_increment_iv_internal_call(uint8_t* iv);
  9. public:
  10. // SymmetricEncryptionBox();
  11. void set_symmetric_key(uint8_t* given_key);
  12. void get_symmetric_key(uint8_t* op_key);
  13. uint32_t encrypt_decrypt(int enc, uint8_t* plaintext, uint32_t plaintext_length, uint8_t* ciphertext, uint32_t* ciphertext_length, uint8_t* tag);
  14. // ~SymmetricEncryptionBox();
  15. };
  16. #endif