- wrote diffie_hellman_t but not tested