RU2276465C2 - Криптографический способ и чип-карта для его осуществления - Google Patents
Криптографический способ и чип-карта для его осуществления Download PDFInfo
- Publication number
- RU2276465C2 RU2276465C2 RU2002133218/09A RU2002133218A RU2276465C2 RU 2276465 C2 RU2276465 C2 RU 2276465C2 RU 2002133218/09 A RU2002133218/09 A RU 2002133218/09A RU 2002133218 A RU2002133218 A RU 2002133218A RU 2276465 C2 RU2276465 C2 RU 2276465C2
- Authority
- RU
- Russia
- Prior art keywords
- opt
- mod
- numbers
- kgv
- sub
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000014509 gene expression Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/723—Modular exponentiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7271—Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
- Mobile Radio Communication Systems (AREA)
- Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
- Devices For Executing Special Programs (AREA)
- Error Detection And Correction (AREA)
Abstract
Изобретение относится к криптографическому способу и чип-карте для шифрования информации и к методам создания электронных подписей. Сущность изобретения заключается в том, что выполняют по меньшей мере один этап вычислений, обеспечивающий выполнение операции Е модульного возведения в степень по формуле Е=xq(mod p·q), где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом операцию Е модульного возведения в степень осуществляют в соответствии с китайской теоремой об остатках. Технический результат - сокращение количества вычислительных операций и затрат машинного времени при одновременном повышении степени защиты данных от несанкционированного доступа. 4 н. и 26 з.п. ф-лы.
Description
Криптографические методы, к которым относятся методы шифрования информации и методы создания электронных подписей, находят все более широкое распространение, что обусловлено прежде всего возрастанием того значения, которое в деловой сфере приобретает электронное ведение бизнеса. Для практической реализации подобных методов обычно используются соответствующие электронные устройства, которые для этой цели могут быть оснащены, например, универсальным программируемым микроконтроллером или же специализированной электронной схемой, например, в виде специализированной интегральной схемы (ИС). Одним из представляющих особый интерес криптографических устройств является карта со встроенной микросхемой (так называемая чип-карта), поскольку на такой карте при ее соответствующем техническому назначению выполнении можно сохранить секретные параметры ключа доступа в защищенном от несанкционированного доступа к ним виде. При этом основные усилия при разработке криптографических методов направлены на повышение скорости их выполнения, а также на защиту обрабатываемой с их помощью информации от всех возможных типов получения к ней несанкционированного доступа ("взлома"). Предлагаемое в изобретении решение пригодно для его использования прежде всего применительно к чип-картам, чем, однако, не ограничиваются возможные области его применения. Более того, предлагаемое в настоящем изобретении решение может быть реализовано в криптографических устройствах всех типов.
При осуществлении целого ряда известных криптографических методов необходимо выполнять операцию модульного возведения в степень в соответствии со следующим уравнением:
где р и q представляют собой простые числа. Наиболее значимым криптографическим методом, предусматривающим выполнение указанной операции модульного возведения в степень, является алгоритм цифровой подписи Райвеста-Шамира-Адлемана (RSA-алгоритм), известный, например, из публикации Alfred J. Menezes, Paul С. van Oorschot и Scott A. Vanstone, "Handbook of Applied Cryptography", изд-во CRC Press, Boca Raton, 1997, cc.285-291. Однако операция модульного возведения в степень используется не только в RSA-алгоритме, но и, например, в алгоритме цифровой подписи Рабина, известном из указанной выше публикации авторов Menezes и др., сс.438-442, и в алгоритме идентификации Фиата-Шамира, также известном из этой же публикации авторов Menezes и др., сс.408-410.
Надежность криптографических методов, предусматривающих выполнение операции по модульному возведению в степень, обычно зависит от сложности разложения числа N в уравнении (1) на его простые множители р и q. Решить эту задачу потенциальному злоумышленнику достаточно сложно лишь при достаточно больших значениях N, и поэтому такое число N, с одной стороны, следует выбирать предельно большим. С другой стороны, однако, с увеличением порядка числа N пропорционально возрастают и затраты машинного времени на вычисления соответствующих значений путем модульного возведения в степень согласно уравнению (1), и поэтому с точки зрения практического применения затраты машинного времени представляется целесообразным ограничить некоторым приемлемым уровнем, несмотря на оперирование с большими значениями самого числа N.
Известно, что применение так называемой "китайской теоремы об остатках" позволяет повысить скорость вычислений в 4 раза, благодаря чему, например, появляется возможность оперировать с большими значениями числа N при тех же затратах машинного времени. С этой целью вместо выполнения вычислений непосредственного в соответствии с уравнением (1) выполняется следующее преобразование:
где
Применение китайской теоремы об остатках позволяет оперировать при модульном возведении в степень уже не с величиной по модулю N, т.е. с вычисляемым по модулю значением того числа, в котором все еще сохраняются его собственные простые множители, разложению на которые оно подвергается, а последовательно сначала с величиной по модулю р, а затем с величиной по модулю q, т.е. при использовании подобного правила вычислений изначально необходимо знать сохраняемую в тайне методику разложения на простые множители n=p·q, что в результате приводит к разбиению всего процесса вычислений на первый этап вычислений согласно уравнению (3), на котором основной подвергаемой обработке величиной является первый простой множитель, и на второй этап вычислений согласно уравнению (4), на котором основной подвергаемой обработке величиной является второй простой множитель. Преимущество такого подхода состоит в том, что показатель степени d в уравнении (1) необходимо определять как величину, рассчитываемую по модулю φ(p·q), тогда как показатели степени в уравнении (2) необходимо определять лишь как величины, рассчитываемые по модулю φ(р) и φ(q) соответственно, где через φ обозначена функция Эйлера.
Следует отметить тот представляющий интерес факт, что в последнее время получил известность алгоритм "взлома" тех криптографических методов, в которых используется описанное выше модульное возведение в степень, при этом такой алгоритм основан на том, что в результате соответствующего искусственного вмешательства в протекающий в остальном без сбоев процесс вычислений на основании искаженного результата, полученного при неверном выполнении операции по модульному возведению в степень, можно получить информацию о простых множителях, разложению на которые подвергается число N, при условии, что при этом используется конкретная реализация китайской теоремы об остатках согласно уравнениям (2)-(4). Подобный метод получения несанкционированного доступа к информации, известный как "метод "взлома", выявленный специалистами фирмы Bellcore", рассмотрен, например, в публикации Dan Boneh, Richard A. DeMillo и Richard J. Lipton, "On the importance of checking Cryptographic Protocols for Faults", Advances in Cryptology - EUROCRYPT, 97, Lecture Notes in Computer Science 1233, изд-во Springer, Berlin, 1997. Согласно приведенной в указанной публикации информации получить доступ к данным можно путем преднамеренного создания неисправностей в шифраторе, подвергая его различного рода физическим воздействиям, таким, например, как завышение тактовой частоты, подача слишком высокого напряжения питания или радиационное облучение, что с определенной, хотя и не слишком высокой вероятностью приводит к возникновению ошибок в вычислениях при выполнении операции по модульному возведению в степень в соответствии с китайской теоремой об остатках. Если подобная ошибка в вычислениях возникает при оперировании только с одним из двух членов в уравнении (2), то на основании ошибочного результата возведения в степень можно восстановить оба простых множителя р и q.
Вывод, который можно сделать исходя из подобной уязвимости алгоритмов, использующих реализованное на основе китайской теоремы об остатках модульное возведение в степень, состоит в том, что полученный в процессе вычислений результат перед его дальнейшей обработкой и прежде всего перед его выдачей в какой-либо форме, например в виде подписи, сначала необходимо проверять на корректность.
Тривиальная мера, позволяющая воспрепятствовать "взлому" данных по выявленной специалистами Bellcore методике, состоит в том, чтобы в целях указанной проверки корректности результатов вычислений по меньшей мере однократно повторять каждый процесс вычислений. При возникновении в процессе вычислений случайных ошибок можно исходить из того, что полученный при выполнении первого процесса вычислений результат отличается от результата, полученного при выполнении контрольных вычислений. Существенный недостаток такого подхода заключается в том, что уже при выполнении одного контрольного процесса вычислений затраты машинного времени удваиваются.
Из заявки WO 98/52319 А1 известен, в частности, способ защиты вычислительных операций по модульному возведению в степень в соответствии с китайской теоремой об остатках от "взлома" по выявленной специалистами Bellcore методике. Этот способ состоит в том, что сначала выбирается некоторое секретное число j, например в интервале [0, 2k-1], где 16≤k≤32. После этого выполняются вычисления в соответствии со следующими выражениями:
Затем проверяется выполнение следующего условия:
Если соблюдение этого условия (11) подтверждается, то согласно известному способу выполняются вычисления в соответствии со следующими выражениями:
на основании которых затем с помощью китайской теоремы об остатках можно определить значение
Преимущество этого известного способа перед простым выполнением контрольных вычислений состоит в значительном сокращении дополнительных затрат машинного времени.
В соответствии с таким известным способом оба простых числа р и q необходимо умножать на один и тот же множитель d. В заявке WO 98/52319 А1 описан также второй вариант осуществления заявленного в ней способа, позволяющий умножать простые числа р и q на разные множители r и s. При этом, однако, для выполнения контрольных вычислений может потребоваться выполнение двух дополнительных операций возведения в степень.
В основу настоящего изобретения была положена задача разработать криптографический способ, соответственно криптографическое устройство, такое как чип-карта, которые позволяли бы сократить количество вычислительных операций или затраты машинного времени при одновременном сохранении или повышении степени защиты данных от несанкционированного доступа.
Эта задача решается в предлагаемых в изобретении криптографическом способе и чип-карте для его осуществления.
Предлагаемый в изобретении криптографический способ осуществим в чип-карте и заключается в том, что выполняют по меньшей мере один этап вычислений, включающий операцию Е модульного возведения в степень по формуле
Е=хd(mod p·q),
где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание.
В первом варианте предлагаемого способа для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s, при условии, что величины d и φ(kgV(r, s)) являются взаимно простыми, и выполняют следующие этапы вычислений:
x1=x(mod р·r),
x2=x(mod q·s),
d_1=d(mod φ(р·r)),
d_2=d(mod φ(q·s)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) является наименьшим общим кратным для чисел r и s.
Затем в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам z=z1(mod р·r) и z=z2(mod q·s).
Далее вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q и ранее вычисленное число z и тем самым результат операции Е возведения в степень проверяют на этапе контроля на наличие вычислительных ошибок. При этом этап контроля заключается в выполнении следующих вычислительных операций:
- вычисление наименьшего возможного натурального числа е, удовлетворяющего условию e·d=1(mod φ(kgV(r, s))), с помощью расширенного алгоритма Евклида,
- вычисление значения С=ze(mod kgV(r, s)),
- сравнение между собой значений х и С по модулю kgV(r, s).
Результат операции Е модульного возведения в степень отбрасывается как ошибочный, если х≠C(mod kgV(r, s)).
Во втором варианте предлагаемого способа для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s, а также два числа b1 и b2 из интервала [1, ..., r-1], соответственно [1, ..., s-1], являющиеся взаимно простыми по отношению к числам r и s соответственно, причем эти числа b1 и b2 удовлетворяют условию b1=b2(mod ggT(r, s)), где ggT(r, s) представляет собой наибольший общий делитель для чисел r и s.
С помощью обоих чисел b1 и b2 в соответствии с китайской теоремой об остатках вычисляют числа x1 и х2, которые удовлетворяют следующим условиям:
x1=x(mod р), x1=b1(mod r),
х2=x(mod q), x2=b2(mod s),
после чего выполняют следующие этапы вычислений:
d_1=d(mod φ(р)),
d_2=d(mod φ(q)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s.
Далее в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам z=z1(mod р·r) и z=z2(mod q·s), вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q и ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяют на этапе контроля на наличие вычислительных ошибок.
Этот этап контроля заключается в выполнении следующих вычислительных операций:
- вычисление чисел
причем до выполнения операции модульного возведения в степень по модулю φ(r), соответственно φ(s), сокращают d_1 и d_2,
- сравнение между собой значений z1 и С1 по модулю r, а также z2 и С2 по модулю s.
Результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1 ≠ z1 mod r или С2 ≠ r2 mod s.
Как было указано выше, объектом изобретения является также чип-карта, имеющая по меньшей мере одно вычислительное устройство и выполненная в двух вариантах с обеспечением осуществления соответствующих вариантов предлагаемого криптографического способа.
Как более подробно описано ниже, при использовании определенных вычислительных устройств предпочтительным является наличие у модуля при модульном возведении в степень большого количества ведущих двоичных единиц, и поэтому использование различных множителей r и s в этом случае связано с определенными преимуществами. Помимо этого существуют оптимизированные для выполнения операций модульного возведения в степень вычислительные устройства, при этом, однако, одна лишь необходимая для выполнения операций по возведению в степень передача данных из центрального процессора в такое оптимизированное вычислительное устройство связана со значительными затратами на управление массивами данных. Предлагаемое в изобретении решение позволяет по сравнению с описанным выше известным способом сократить на одну количество операций по возведению в степень при использовании различных множителей r и s.
Согласно изобретению предлагается выбирать два целых числа r и s, например, в интервале [0, 2k-1], где 16≤k≤32, благодаря чему величины d и φ(kgV(r, s)) являются взаимно простыми, при этом kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, а φ() представляет собой функцию Эйлера. Затем выполняются вычисления в соответствии со следующими выражениями:
В этом случае справедливы следующие выражения: z1=хd(mod p·r) и z2=хd(mod q·s). На основании известных величин z1 и z2 в соответствии с китайской теоремой об остатках можно легко вычислить число z согласно следующим выражениям:
Числа r и s следует выбирать согласно изобретению таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми. При наличии таких условий можно с помощью расширенного алгоритма Евклида легко найти натуральное число е в соответствии со следующим выражением:
Далее с помощью чисел z и е можно следующим образом вычислить число С:
В соответствии с теоремой Эйлера справедливо следующее выражение:
Сравнение между собой обоих значений С и х по модулю kgV(r, s) позволяет с высокой степенью вероятности выявить наличие ошибки в вычислениях. Если С≠x(mod kgV(r, s)), то результат модульного возведения в степень следует рассматривать как ошибочный и отбросить.
В соответствии с RSA-алгоритмом (равно как и в соответствии с алгоритмом цифровой подписи Рабина) для формирования цифровой подписи или для дешифрации следует выполнить одну операция модульного возведения в степень, при этом модуль p·q и показатель степени d зависят только от секретного ключа. По этой причине числа d, е, r и s можно вычислять лишь однократно при вводе этого секретного ключа и затем сохранять для последующего использования.
В соответствии с одним из вариантов осуществления изобретения также предлагается выбирать два целых числа r и s, например, в интервале [0, 2k-1], где 16≤k≤32. При использовании двоичного вычислительного (арифметического) устройства в качестве чисел r и s рекомендуется выбирать нечетные числа. Кроме того, выбирают два постоянных, не зависящих от х числа b1 и b2 из интервала [1, ..., r-1], соответственно [1, ..., s-1], являющихся взаимно простыми с числом r, соответственно s. Если числа r и s не являются взаимно простыми, то числа b1 и b2 должны удовлетворять дополнительному условию b1=b2(mod ggT(r, s)), где ggT(r, s) представляет собой наибольший общий делитель для чисел r и s.
Далее сначала в соответствии с китайской теоремой об остатках вычисляется число x1 согласно следующему выражению:
Затем аналогичным образом вычисляется число х2:
После этого выполняются вычисления в соответствии со следующими выражениями:
Для сокращения машинного времени можно сократить показатели степени d_1 и d_2 в уравнениях (27), соответственно (28) еще до возведения в степень по модулю φ(r), соответственно φ(s). Тем самым выражения (23) и (25) сводятся к следующему виду:
Выражения (24) и (26) в свою очередь сводятся к следующему виду:
На основании чисел z1 и z2 в соответствии с китайской теоремой об остатках можно легко вычислить число z:
Даже если числа r и s не являются взаимно простыми, то такое число z существует в любом случае, поскольку . Поскольку числа p и q являются взаимно простыми, из выражений (29), (30) и (31) следует, что:
и поэтому искомое число z легко определить на основании двух вычисленных выше значений.
Из выражений (21), (25) и (27) следует, что
Из выражений (22), (26) и (28) следует, что
Проверка соблюдения условий (33) и (34) позволяет с высокой степенью вероятности выявить ошибку. Если при такой проверке будет установлено несоблюдение одного из условий (33) и (34), то результат модульного возведения в степень следует рассматривать как ошибочный и отбросить.
В отличие от способа, представленного в п.8 в заявке WO 98/52319 А1, в рассмотренном выше варианте осуществления предлагаемого в изобретении способа числа b1 и b2 не зависят от основания x. Обычно при использовании RSA-алгоритма или алгоритма цифровой подписи Рабина секретный ключ однократно вводится в криптографическое устройство, например в чип-карту, и затем многократно используется. При этом при выполнении используемой в этих алгоритмах операции модульного возведения в степень показатель степени d, равно как и модуль p·q, являются неизменными и постоянными компонентами секретного ключа. По этой причине значения C1 и С2 требуется вычислять лишь однократно при вводе ключа в криптографическое устройство и затем их можно сохранить в памяти этого устройства. По сравнению с известным из заявки WO 98/52319 А1 способом сохранение этих значений позволяет на две сократить количество операций по модульному возведению в степень.
В состав обычного криптографического устройства, например чип-карты, оснащенного дополнительными аппаратными средствами для ускорения выполнения арифметических модульных операций, входят быстродействующие сумматоры и/или умножители, тогда как для выполнения необходимой для модульного сокращения операции деления на многозначное число требуется применять стандартные методы, известные, например, из публикации Donald Knuth, "The Art of Computer Programming", т.2: Seminumerical Algorithms, 2-е изд., изд-во Addison-Wesley, 1981. Один из известных методов, позволяющих упростить подобную операцию деления, состоит в умножении модуля р на число r до выполнения операции по возведению в степень, и поэтому в двоичном представлении произведения р·r присутствует максимально возможное количество единиц (см., например, указанную выше публикацию авторов Menezes и др., сс.598-599). Деление на число, содержащее максимально возможное количество ведущих единиц, является значительно более простой операцией по сравнению с делением на некоторое отвлеченное число.
Множитель r выбирают согласно изобретению таким образом, чтобы величины d и φ(r) были взаимно простыми. Однако в рассмотренном выше варианте осуществления изобретения наличие подобной взаимной простоты не требуется. Для каждого модуля р существует зависящий от конкретной технической реализации операции деления оптимальный множитель rопт. Если выбранное в качестве r значение несколько меньше оптимального, то количество содержащихся в произведении р·r ведущих единиц все еще остается достаточным для того, чтобы можно было упростить выполнение операции деления. При этом число d с высокой вероятностью является взаимно простым по отношению по меньшей мере к одному из значений φ(rопт-i); i=1, ..., k, при этом k представляет собой малое число, зависящее от конкретной реализации.
В противном случае r заменяется на величину 2i·r, где 2i представляет собой зависящую от конкретной реализации приемлемую степень двойки.
Аналогичные подстановки соответственно возможны и применительно ко второму простому множителю q. Поскольку множители r (для р) и s (для q) можно выбирать независимо один от другого, соответствующим образом можно выбирать и значения для множителя s.
Claims (30)
1. Криптографический способ, осуществляемый в чип-карте и заключающийся в том, что
а) выполняют по меньшей мере один этап вычислений, включающий операцию Е модульного возведения в степень по формуле
Е=xd(mod p·q),
где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом
б) для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s при условии, что величины d и φ(kgV(r, s)) являются взаимно простыми, и выполняют следующие этапы вычислений:
x1=x(mod р·r),
х2=x(mod q·s),
d_1=d(mod φ(р·r)),
d_2=d(mod φ)(q·s)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) является наименьшим общим кратным для чисел r и s, после чего
в) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам
z=z1(mod р·r) и z=z2(mod q·s),
г) вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q,
д) ранее вычисленное число z и тем самым результат операции Е возведения в степень проверяют на этапе контроля на наличие вычислительных ошибок, при этом
е) указанный этап контроля заключается в выполнении следующих вычислительных операций:
е1) вычисление наименьшего возможного натурального числа е, удовлетворяющего условию e·d=1(mod φ(kgV(r, s))), с помощью расширенного алгоритма Евклида,
е2) вычисление значения С=ze(mod kgV(r, s)),
e3) сравнение между собой значений х и С по модулю kgV(r, s), при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если х≠C(mod kgV(r, s)).
2. Криптографический способ, осуществляемый в чип-карте и заключающийся в том, что
а) выполняют по меньшей мере один этап вычислений, включающий операцию Е модульного возведения в степень по формуле
Е=xd(mod p·q),
где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом
б) для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s, а также два числа b1 и b2 из интервала [1, ..., r-1], соответственно [1, ..., s-1], являющихся взаимно простыми по отношению к числам r и s соответственно, причем эти числа b1 и b2 удовлетворяют условию b1=b2(mod ggT(r, s)), где ggT(r, s) представляет собой наибольший общий делитель для чисел r и s,
в) с помощью обоих этих чисел b1 и b2 в соответствии с китайской теоремой об остатках вычисляют числа x1 и х2, которые удовлетворяют следующим условиям:
x1=x(mod р), x1=b1(mod r),
x2=x(mod q), x2=b2(mod s),
после чего выполняют следующие этапы вычислений:
d_1=d(mod φ(р)),
d_2=d(mod φ(q)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, после чего
г) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам
z=z1(mod р·r) и z=z2(mod q·s),
д) вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q,
е) ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяют на этапе контроля на наличие вычислительных ошибок, при этом
ж) указанный этап контроля заключается в выполнении следующих вычислительных операций:
ж1) вычисление чисел
причем до выполнения операции модульного возведения в степень по модулю φ(r), соответственно φ(s) сокращают d_1 и d_2,
ж2) сравнение между собой значений z1 и C1 по модулю r, а также z2 и C2 по модулю s, при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1≠z1mod r или С2≠z2mod s.
3. Способ по п.2, отличающийся тем, что числа r и s являются нечетными.
4. Способ по любому из пп.1-3, отличающийся тем, что числа r и s выбирают из интервала [0, 2k-1], где 16≤k≤32.
5. Способ по любому из пп.1-3, отличающийся тем, что по меньшей мере одно из чисел r и s выбирают таким образом, чтобы в двоичном представлении произведения р·r, соответственно q·s присутствовало максимально большое количество ведущих единиц.
6. Способ по п.5, отличающийся тем, что
а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирают соответствующее оптимальное число rопт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
7. Способ по п.5, отличающийся тем, что
а) на первом подэтапе для каждого из чисел r и s выбирают соответствующее оптимальное число rопт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирают по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
8. Способ по п.5, отличающийся тем, что
а) сначала на первом подэтапе выбирают по меньшей мере одно из чисел rопт и sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми,
б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и
в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирают по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
9. Способ по любому из пп.1-3, отличающийся тем, что оба числа r и s выбирают таким образом, чтобы в двоичном представлении произведения р·r и произведения q·s присутствовало максимально большое количество ведущих единиц.
10. Способ по п.9, отличающийся тем, что
а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирают соответствующее оптимальное число rопт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
11. Способ по п.9, отличающийся тем, что а) на первом подэтапе для каждого из чисел r и s выбирают соответствующее оптимальное число rопт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирают по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
12. Способ по п.9, отличающийся тем, что
а) сначала на первом подэтапе выбирают по меньшей мере одно из чисел rопт и sопт, не ограничивая такой выбор условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми,
б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и
в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирают по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
13. Способ по любому из пп.1-3, отличающийся тем, что криптографический способ предусматривает выполнение алгоритма Райвеста-Шамира-Адлемана.
14. Способ по любому из пп.1-3, отличающийся тем, что криптографический способ предусматривает выполнение алгоритма цифровой подписи Рабина.
15. Способ по любому из пп.1-3, отличающийся тем, что криптографический способ предусматривает выполнение алгоритма идентификации Фиата-Шамира.
16. Чип-карта, имеющая по меньшей мере одно вычислительное устройство, обеспечивающее
а) выполнение этапа вычислений, включающего операцию Е модульного возведения в степень по формуле
Е=xd(mod p·q),
где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом
б) для выполнения операции модульного возведения в степень выбираются два натуральных числа r и s при условии, что величины d и φ(kgV(r, s)) являются взаимно простыми, и выполняются следующие этапы вычислений:
x1=x(mod p·r),
x2=x(mod q·s),
d_1=d(mod φ(р·r)),
d_2=d(mod φ(q·s)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) является наименьшим общим кратным для чисел r и s, после чего
в) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляется число z по формулам
z=z1(mod p·r) и z=z2(mod q·s),
г) вычисляется результат операции Е возведения в степень путем сокращения z по модулю p·q,
д) ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяется на этапе контроля на наличие вычислительных ошибок, при этом
е) указанный этап контроля заключается в выполнении следующих вычислительных операций:
е1) вычисление наименьшего возможного натурального числа е, удовлетворяющего условию e·d=1(mod φ(kgV(r, s))), с помощью расширенного алгоритма Евклида,
е2) вычисление значения С=ze(mod kgV(r, s)),
е3) сравнение между собой значений х и С по модулю kgV(r, s), при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если х≠C(mod kgV(r, s)).
17. Чип-карта, имеющая по меньшей мере одно вычислительное устройство, обеспечивающее
а) выполнение этапа вычислений, включающего операцию Е модульного возведения в степень по формуле
Е=xd(mod p·q),
где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом
б) для выполнения операции модульного возведения в степень выбираются два натуральных числа r и s, а также два числа b1 и b2 из интервала [1, ..., r-1], соответственно [1, ..., s-1], являющихся взаимно простыми по отношению к числам r и s соответственно, причем эти числа b1 и b2 удовлетворяют условию b1=b2(mod ggT(r, s)), где ggT(r, s) представляет собой наибольший общий делитель для чисел r и s,
в) с помощью обоих этих чисел b1 и b2 в соответствии с китайской теоремой об остатках вычисляются числа x1 и x2, которые удовлетворяют следующим условиям:
x1=x(mod р), x1=b1(mod r),
x2=x(mod q), x2=b2(mod s),
после чего выполняются следующие этапы вычислений:
d_1=d(mod φ(p)),
d_2=d(mod φ(q)),
где φ() представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, после чего
г) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляется число z по формулам
z=z1(mod р·r) и z=z2(mod q·s),
д) вычисляется результат операции Е возведения в степень путем сокращения z по модулю p·q,
е) ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяются на этапе контроля на наличие вычислительных ошибок, при этом
ж) указанный этап контроля заключается в выполнении следующих вычислительных операций:
ж1) вычисление чисел
причем до выполнения операции модульного возведения в степень по модулю φ(r), соответственно φ(s) сокращаются d_1 и d_2,
ж2) сравнение между собой значений z1 и C1 по модулю r, а также z2 и С2 по модулю s, при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1≠z1mod r или C2≠z2mod s.
18. Чип-карта по п.17, отличающаяся тем, что числа r и s являются нечетными.
19. Чип-карта по любому из пп.16-18, отличающаяся тем, что числа r и s выбираются из интервала [0, 2k-1], где 16≤k≤32.
20. Чип-карта по любому из пп.16-18, отличающаяся тем, что по меньшей мере одно из чисел r и s выбирается таким образом, чтобы в двоичном представлении произведения р·r, соответственно q·s присутствовало максимально большое количество ведущих единиц.
21. Чип-карта по п.20, отличающаяся тем, что
а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
22. Чип-карта по п.20, отличающаяся тем, что
а) на первом подэтапе для каждого из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирается по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
23. Чип-карта по п.20, отличающаяся тем, что
а) сначала на первом подэтапе выбирается по меньшей мере одно из чисел rопт и sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми,
б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и
в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирается по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
24. Чип-карта по любому из пп.16-18, отличающаяся тем, что оба числа r и s выбираются таким образом, чтобы в двоичном представлении произведения р·r и произведения q·s присутствовало максимально большое количество ведущих единиц.
25. Чип-карта по п.24, отличающаяся тем, что
а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
26. Чип-карта по п.24, отличающаяся тем, что
а) на первом подэтапе для каждого из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми, и
б) на втором подэтапе выбирается по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
27. Чип-карта по п.24, отличающаяся тем, что
а) сначала на первом подэтапе выбирается по меньшей мере одно из чисел rопт и sопт без ограничения такого выбора условием, согласно которому величины d и φ(kgV(r, s)) должны быть взаимно простыми,
б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и
в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирается по значению r=21·rопт, соответственно s=21·sопт, где 1=0, 1, ..., j, таким образом, чтобы величины d и φ(kgV(r, s)) были взаимно простыми.
28. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма Райвеста-Шамира-Адлемана.
29. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма цифровой подписи Рабина.
30. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма идентификации Фиата-Шамира.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10024325.8 | 2000-05-17 | ||
DE10024325A DE10024325B4 (de) | 2000-05-17 | 2000-05-17 | Kryptographisches Verfahren und kryptographische Vorrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2002133218A RU2002133218A (ru) | 2004-04-20 |
RU2276465C2 true RU2276465C2 (ru) | 2006-05-10 |
Family
ID=7642491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2002133218/09A RU2276465C2 (ru) | 2000-05-17 | 2001-05-15 | Криптографический способ и чип-карта для его осуществления |
Country Status (12)
Country | Link |
---|---|
US (1) | US7227947B2 (ru) |
EP (1) | EP1290545B1 (ru) |
JP (1) | JP4977300B2 (ru) |
CN (1) | CN1429360A (ru) |
AT (1) | ATE309569T1 (ru) |
AU (2) | AU6596701A (ru) |
BR (1) | BR0110923A (ru) |
CA (1) | CA2409200C (ru) |
DE (2) | DE10024325B4 (ru) |
MX (1) | MXPA02011222A (ru) |
RU (1) | RU2276465C2 (ru) |
WO (1) | WO2001088693A2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2471300C2 (ru) * | 2007-02-27 | 2012-12-27 | Томсон Лайсенсинг | Способ и устройство генерации сжатого rsa модуля |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003034649A2 (de) | 2001-10-17 | 2003-04-24 | Infineon Technologies Ag | Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus |
DE10162496C5 (de) * | 2001-10-17 | 2009-02-26 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus |
EP1454260B1 (de) | 2001-10-17 | 2005-06-01 | Infineon Technologies AG | Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt) |
DE50302617D1 (de) * | 2002-09-11 | 2006-05-04 | Giesecke & Devrient Gmbh | Geschützte kryptographische berechnung |
US8239917B2 (en) * | 2002-10-16 | 2012-08-07 | Enterprise Information Management, Inc. | Systems and methods for enterprise security with collaborative peer to peer architecture |
US7840806B2 (en) * | 2002-10-16 | 2010-11-23 | Enterprise Information Management, Inc. | System and method of non-centralized zero knowledge authentication for a computer network |
CA2535741C (en) * | 2003-10-14 | 2015-11-10 | Matsushita Electric Industrial Co., Ltd. | Data converter and method thereof |
US7213766B2 (en) | 2003-11-17 | 2007-05-08 | Dpd Patent Trust Ltd | Multi-interface compact personal token apparatus and methods of use |
US7597250B2 (en) | 2003-11-17 | 2009-10-06 | Dpd Patent Trust Ltd. | RFID reader with multiple interfaces |
US7762470B2 (en) | 2003-11-17 | 2010-07-27 | Dpd Patent Trust Ltd. | RFID token with multiple interface controller |
FR2862454A1 (fr) * | 2003-11-18 | 2005-05-20 | Atmel Corp | Methode de reduction modulaire aleatoire et equipement associe |
EP2697786B1 (en) * | 2011-04-13 | 2017-10-04 | Nokia Technologies Oy | Method and apparatus for identity based ticketing |
DE102011117236A1 (de) * | 2011-10-28 | 2013-05-02 | Giesecke & Devrient Gmbh | Effiziente Primzahlprüfung |
CN104123431B (zh) * | 2013-04-24 | 2018-09-14 | 国民技术股份有限公司 | 一种元素的模逆计算方法及装置 |
AU2015360415A1 (en) | 2014-12-10 | 2017-06-29 | Kyndi, Inc. | Apparatus and method for combinatorial hypermap based data representations and operations |
US9652200B2 (en) * | 2015-02-18 | 2017-05-16 | Nxp B.V. | Modular multiplication using look-up tables |
US11005654B2 (en) | 2019-05-14 | 2021-05-11 | Google Llc | Outsourcing exponentiation in a private group |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2737369A1 (fr) * | 1995-07-26 | 1997-01-31 | Trt Telecom Radio Electr | Systeme de communication de messages cryptes selon un procede de type r.s.a. |
GB2318892B (en) * | 1996-10-31 | 2001-07-11 | Motorola Ltd | Co-processor for performing modular multiplication |
US5991415A (en) * | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
-
2000
- 2000-05-17 DE DE10024325A patent/DE10024325B4/de not_active Expired - Fee Related
-
2001
- 2001-05-15 MX MXPA02011222A patent/MXPA02011222A/es active IP Right Grant
- 2001-05-15 AT AT01943373T patent/ATE309569T1/de not_active IP Right Cessation
- 2001-05-15 US US10/275,947 patent/US7227947B2/en not_active Expired - Fee Related
- 2001-05-15 DE DE50108011T patent/DE50108011D1/de not_active Expired - Lifetime
- 2001-05-15 AU AU6596701A patent/AU6596701A/xx active Pending
- 2001-05-15 JP JP2001585023A patent/JP4977300B2/ja not_active Expired - Lifetime
- 2001-05-15 RU RU2002133218/09A patent/RU2276465C2/ru not_active IP Right Cessation
- 2001-05-15 EP EP01943373A patent/EP1290545B1/de not_active Expired - Lifetime
- 2001-05-15 CA CA2409200A patent/CA2409200C/en not_active Expired - Lifetime
- 2001-05-15 WO PCT/EP2001/005532 patent/WO2001088693A2/de active IP Right Grant
- 2001-05-15 CN CN01809690.5A patent/CN1429360A/zh active Pending
- 2001-05-15 AU AU2001265967A patent/AU2001265967B2/en not_active Expired
- 2001-05-15 BR BR0110923-5A patent/BR0110923A/pt not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2471300C2 (ru) * | 2007-02-27 | 2012-12-27 | Томсон Лайсенсинг | Способ и устройство генерации сжатого rsa модуля |
Also Published As
Publication number | Publication date |
---|---|
DE10024325A1 (de) | 2001-12-06 |
WO2001088693A2 (de) | 2001-11-22 |
MXPA02011222A (es) | 2003-06-06 |
WO2001088693A3 (de) | 2002-02-28 |
EP1290545B1 (de) | 2005-11-09 |
CN1429360A (zh) | 2003-07-09 |
US7227947B2 (en) | 2007-06-05 |
EP1290545A2 (de) | 2003-03-12 |
CA2409200A1 (en) | 2002-11-18 |
AU6596701A (en) | 2001-11-26 |
BR0110923A (pt) | 2003-03-11 |
US20040028221A1 (en) | 2004-02-12 |
JP4977300B2 (ja) | 2012-07-18 |
DE50108011D1 (de) | 2005-12-15 |
JP2003533752A (ja) | 2003-11-11 |
AU2001265967B2 (en) | 2005-11-24 |
ATE309569T1 (de) | 2005-11-15 |
CA2409200C (en) | 2010-02-09 |
DE10024325B4 (de) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2276465C2 (ru) | Криптографический способ и чип-карта для его осуществления | |
JP6707024B2 (ja) | 非対称マスク済み乗算 | |
Walter | MIST: An efficient, randomized exponentiation algorithm for resisting power analysis | |
US8422685B2 (en) | Method for elliptic curve scalar multiplication | |
EP1552382B1 (en) | Efficient arithmetic in finite fields of odd characteristic on binary hardware | |
US20070064931A1 (en) | Elliptic curve point multiplication | |
US20020186837A1 (en) | Multiple prime number generation using a parallel prime number search algorithm | |
US6973190B1 (en) | Method for protecting an electronic system with modular exponentiation-based cryptography against attacks by physical analysis | |
JP2008541166A (ja) | ランダム化されたモジュラー多項式のリダクション方法およびそのためのハードウェア | |
US8639944B2 (en) | Zero divisors protecting exponentiation | |
EP1552642A1 (en) | Cryptography using finite fields of odd characteristic on binary hardware | |
US20140294174A1 (en) | Efficient Prime-Number Check | |
WO2009091746A1 (en) | Representation change of a point on an elliptic curve | |
US20100287384A1 (en) | Arrangement for and method of protecting a data processing device against an attack or analysis | |
EP1068565B1 (en) | Acceleration and security enhancements for elliptic curve and rsa coprocessors | |
TWI512610B (zh) | 利用模數的特殊形式之模組約化 | |
US20090122980A1 (en) | Cryptographic Method for Securely Implementing an Exponentiation, and an Associated Component | |
US7983414B2 (en) | Protected cryptographic calculation | |
US7774160B2 (en) | Method, device, and system for verifying points determined on an elliptic curve | |
US7346637B2 (en) | Polynomial time deterministic method for testing primality of numbers | |
EP1443699A1 (en) | Information processing means and IC card | |
Malina et al. | Accelerated modular arithmetic for low-performance devices | |
US6609141B1 (en) | Method of performing modular inversion | |
CN113141255A (zh) | 用于在处理设备、对应的处理设备和计算机程序产品中对数据执行密码运算的方法 | |
Page et al. | On XTR and side-channel analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20080516 |