Previous: DSA key parameters, Up: Used S-expressions [Contents][Index]
An ECC private key is described by this S-expression:
(private-key (ecc (p p-mpi) (a a-mpi) (b b-mpi) (g g-point) (n n-mpi) (q q-point) (d d-mpi)))
Prime specifying the field GF(p).
The two coefficients of the Weierstrass equation y^2 = x^3 + ax + b
Base point g.
Order of g
The point representing the public key Q = dG.
The private key d
All point values are encoded in standard format; Libgcrypt does in
general only support uncompressed points, thus the first byte needs to
be 0x04
. However “EdDSA” describes its own compression
scheme which is used by default; the non-standard first byte
0x40
may optionally be used to explicit flag the use of the
algorithm’s native compression method.
The public key is similar, with "private-key" replaced by "public-key" and no d-mpi.
If the domain parameters are well-known, the name of this curve may be used. For example
(private-key (ecc (curve "NIST P-192") (q q-point) (d d-mpi)))
Note that q-point is optional for a private key. The
curve
parameter may be given in any case and is used to replace
missing parameters.
Currently implemented curves are:
Curve25519
X25519
1.3.6.1.4.1.3029.1.5.1
1.3.101.110
The RFC-8410 255 bit curve, its RFC name, OpenPGP and RFC OIDs.
X448
1.3.101.111
The RFC-8410 448 bit curve and its RFC OID.
Ed25519
1.3.6.1.4.1.11591.15.1
1.3.101.112
The signing variant of the RFC-8410 255 bit curve, its OpenPGP and RFC OIDs.
Ed448
1.3.101.113
The signing variant of the RFC-8410 448 bit curve and its RFC OID.
NIST P-192
1.2.840.10045.3.1.1
nistp192
prime192v1
secp192r1
The NIST 192 bit curve, its OID and aliases.
NIST P-224
1.3.132.0.33
nistp224
secp224r1
The NIST 224 bit curve, its OID and aliases.
NIST P-256
1.2.840.10045.3.1.7
nistp256
prime256v1
secp256r1
The NIST 256 bit curve, its OID and aliases.
NIST P-384
1.3.132.0.34
nistp384
secp384r1
The NIST 384 bit curve, its OID and aliases.
NIST P-521
1.3.132.0.35
nistp521
secp521r1
The NIST 521 bit curve, its OID and aliases.
brainpoolP160r1
1.3.36.3.3.2.8.1.1.1
The Brainpool 160 bit curve and its OID.
brainpoolP192r1
1.3.36.3.3.2.8.1.1.3
The Brainpool 192 bit curve and its OID.
brainpoolP224r1
1.3.36.3.3.2.8.1.1.5
The Brainpool 224 bit curve and its OID.
brainpoolP256r1
1.3.36.3.3.2.8.1.1.7
The Brainpool 256 bit curve and its OID.
brainpoolP320r1
1.3.36.3.3.2.8.1.1.9
The Brainpool 320 bit curve and its OID.
brainpoolP384r1
1.3.36.3.3.2.8.1.1.11
The Brainpool 384 bit curve and its OID.
brainpoolP512r1
1.3.36.3.3.2.8.1.1.13
The Brainpool 512 bit curve and its OID.
GOST2001-test
1.2.643.2.2.35.0
GOST2001-CryptoPro-A
1.2.643.2.2.35.1
GOST2001-CryptoPro-B
1.2.643.2.2.35.2
GOST2001-CryptoPro-C
1.2.643.2.2.35.3
GOST2001-CryptoPro-A
GOST2001-CryptoPro-XchA
GOST2001-CryptoPro-C
GOST2001-CryptoPro-XchB
GOST2001-CryptoPro-A
1.2.643.2.2.36.0
GOST2001-CryptoPro-C
1.2.643.2.2.36.1
GOST2012-256-tc26-A
1.2.643.7.1.2.1.1.1
GOST2001-CryptoPro-A
1.2.643.7.1.2.1.1.2
GOST2001-CryptoPro-A
GOST2012-256-tc26-B
GOST2001-CryptoPro-B
1.2.643.7.1.2.1.1.3
GOST2001-CryptoPro-B
GOST2012-256-tc26-C
GOST2001-CryptoPro-C
1.2.643.7.1.2.1.1.4
GOST2001-CryptoPro-C
GOST2012-256-tc26-D
GOST2012-512-test
GOST2012-test
GOST2012-512-test
1.2.643.7.1.2.1.2.0
GOST2012-512-tc26-A
GOST2012-tc26-A
GOST2012-512-tc26-B
GOST2012-tc26-B
GOST2012-512-tc26-A
1.2.643.7.1.2.1.2.1
GOST2012-512-tc26-B
1.2.643.7.1.2.1.2.2
GOST2012-512-tc26-C
1.2.643.7.1.2.1.2.3
secp256k1
1.3.132.0.10
sm2p256v1
1.2.156.10197.1.301
As usual the OIDs may optionally be prefixed with the string OID.
or oid.
.
Previous: DSA key parameters, Up: Used S-expressions [Contents][Index]