ОПРЕДЕЛЕНИЕ МОДУЛЬНОЙ ИНВЕРСИИ

1. Способ кодирования или декодирования данных с помощью вычислительного блока, защищенный от сторонних попыток нарушения защиты, причем при каждом шаге кодирования и/или декодирования с помощью модуля (М) обратная величина (r) определяется как модульная инверсия входной величины (а), отличающийся тем, что в качестве
первого шага выбирается случайное число (с),
второго шага вычисляется произведение (d) входной величины (а) и случайного числа (с),
третьего шага с помощью модуля (М) определяется модульная инверсия (е) первого произведения (d) путем незащищенной от взлома реализации алгоритма вычисления модульной инверсии (е),
четвертого шага определяется второе произведение (b) случайного числа (с) и модульной инверсии (е),
пятого шага обратная величина (r) приравнивается ко второму произведению (b).
2. Способ по п.1, отличающийся тем, что случайное число (с), первое произведение (d), второе произведение (b) и модульная инверсия (е) после определения обратной величины (r) стираются.
3. Способ по п.1 или 2, отличающийся тем, что незащищенная реализация основывается на алгоритме Эвклида.
4. Тахограф (DTCO) с вычислительным блоком, причем вычислительный блок кодирует и/или декодирует данные и выполнен таким образом, что в качестве одного из шагов кодирования и/или декодирования с помощью модуля (М) вычислительного блока обратная величина (r) определяется как модульная инверсия входной величины (а), отличающийся тем, что вычислительный блок предназначен для того, чтобы в качестве
первого шага выбрать случайное число (с),
второго шага получить из входной величины (а) и случайного числа (с) первое произведение (d),
третьего шага с помощью модуля (М) определить модульную инверсию (е) первого произведения (d) путем незащищенной от взлома реализации алгоритма вычисления модульной инверсии (е),
четвертого шага определить второе произведение (b) случайного числа (с) и модульной инверсии (е),
пятого шага приравнять обратную величину (r) ко второму произведению (b).
5. Мобильный носитель данных, в частности носитель данных, выполненный в виде карты с данными, с вычислительным блоком, причем вычислительный блок кодирует и/или декодирует данные и выполнен таким образом, что в качестве одного из шагов кодирования и/или декодирования с помощью модуля (М) вычислительного блока обратная величина (r) определяется как модульная инверсия входной величины (а), отличающийся тем, что вычислительный блок предназначен для того, чтобы в качестве
первого шага выбрать случайное число (с),
второго шага получить из входной величины (а) и случайного числа (с) первое произведение (d),
третьего шага с помощью модуля (М) определить модульную инверсию (е) первого произведения (d) путем незащищенной от взлома реализации алгоритма вычисления модульной инверсии (е),
четвертого шага определить второе произведение (b) случайного числа (с) и модульной инверсии (е),
пятого шага приравнять обратную величину (r) ко второму произведению (b).