> Чтобы не утекать никакой полезной информации атакующему. А вы что подумали?1) значение константное, уже утекло знание, что input или равен меньше этой константы
2) это значит, необходимо "расширять" как input1, так и input2, чтобы не было всяких "выходов за границы"
3) параллельно надо "думать", чем же заполнять расширенное "пространство", тоже константными значениями?
> В том примере главное - не утекать никакой полезной информации атакуюшему через
> тайминги операций. Чтобы атакующий занимался угадайкой на множестве порядка 256^100.
if (flag != 0) { FAIL! }
такая конструкция порождает новый вид bypass атак, когда можно всякими манипуляциями воздействовать на ячейку памяти и изменить ее значение, подобно этой:
https://www.opennet.me/opennews/art.shtml?num=60334
а вот пример про константность и "добавки":
https://www.opennet.me/opennews/art.shtml?num=59848
> Этот маневр придумал не я, crypto_memcmp и проч примерно так делают.
ок, ну так давайте разберем все плюсы и минусы данных решений.
> Проца у которого скорость XOR зависела бы от операндов в регистрах я
> еще не встречал.
частичто соглашусь, если он собран из универсального гейта, но где гарантии, что оба "инпута" на элемент приходят "одновременно", опять таки тут всё зависит от гранулярности, разница есть всегда, и кореляция (не только по времени) будет всегда, ибо процесс 0 -> 1 и 1 -> 0 "разный".
> Судя по современному крипто - регистровая математика наиболее безопасная по части постоянных
> времянок штука в целом. Ну я и откосплеил известный мне маневр
> в стиле тех граждан.
в случае с тайминг атаками опасность предоставляют переходы, тем самым делая тайминг атаки логическими атаками.
> Energy-aware coding != timing attack.
принцип один, найти кореляцию между "входом и выходом"
> Нет, однако прецизионный замер потребления проца - это уже довольно интрузивная и
> нишевая атака.
по миганию светодиода восстанавливали
https://www.opennet.me/opennews/art.shtml?num=59291
> Там где это реально важно, например, смарткарты, вообще-то этому уделяют внимание на уровне дизайна чипа. И то - с переменным успехом.
там вообще беда, в софтверных реализациях можно как-то закрывать вектора атак.