1234567891011121314151617181920 |
- #include "Openssl_crypto.h"
- class HybridEncryptionBox : public ECDHKeypair, public SymmetricEncryptionBox {
- public:
- HybridEncryptionBox(): ECDHKeypair(), SymmetricEncryptionBox();
- uint32_t get_public_key(uint8_t* blank_key);
- unsigned long initialize_symmetric_key(uint8_t* given_public_key);
- void get_public_key(uint8_t* blank_key)
- {
- uint32_t counter=0;
- for(counter=0; counter<ECDH_PUBLIC_KEY_SIZE; counter++)
- blank_key[counter] = public_key[counter];
- }
- unsigned long initialize_symmetric_key(uint8_t* given_public_key)
- {
- return compute_ecdh_shared_key(given_public_key, given_public_key + ECDH_PUBLIC_KEY_SIZE/2, private_key, symmetric_key);
- }
- }
|