HybridEncryptionBox.cpp 714 B

1234567891011121314151617181920
  1. #include "Openssl_crypto.h"
  2. class HybridEncryptionBox : public ECDHKeypair, public SymmetricEncryptionBox {
  3. public:
  4. HybridEncryptionBox(): ECDHKeypair(), SymmetricEncryptionBox();
  5. uint32_t get_public_key(uint8_t* blank_key);
  6. unsigned long initialize_symmetric_key(uint8_t* given_public_key);
  7. void get_public_key(uint8_t* blank_key)
  8. {
  9. uint32_t counter=0;
  10. for(counter=0; counter<ECDH_PUBLIC_KEY_SIZE; counter++)
  11. blank_key[counter] = public_key[counter];
  12. }
  13. unsigned long initialize_symmetric_key(uint8_t* given_public_key)
  14. {
  15. return compute_ecdh_shared_key(given_public_key, given_public_key + ECDH_PUBLIC_KEY_SIZE/2, private_key, symmetric_key);
  16. }
  17. }