Subject: [openpgp] Curve25519 for public key encryption

From: NIIBE Yutaka <[email-masked]>
Date: Sat, 26 Apr 2014 16:47:30 +0900

Hello,

I am doing some experiment with GnuPG to support Curve25519 for public
key encryption.  When we apply draft-jivsov-ecc-compact-05 (that is,
using x-coordinate only), I think that we could extend the
specification of RFC6637 for Curve25519 naturally.

RFC6637 assumes that the cofactor is 1, while Curve25519's is 8.  But
this is no problem.  Since Curve25519's private key is defined as
multiple of 8 (= its cofactor), we don't need to change any
computation of ECDH.

Thus, I think that all that we need is OID of Curve25519, if it is OK
for us to keep using MPI format (in the original implementation of
Curve25519, representation is little endian).

If this support of Curve25519 in OpenPGP has no conflict to RFC6637 +
draft-jivsov-ecc-compact-05, I'm going to work enhancement of
OpenPGPcard (the smartcard specification) for Curve25519, too.

Any suggestions or comments?
--