Hyperelliptic curve cryptography