1
$\begingroup$

I'm building a fuse client for ssh/sftp. I write the required ssh and sftp functions myself. Now I read in RFC4253 that before signing the data to sign is default hashed. In RFC4253 8. "Diffie-Hellman Key Exchange" SHA1 is mentioned as the default for ssh-dss. What is it for ssh-rsa?

$\endgroup$
1
$\begingroup$

In section 6 of RFC 4253 it says on page 15:

The "ssh-rsa" key format has the following specific encoding:

  string    "ssh-rsa"
  mpint     e
  mpint     n

Here the 'e' and 'n' parameters form the signature key blob.

Signing and verifying using this key format is performed according to the RSASSA-PKCS1-v1_5 scheme in [RFC3447] using the SHA-1 hash.

So the answer is "SHA-1" as well.

$\endgroup$
1
$\begingroup$

It is using always SHA-1, unless it does not. There are two new drafts to use SHA-2 functions family:

The usage is negotiated using the protocol extension:

So basically, the other answers are correct, but for close future, we don't want to use SHA-1 for cryptographic signatures and possibly deprecate SHA-1 in this area.

$\endgroup$
0
$\begingroup$

I've found already:

Why does Openssh use only SHA1 for signing and verifying of digital signatures?

So by openssh always sha1 is used.

Stef

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.