Hi Igor,
I don't consider RSA a good option for signing requests from consumer to resources because of its performance characteristics. Symmetric algorithms like HMAC are by magnitudes faster. I did some benachmarking in a project in 2006. The measurements have been taken on a Windows PC (Intel Pentium M 1,7 GHz/1GB)
with Java 1.5.

HMAC-MD5: 33000/s (sign and verify)
RSA/512:  434/s (sign), 3300/s (verify)
RSA/1024:  70/s (sign), 1250/s (verify)

As you can see, there is a factor of 10 (verify) to 300 (sign) between RSA and HMAC-MD5. Today one would use HMAC-SHA and probably RSA/2048 so I don't expect the proportions to be better for RSA.


...
As I mentioned sometime before, I believe that we should refer to private-key signing rather than RSA, which is just one algorithm that performs public/private key encryption. (For instance, ECC is another algorithm, and it is much faster.)

I know that, but the discussion was about RSA. So I refered to this term. Everything I said about RSA also holds for other public key algorithms. In fact I did the same benchmarking for ECC with comparable results. In my experiences, ECC mainly has the advantage of using much shorter keys then RSA.
<snip>
And, with many thanks to Torsten for providing the measurements--always a good thing!--I am puzzled by an apparent reversal in the duration of signing and verification times. Typically, for the encryption, the RSA keys are chosen to be small so that public key operations are fast; that results in the private key operations being slow. It appears to me that the same choice makes sense for signatures. One party spends time ONCE signing something, and then verification, performed by others, is fast. And so my question here is: What was the reason for choosing a private key short here?
I don't understand your point. I measured the number of sign/verify operations per second and the results show verification (the public key operation) is significantly faster then signing.

regards,
Torsten.
With thanks,

Igor




_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to