OpenPGP card specification enhancement for ECDSA support
NIIBE Yutaka
gniibe at fsij.org
Fri Mar 1 07:22:22 CET 2013
Hello,
This message is CC-ed to GnuPG-Devel List.
I am currently extending GnuPG so that it will support OpenPGP card
with ECDSA feature in future.
So far, following two things are modifications to the current OpenPGP
card specification.
Could you please give me comments?
(1) 4.3.3.6 Algorithm Attributes
ECDSA:
Byte Length Value
01 01 Algorithm ID (RFC6637) 13 = ECDSA
02- Variable OID (RFC6637)
2A 86 48 CE 3D 03 01 07 NIST curve P-256
2B 81 04 00 22 NIST curve P-384
2B 81 04 00 23 NIST curve P-521
I think that use of OID here would be best, since OID is used to
identify the curve in OpenPGP ECC (RFC 6637).
(2) 7.2.11 GENERATE ASYMMETRIC KEY PAIR
Set of public key data objects for ECDSA
81 xx Public key
In the format of uncompressed point:
04 || x || y
where x and y are coordinate of the point P = (x, y).
Big-endian, zero-padded.
(c.f. Section 6. Conversion Primitives in RFC 6637)
I think that curve specification (For example, Generator, Order, etc.)
is defined by OID in the Algorithm Attributes, it's enough to return
the public key, EC point, and it's natural to use standard encoding
of uncompressed point.
--
More information about the Gnupg-devel
mailing list