strongswan/src/libstrongswan/plugins/curve25519
Tobias Brunner 2571898d32 curve25519: Prevent Ed25519 signature malleability
As per RFC 8032, section 5.1.7 (and section 8.4) we have to make sure s, which
is the scalar in the second half of the signature value, is smaller than L.
Without that check, L can be added to most signatures at least once to create
another valid signature for the same public key and message.

This could be problematic if, for instance, a blacklist is based on hashes
of certificates.  A new certificate could be created with a different
signature (without knowing the signature key) by simply adding L to s.

Currently, both OpenSSL 1.1.1 and Botan 2.8.0 are vulnerable to this, which is
why the unit test currently only warns about it.
2018-11-30 15:35:01 +01:00
..
ref10 Added Ed25519 ref10 implementation from libsodium 2016-12-14 11:15:47 +01:00
Makefile.am Moved Ed25519 tests to libstrongswan 2016-12-14 11:57:36 +01:00
curve25519_dh.c curve25519: Add a plugin providing Curve25519 DH using backend drivers 2016-11-14 16:20:51 +01:00
curve25519_dh.h curve25519: Add a plugin providing Curve25519 DH using backend drivers 2016-11-14 16:20:51 +01:00
curve25519_drv.c curve22519: Add a portable backend implemented in plain C 2016-11-14 16:20:51 +01:00
curve25519_drv.h Added support of EdDSA signatures 2016-12-14 11:15:47 +01:00
curve25519_drv_portable.c curve22519: Add a portable backend implemented in plain C 2016-11-14 16:20:51 +01:00
curve25519_drv_portable.h Added support of EdDSA signatures 2016-12-14 11:15:47 +01:00
curve25519_identity_hasher.c Implemented EdDSA for IKEv2 using a pro forma Identity hash function 2016-12-14 11:15:48 +01:00
curve25519_identity_hasher.h Implemented EdDSA for IKEv2 using a pro forma Identity hash function 2016-12-14 11:15:48 +01:00
curve25519_plugin.c Implemented EdDSA for IKEv2 using a pro forma Identity hash function 2016-12-14 11:15:48 +01:00
curve25519_plugin.h curve25519: Add a plugin providing Curve25519 DH using backend drivers 2016-11-14 16:20:51 +01:00
curve25519_private_key.c private-key: Add optional parameters argument to sign() method 2017-11-08 16:48:10 +01:00
curve25519_private_key.h Added support of EdDSA signatures 2016-12-14 11:15:47 +01:00
curve25519_public_key.c curve25519: Prevent Ed25519 signature malleability 2018-11-30 15:35:01 +01:00
curve25519_public_key.h Added support of EdDSA signatures 2016-12-14 11:15:47 +01:00