Elligator: Hiding cryptographic key exchange as random noise

Elligator 2 test vectors

Test vector files look like the following:

bd568cb3a2d38a12:
176daa5925e7975e:
4e3ec9a72c828900:

8b5f64295c8ec02f:
aea6d1e57cacf85e:
4527a25db227f764:

...

Each line is either empty, or contain a number represented in hexadecimal (in Little Endian) followed by a colon (:).

The non-empty lines describe the input and outputs of test cases. The empty lines separate the different test cases.

We have 3 types of tests:

A couple caveats to keep in mind:

Here are the test vectors, for Curve25519 and Curve448 respectively:

They are generated with these scripts (also available in html).