Remote RSA Timing Attacks Practical
David Brumley and Dan Boneh writes "Timing attacks are usually used to attack weak computing devices such as smartcards. We show that timing attacks apply to general software systems. Specifically, we devise a timing attack against OpenSSL. Our experiments show that we can extract private keys from a OpenSSL-based server such as Apache with mod_SSL and stunnel running on a machine in the local network. Our results demonstrate that timing attacks against widely deployed network servers are practical. Subsequently, software should implement defenses against timing attacks. Our paper can be found at Stanford's
Applied Crypto Group."
Alternatively, add your random padding to the constant, not to the time required to do the calculation. That has the advantage of giving DISinformation to the attacker. And there is a certain charm to that, don't you think?
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
You don't want to add randomness; the signal will still be there, just under more noise. You want to remove that signal entirely, by making all these calculations take the same amount of time, no matter what; even if you can short circuit them. If you think about it long enough, you'll realize that we want to remove the information we're sending them--that's much better than hiding it :]