Ослепление RSA
Защита от атак по времени: расшифрование RSA выполняется над значением, случайно умноженным на множитель, который затем снимается.
Перед расшифрованием шифртекст умножают на r^e mod N для случайного r. После расшифрования результат умножают на обратный к r элемент. Результат не меняется, но время и энергопотребление модульного возведения в степень теперь зависят от случайного значения, а не от секретного ключа.
Пол Кохер показал в 1996 году, что время расшифрования RSA может выдать закрытый ключ, и ослепление стало одним из первых практических ответов. Оно стоит одного лишнего модульного умножения на операцию, то есть почти ничего. Но заменой константного по времени кода оно не служит: реализациям по-прежнему нужно избегать ветвлений, зависящих от данных.