gnupg/agent
Werner Koch 072432883e agent: Support the Ed25519 signature algorithm for ssh.
* agent/command-ssh.c (SPEC_FLAG_IS_EdDSA): New.
(ssh_key_types): Add entry for ssh-ed25519.
(ssh_identifier_from_curve_name): Move to the top.
(stream_read_skip): New.
(stream_read_blob): New.
(ssh_signature_encoder_rsa): Replace MPIS array by an s-exp and move
the s-exp parsing to here.
(ssh_signature_encoder_dsa): Ditto.
(ssh_signature_encoder_ecdsa): Ditto.
(ssh_signature_encoder_eddsa): New.
(sexp_key_construct): Rewrite.
(ssh_key_extract): Rename to ...
(ssh_key_to_blob): .. this and rewrite most of it.
(ssh_receive_key): Add case for EdDSA.
(ssh_convert_key_to_blob, key_secret_to_public): Remove.
(ssh_send_key_public): Rewrite.
(ssh_handler_request_identities): Simplify.
(data_sign): Add rename args.  Add new args HASH and HASHLEN.  Make
use of es_fopenmen and es_fclose_snatch.  Remove parsing into MPIs
which is now doe in the sgnature encoder functions.
(ssh_handler_sign_request): Take care of Ed25519.
(ssh_key_extract_comment): Rewrite using gcry_sexp_nth_string.
--

To make the code easier readable most of the Ed25591 work has been
done using a new explicit code path.  Warning: Libgcrypt 1.6.1 uses a
non optimized implementation for Ed25519 and timing attacks might be
possible.

While working on the code I realized that it could need more rework;
it is at some places quite baroque and more complicated than needed.
Given that we require Libgcrypt 1.6 anyway, we should make more use of
modern Libgcrypt functions.
2014-03-22 21:12:46 +01:00
..
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
Makefile.am Fix Makefile regression. 2013-06-26 23:23:18 +02:00
agent.h agent: Cleanups to prepare implementation of Ed25519. 2014-03-22 20:52:03 +01:00
cache.c Change all quotes in strings and comments to the new GNU standard. 2012-06-05 19:29:22 +02:00
call-pinentry.c Silence several warnings when building under Windows. 2014-03-07 16:06:35 +01:00
call-scd.c Silence several warnings when building under Windows. 2014-03-07 16:06:35 +01:00
command-ssh.c agent: Support the Ed25519 signature algorithm for ssh. 2014-03-22 21:12:46 +01:00
command.c agent: Cleanups to prepare implementation of Ed25519. 2014-03-22 20:52:03 +01:00
cvt-openpgp.c agent: Cleanups to prepare implementation of Ed25519. 2014-03-22 20:52:03 +01:00
cvt-openpgp.h Implement unattended OpenPGP secret key import. 2013-05-22 10:14:57 +02:00
divert-scd.c gpg: Make decryption with the OpenPGP card work. 2013-08-28 17:40:32 +02:00
findkey.c agent: Cleanups to prepare implementation of Ed25519. 2014-03-22 20:52:03 +01:00
genkey.c Fix typos spotted during translations 2012-08-24 09:44:33 +02:00
gpg-agent-w32info.rc w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpg-agent.c w32: Silence warnings about unused vars. 2014-03-07 16:11:15 +01:00
keyformat.txt Implement unattended OpenPGP secret key import. 2013-05-22 10:14:57 +02:00
learncard.c Change all quotes in strings and comments to the new GNU standard. 2012-06-05 19:29:22 +02:00
pkdecrypt.c agent: API change of agent_key_from_file. 2014-03-11 16:03:01 +09:00
pksign.c agent: Cleanups to prepare implementation of Ed25519. 2014-03-22 20:52:03 +01:00
preset-passphrase.c w32: Include winsock2.h to silence warnings. 2014-03-07 14:18:43 +01:00
protect-tool.c Make use of the *_NAME etc macros. 2013-11-18 14:09:47 +01:00
protect.c w32: Include winsock2.h to silence warnings. 2014-03-07 14:18:43 +01:00
t-protect.c Implement unattended OpenPGP secret key import. 2013-05-22 10:14:57 +02:00
trans.c Changed to GPLv3. 2007-07-04 19:49:40 +00:00
trustlist.c agent: Make --allow-mark-trusted the default. 2014-03-07 09:48:26 +01:00
w32main.c Make use of the *_NAME etc macros. 2013-11-18 14:09:47 +01:00
w32main.h Changed to GPLv3. 2007-07-04 19:49:40 +00:00