6

RSA signatures are implemented by encrypting the padded hash with the private key.

Why not take the approach RSA-KEM is using by removing the padding entirely and replacing the hash with a XOF that would produce the m value in range [1, n-1].

XOF is just a hash with arbitrary output length.

Why hasn't it been done this way?

2 Answers2

4

Why hasn't it been done this way?

It has been "done" but is sadly not a widely deployed scheme. This scheme is sometimes called RSA-FDH: RSA full domain hash. It's a general construction that works with any trapdoor one-way permutation, but so far, we don't have anything as practical as RSA).

Here's an example of its use in a practical construction, although they don't use an XOF.

This is also a secure scheme in the sense of strong unforgeability, assuming the RSA inversion problem is hard and the hash function "behaves" like a random oracle.

Marc Ilunga
  • 4,042
  • 1
  • 13
  • 24
4

Two preliminary remarks on the question's

RSA signatures are implemented by encrypting the padded hash with the private key

  • The terminology "encrypt with the private key" is improper. That could be e.g. "apply the private-key textbook RSA permutation". At issue is that public key encryption is always with the public key, because the goal of encryption is to make what's encrypted unintelligible to adversaries (and the public key, which adversaries know, allows to undo the private-key textbook RSA permutation).
  • Not all standard RSA signature schemes work in this way, see RSA(SSA)-PSS below.

Why hasn't (RSA signature) been done (with the hash and padding replaced by a XOF)?

That's for historical reasons only:

fgrieu
  • 149,326
  • 13
  • 324
  • 622