Wireshark-commits: [Wireshark-commits] master 6b1fd0b: ssh: add support for Curve25519/448-based EC

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Mon, 15 Jun 2020 05:03:26 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=6b1fd0b6f333767b1ab3ebb9807f13b4da5bd97d
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

6b1fd0b by Vladislav Grishenko (themiron@xxxxxxx):

    ssh: add support for Curve25519/448-based ECDH and EdDSA public keys
    
    RFC8731 defines new ECDH key exchange methods:
     * curve25519-sha256 (same as curve25519-sha256@xxxxxxxxxx)
     * curve448-sha512
    Pass them to ECDH discriptor to avoid non-rfc compliant dissecting as DH.
    Also, print negotiated key exchange method, if available.
    
    RFC8709 defines new EdDSA public key algoritms:
     * ssh-ed25519
     * ssh-ed448
    Define specific "ssh.host_key.eddsa" scope for them with "key" and
    "key_length" variables for filtering and visual reasons.
    
    Example of tshark output (real key/sig data was nulled):
    
    SSH Protocol
        SSH Version 2
            Packet Length: 188
            Padding Length: 8
            Key Exchange (method:curve25519-sha256)
                Message Code: Elliptic Curve Diffie-Hellman Key Exchange Reply (31)
                KEX host key (type: ssh-ed25519)
                    Host key length: 51
                    Host key type length: 11
                    Host key type: ssh-ed25519
                    EdDSA public key length: 32
                    EdDSA public key: 0000000000000000000000000000000000000000000000000000000000000000
                ECDH server's ephemeral public key length: 32
                ECDH server's ephemeral public key (Q_S): 0000000000000000000000000000000000000000000000000000000000000000
                KEX H signature length: 83
                KEX H signature: 000000000000000000000000000000000000000000000000000000000000000000000000…
            Padding String: 0000000000000000
    
    Change-Id: I5876a8707c12bc572a6493b60ef1d892475a44f6
    Reviewed-on: https://code.wireshark.org/review/37466
    Reviewed-by: Peter Wu <peter@xxxxxxxxxxxxx>
    Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  e794525   PIM: decoding of address encoding
     add  6b1fd0b   ssh: add support for Curve25519/448-based ECDH and EdDSA public keys


Summary of changes:
 epan/dissectors/packet-ssh.c | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)