secdev / scapy

Scapy: the Python-based interactive packet manipulation program & library.
https://scapy.net
GNU General Public License v2.0
10.63k stars 2.02k forks source link

`0x0807: "ed25519"` and `0x0808: "ed448" not supported? #2699

Closed SurienDG closed 2 months ago

SurienDG commented 4 years ago

Brief description

Are 0x0807: "ed25519" and 0x0808: "ed448" not supported?

image

Since, if verify is called on them the split method will fail as there is no plus in the names?

From keyexchange.py: image

Environment

gpotter2 commented 4 years ago

Yeah i don't think this works. Looks like this was copy pasted from the rfc https://tools.ietf.org/html/rfc8446

enum {
          /* RSASSA-PKCS1-v1_5 algorithms */
          rsa_pkcs1_sha256(0x0401),
          rsa_pkcs1_sha384(0x0501),
          rsa_pkcs1_sha512(0x0601),

          /* ECDSA algorithms */
          ecdsa_secp256r1_sha256(0x0403),
          ecdsa_secp384r1_sha384(0x0503),
          ecdsa_secp521r1_sha512(0x0603),

          /* RSASSA-PSS algorithms with public key OID rsaEncryption */
          rsa_pss_rsae_sha256(0x0804),
          rsa_pss_rsae_sha384(0x0805),
          rsa_pss_rsae_sha512(0x0806),

          /* EdDSA algorithms */
          ed25519(0x0807),
          ed448(0x0808),

          /* RSASSA-PSS algorithms with public key OID RSASSA-PSS */
          rsa_pss_pss_sha256(0x0809),
          rsa_pss_pss_sha384(0x080a),
          rsa_pss_pss_sha512(0x080b),

          /* Legacy algorithms */
          rsa_pkcs1_sha1(0x0201),
          ecdsa_sha1(0x0203),

          /* Reserved Code Points */
          private_use(0xFE00..0xFFFF),
          (0xFFFF)
      } SignatureScheme;

However there's probably very little work to do to fix this.

gpotter2 commented 2 months ago

Hi, Support was added in https://github.com/secdev/scapy/pull/4463 (Yeah, it might sound a bit ridiculous to report on that 4y later -_-', but better late than never)