mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg: Make Kyber creation more flexible.
* common/openpgp-oid.c (openpgp_is_curve_supported): Allow the abbreviated curve name. * g10/pkglue.c (pk_encrypt): Add debug output. * g10/seskey.c (encode_session_key): Handle Kyber session key like ECDH. This is just a stub. * g10/keygen.c (ecckey_from_sexp): Use the modern OID for cv25519. (parse_key_parameter_part): Allow more Kyber variants. -- Test by creating an ed25519 key and using gpg --quick-add-key --batch --passphrase "" <fingerprint> <algo> to create several subkeys. Tested with ALGOs: kyber768 kyber1024 ky768_cv25519 ky768_bp256 kyber768_nistp256 ky1024_cv448 All curves capable of encryption should work. GnuPG-bug-id: 6815
This commit is contained in:
parent
c21237ac27
commit
84ddb24e30
5 changed files with 55 additions and 11 deletions
|
@ -92,7 +92,9 @@ encode_session_key (int openpgp_pk_algo, DEK *dek, unsigned int nbits)
|
|||
|
||||
/* Shortcut for ECDH. It's padding is minimal to simply make the
|
||||
output be a multiple of 8 bytes. */
|
||||
if (openpgp_pk_algo == PUBKEY_ALGO_ECDH)
|
||||
/* FIXME: We use the ECDH also for Kyber for now. */
|
||||
if (openpgp_pk_algo == PUBKEY_ALGO_ECDH
|
||||
|| openpgp_pk_algo == PUBKEY_ALGO_KYBER)
|
||||
{
|
||||
/* Pad to 8 byte granularity; the padding byte is the number of
|
||||
* padded bytes.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue