I want to make DH-like key exchange calculating something like this:
b = H(b0B1B2)
But the problem is multiplication between two ec-points is not defined on ec-curve.
I know monero makes some transformations like
public key ->
secret key here https://github.com/monero-project/monero/blob/4b728d7dd48584987f53995a141baac4f886f017/src/multisig/multisig.cpp#L77:
rct::key sk = rct::scalarmultKey(rct::pk2rct(k), rct::sk2rct(blinded_skey)); crypto::secret_key msk = get_multisig_blinded_secret_key(rct::rct2sk(sk));
Can I use the same trick? Is it secure?