Home GnuPG

ecc: Add Curve448.
f55b26a500d1Unpublished

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.
This commit no longer exists in the repository. It may have been part of a branch which was deleted.This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.

Description

ecc: Add Curve448.

* cipher/ecc-curves.c (curve_aliases): Add Curve448.
(domain_parms): Add domain parameter for Curve448.
* cipher/ecc-ecdh.c (_gcry_ecc_mul_point): Support Curve448.
* mpi/ec.c (ec_addm_448, ec_subm_448, ec_mulm_448): New.
(ec_mul2_448, ec_pow2_448): New.
(field_table): Add field specific routines for Curve448.
(curve25519_bad_points): It's constants.
(curve448_bad_points): New.
(bad_points_table): New.
(ec_p_init): Initialize by bad_points_table.
* tests/Makefile.am (t-cv448): New.
* tests/t-cv448.c: New.
* tests/curves.c (N_CURVES): Increment.

This change is to add "Curve448". In libgcrypt and GnuPG, we have an
interface with a curve name, which was introduced before X25519/X448
function.

While OID 1.3.101.111 is for X448 function on the curve, we use it
to refer the curve itself.

  • Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>

Details

Provenance
gniibeAuthored on Jun 25 2019, 3:15 AM

Commit No Longer Exists

This commit no longer exists in the repository.