The MVQ Method — Authenticated Key Exchange
The moment I understood the Diffie-Hellman method, was the moment I got into cryptography. When I learnt about RSA, I was so intrigued by its simplicity and beauty. But the real inspiration came when I truly understood how elliptic curves. So I love implementing any related to the wonderful world of elliptic curves. So let’s look at an example.
MVQ (Menezes–Qu–Vanstone) was created Alfred Menezes, Minghua Qu and Scott Vanstone [1] in 1995 and is an authenticated key exchange method. It was integrated into the IEEE P1363 standard and uses points on an elliptic curve to generate a shared key. Overall Bob and Alice will hold a long-term key pair, and where these are then used to generate a shared session key.
Overall, Alice holds a key pair (A,a), and where a is Alice’s private key, and A=aG is her public key. For Bob, his public key will be B=aG and who has a private key of b. G is the base point on the elliptic curve.
We initially define a function of:
where:
In this case, n is the order of the elliptic curve, and where we have a point of R(x,y). We thus convert from a point (x,y) into a scalar value.
Alice creates a key pair (X,x) and where x is a private key value and X is a point on the elliptic curve (xG). Bob creates a key pair (Y,y) and…