#pragma once #include #include #include namespace fc { struct diffie_hellman { diffie_hellman():valid(0),g(5){ fc::init_openssl(); } bool generate_params( int s, uint8_t g ); bool generate_pub_key(); bool compute_shared_key( const char* buf, uint32_t s ); bool compute_shared_key( const std::vector& pubk); bool validate(); std::vector p; std::vector pub_key; std::vector priv_key; std::vector shared_key; bool valid; uint8_t g; }; } // namespace fc