В криптографических алгоритмах BTOK требуется находить точку эллиптической кривой, кратную базовой:
R <- k G.
Используются стандартные параметры эллиптических кривых, и x-координата базовой точки равняется нулю.
Проблема. Криптоакселераторы некоторых микроконтроллеров неверно воспринимают точку G с нулевой x-координатой (возможно считая ее бесконечно удаленной).
Решение (одно из возможных):
if (k % 2 == 0)
R <- k/2 (2G)
else
R <- -(q - k)/2 (2G)
Здесь q -- порядок G (нечетное число). Следует предварительно вычислить (и хранить вместо G или вместе с G) точку 2G.
В криптографических алгоритмах BTOK требуется находить точку эллиптической кривой, кратную базовой:
R <- k G.
Используются стандартные параметры эллиптических кривых, и x-координата базовой точки равняется нулю.Проблема. Криптоакселераторы некоторых микроконтроллеров неверно воспринимают точку G с нулевой x-координатой (возможно считая ее бесконечно удаленной).
Решение (одно из возможных):
Здесь q -- порядок G (нечетное число). Следует предварительно вычислить (и хранить вместо G или вместе с G) точку 2G.