RSA-Blinding
Eine Gegenmaßnahme gegen Timing-Angriffe, bei der die RSA-Entschlüsselung mit einem zufällig multiplizierten Wert läuft, der anschließend wieder entfernt wird.
Vor der Entschlüsselung wird der Chiffretext mit r^e mod N für ein zufälliges r multipliziert. Nach der Entschlüsselung multipliziert man das Ergebnis mit dem Inversen von r. Das Resultat bleibt gleich, aber Laufzeit und Stromverbrauch der modularen Exponentiation hängen nun vom Zufallswert ab statt vom geheimen Schlüssel.
Paul Kocher zeigte 1996, dass die Dauer der RSA-Entschlüsselung den privaten Schlüssel verraten kann, und Blinding war eine der ersten praxistauglichen Antworten. Es kostet eine zusätzliche modulare Multiplikation pro Operation, also fast nichts. Konstanten Code ersetzt es aber nicht: Implementierungen müssen datenabhängige Verzweigungen trotzdem von vornherein vermeiden.