For adding modern curve (X448 and Ed448), I'd like to introduce clarification of OpenPGP specification where replacing MPI to SOS for ECC.
Currently, key, signature, and encrypted packet is defined as MPI, but content is not always an integer.
So, new term "SOS" (strange octet string) will be hopefully introduced here.
SOS is compatible to MPI in OpenPGP packet format. That is, two network-order octets which gives information of NBITS, then octets.
While MPI has a semantics of big endian integer, SOS is not. To be compatible to MPI, NBITS are calculated by examining the first octet of octets.
This patch is the change for SOS for GnuPG g10 part. It requires libgcrypt 1.9. Needed change for gpg-agent is already in master.