криптографический способ и чип-карта для его осуществления

Классы МПК:H04L9/22 с особым генератором псевдослучайной последовательности
G06F7/72 с помощью арифметического остатка
Автор(ы):
Патентообладатель(и):ГИЗЕКЕ УНД ДЕВРИЕНТ ГМБХ (DE)
Приоритеты:
подача заявки:
2001-05-15
публикация патента:

Изобретение относится к криптографическому способу и чип-карте для шифрования информации и к методам создания электронных подписей. Сущность изобретения заключается в том, что выполняют по меньшей мере один этап вычислений, обеспечивающий выполнение операции Е модульного возведения в степень по формуле Е=xq(mod p·q), где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом операцию Е модульного возведения в степень осуществляют в соответствии с китайской теоремой об остатках. Технический результат - сокращение количества вычислительных операций и затрат машинного времени при одновременном повышении степени защиты данных от несанкционированного доступа. 4 н. и 26 з.п. ф-лы.

Формула изобретения

1. Криптографический способ, осуществляемый в чип-карте и заключающийся в том, что

а) выполняют по меньшей мере один этап вычислений, включающий операцию Е модульного возведения в степень по формуле

Е=xd(mod p·q),

где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание, при этом

б) для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s при условии, что величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) являются взаимно простыми, и выполняют следующие этапы вычислений:

x1=x(mod р·r),

х2=x(mod q·s),

d_1=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (р·r)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 )(q·s)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s))), с помощью расширенного алгоритма Евклида,

е2) вычисление значения С=ze(mod kgV(r, s)),

e3) сравнение между собой значений х и С по модулю kgV(r, s), при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если хкриптографический способ и чип-карта для его осуществления, патент № 2276465 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 и b 2 удовлетворяют условию 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (р)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (q)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, после чего

г) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам

z=z1(mod р·r) и z=z2(mod q·s),

д) вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q,

е) ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяют на этапе контроля на наличие вычислительных ошибок, при этом

ж) указанный этап контроля заключается в выполнении следующих вычислительных операций:

ж1) вычисление чисел

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

причем до выполнения операции модульного возведения в степень по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (r), соответственно криптографический способ и чип-карта для его осуществления, патент № 2276465 (s) сокращают d_1 и d_2,

ж2) сравнение между собой значений z1 и C1 по модулю r, а также z 2 и C2 по модулю s, при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1криптографический способ и чип-карта для его осуществления, патент № 2276465 z1mod r или С2криптографический способ и чип-карта для его осуществления, патент № 2276465 z2mod s.

3. Способ по п.2, отличающийся тем, что числа r и s являются нечетными.

4. Способ по любому из пп.1-3, отличающийся тем, что числа r и s выбирают из интервала [0, 2k-1], где 16криптографический способ и чип-карта для его осуществления, патент № 2276465 kкриптографический способ и чип-карта для его осуществления, патент № 2276465 32.

5. Способ по любому из пп.1-3, отличающийся тем, что по меньшей мере одно из чисел r и s выбирают таким образом, чтобы в двоичном представлении произведения р·r, соответственно q·s присутствовало максимально большое количество ведущих единиц.

6. Способ по п.5, отличающийся тем, что

а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирают соответствующее оптимальное число rопт , соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирают по соседнему значению r=rопт -i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

7. Способ по п.5, отличающийся тем, что

а) на первом подэтапе для каждого из чисел r и s выбирают соответствующее оптимальное число r опт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирают по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

8. Способ по п.5, отличающийся тем, что

а) сначала на первом подэтапе выбирают по меньшей мере одно из чисел rопт и sопт , не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми,

б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и

в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирают по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

9. Способ по любому из пп.1-3, отличающийся тем, что оба числа r и s выбирают таким образом, чтобы в двоичном представлении произведения р·r и произведения q·s присутствовало максимально большое количество ведущих единиц.

10. Способ по п.9, отличающийся тем, что

а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирают соответствующее оптимальное число r опт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирают по соседнему значению r=rопт -i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

11. Способ по п.9, отличающийся тем, что а) на первом подэтапе для каждого из чисел r и s выбирают соответствующее оптимальное число r опт, соответственно sопт, не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирают по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

12. Способ по п.9, отличающийся тем, что

а) сначала на первом подэтапе выбирают по меньшей мере одно из чисел rопт и s опт, не ограничивая такой выбор условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми,

б) на втором подэтапе выбирают по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и

в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирают по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (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 и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) являются взаимно простыми, и выполняются следующие этапы вычислений:

x1=x(mod p·r),

x2=x(mod q·s),

d_1=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (р·r)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (q·s)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s))), с помощью расширенного алгоритма Евклида,

е2) вычисление значения С=ze(mod kgV(r, s)),

е3) сравнение между собой значений х и С по модулю kgV(r, s), при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если хкриптографический способ и чип-карта для его осуществления, патент № 2276465 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 и b 2 удовлетворяют условию 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (p)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (q)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, после чего

г) в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляется число z по формулам

z=z1(mod р·r) и z=z2 (mod q·s),

д) вычисляется результат операции Е возведения в степень путем сокращения z по модулю p·q,

е) ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяются на этапе контроля на наличие вычислительных ошибок, при этом

ж) указанный этап контроля заключается в выполнении следующих вычислительных операций:

ж1) вычисление чисел

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

причем до выполнения операции модульного возведения в степень по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (r), соответственно криптографический способ и чип-карта для его осуществления, патент № 2276465 (s) сокращаются d_1 и d_2,

ж2) сравнение между собой значений z1 и C1 по модулю r, а также z 2 и С2 по модулю s, при этом результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1криптографический способ и чип-карта для его осуществления, патент № 2276465 z1mod r или C2криптографический способ и чип-карта для его осуществления, патент № 2276465 z2mod s.

18. Чип-карта по п.17, отличающаяся тем, что числа r и s являются нечетными.

19. Чип-карта по любому из пп.16-18, отличающаяся тем, что числа r и s выбираются из интервала [0, 2k-1], где 16криптографический способ и чип-карта для его осуществления, патент № 2276465 kкриптографический способ и чип-карта для его осуществления, патент № 2276465 32.

20. Чип-карта по любому из пп.16-18, отличающаяся тем, что по меньшей мере одно из чисел r и s выбирается таким образом, чтобы в двоичном представлении произведения р·r, соответственно q·s присутствовало максимально большое количество ведущих единиц.

21. Чип-карта по п.20, отличающаяся тем, что

а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирается соответствующее оптимальное число r опт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирается по соседнему значению r=rопт -i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

22. Чип-карта по п.20, отличающаяся тем, что

а) на первом подэтапе для каждого из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирается по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

23. Чип-карта по п.20, отличающаяся тем, что

а) сначала на первом подэтапе выбирается по меньшей мере одно из чисел rопт и s опт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми,

б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и

в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирается по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

24. Чип-карта по любому из пп.16-18, отличающаяся тем, что оба числа r и s выбираются таким образом, чтобы в двоичном представлении произведения р·r и произведения q·s присутствовало максимально большое количество ведущих единиц.

25. Чип-карта по п.24, отличающаяся тем, что

а) сначала на первом подэтапе по меньшей мере для одного из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирается по соседнему значению r=rопт -i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

26. Чип-карта по п.24, отличающаяся тем, что

а) на первом подэтапе для каждого из чисел r и s выбирается соответствующее оптимальное число rопт, соответственно sопт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми, и

б) на втором подэтапе выбирается по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

27. Чип-карта по п.24, отличающаяся тем, что

а) сначала на первом подэтапе выбирается по меньшей мере одно из чисел rопт и s опт без ограничения такого выбора условием, согласно которому величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) должны быть взаимно простыми,

б) на втором подэтапе выбирается по соседнему значению r=rопт-i, соответственно s=sопт-i, где i=0, 1, ..., k, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми, при условии, что такое значение существует для i=0, 1, ..., k, и

в) на третьем подэтапе в том случае, если на втором подэтапе не было выбрано ни одного значения, выбирается по значению r=21·r опт, соответственно s=21·sопт , где 1=0, 1, ..., j, таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми.

28. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма Райвеста-Шамира-Адлемана.

29. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма цифровой подписи Рабина.

30. Чип-карта по любому из пп.16-18, отличающаяся тем, что она выполнена с возможностью осуществления криптографического способа, предусматривающего выполнение алгоритма идентификации Фиата-Шамира.

Описание изобретения к патенту

Криптографические методы, к которым относятся методы шифрования информации и методы создания электронных подписей, находят все более широкое распространение, что обусловлено прежде всего возрастанием того значения, которое в деловой сфере приобретает электронное ведение бизнеса. Для практической реализации подобных методов обычно используются соответствующие электронные устройства, которые для этой цели могут быть оснащены, например, универсальным программируемым микроконтроллером или же специализированной электронной схемой, например, в виде специализированной интегральной схемы (ИС). Одним из представляющих особый интерес криптографических устройств является карта со встроенной микросхемой (так называемая чип-карта), поскольку на такой карте при ее соответствующем техническому назначению выполнении можно сохранить секретные параметры ключа доступа в защищенном от несанкционированного доступа к ним виде. При этом основные усилия при разработке криптографических методов направлены на повышение скорости их выполнения, а также на защиту обрабатываемой с их помощью информации от всех возможных типов получения к ней несанкционированного доступа ("взлома"). Предлагаемое в изобретении решение пригодно для его использования прежде всего применительно к чип-картам, чем, однако, не ограничиваются возможные области его применения. Более того, предлагаемое в настоящем изобретении решение может быть реализовано в криптографических устройствах всех типов.

При осуществлении целого ряда известных криптографических методов необходимо выполнять операцию модульного возведения в степень в соответствии со следующим уравнением:

криптографический способ и чип-карта для его осуществления, патент № 2276465

где р и 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) выполняется следующее преобразование:

криптографический способ и чип-карта для его осуществления, патент № 2276465

где

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

Применение китайской теоремы об остатках позволяет оперировать при модульном возведении в степень уже не с величиной по модулю N, т.е. с вычисляемым по модулю значением того числа, в котором все еще сохраняются его собственные простые множители, разложению на которые оно подвергается, а последовательно сначала с величиной по модулю р, а затем с величиной по модулю q, т.е. при использовании подобного правила вычислений изначально необходимо знать сохраняемую в тайне методику разложения на простые множители n=p·q, что в результате приводит к разбиению всего процесса вычислений на первый этап вычислений согласно уравнению (3), на котором основной подвергаемой обработке величиной является первый простой множитель, и на второй этап вычислений согласно уравнению (4), на котором основной подвергаемой обработке величиной является второй простой множитель. Преимущество такого подхода состоит в том, что показатель степени d в уравнении (1) необходимо определять как величину, рассчитываемую по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (p·q), тогда как показатели степени в уравнении (2) необходимо определять лишь как величины, рассчитываемые по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (р) и криптографический способ и чип-карта для его осуществления, патент № 2276465 (q) соответственно, где через криптографический способ и чип-карта для его осуществления, патент № 2276465 обозначена функция Эйлера.

Следует отметить тот представляющий интерес факт, что в последнее время получил известность алгоритм "взлома" тех криптографических методов, в которых используется описанное выше модульное возведение в степень, при этом такой алгоритм основан на том, что в результате соответствующего искусственного вмешательства в протекающий в остальном без сбоев процесс вычислений на основании искаженного результата, полученного при неверном выполнении операции по модульному возведению в степень, можно получить информацию о простых множителях, разложению на которые подвергается число 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криптографический способ и чип-карта для его осуществления, патент № 2276465 kкриптографический способ и чип-карта для его осуществления, патент № 2276465 32. После этого выполняются вычисления в соответствии со следующими выражениями:

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

Затем проверяется выполнение следующего условия:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Если соблюдение этого условия (11) подтверждается, то согласно известному способу выполняются вычисления в соответствии со следующими выражениями:

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

на основании которых затем с помощью китайской теоремы об остатках можно определить значение

криптографический способ и чип-карта для его осуществления, патент № 2276465

Преимущество этого известного способа перед простым выполнением контрольных вычислений состоит в значительном сокращении дополнительных затрат машинного времени.

В соответствии с таким известным способом оба простых числа р и q необходимо умножать на один и тот же множитель d. В заявке WO 98/52319 А1 описан также второй вариант осуществления заявленного в ней способа, позволяющий умножать простые числа р и q на разные множители r и s. При этом, однако, для выполнения контрольных вычислений может потребоваться выполнение двух дополнительных операций возведения в степень.

В основу настоящего изобретения была положена задача разработать криптографический способ, соответственно криптографическое устройство, такое как чип-карта, которые позволяли бы сократить количество вычислительных операций или затраты машинного времени при одновременном сохранении или повышении степени защиты данных от несанкционированного доступа.

Эта задача решается в предлагаемых в изобретении криптографическом способе и чип-карте для его осуществления.

Предлагаемый в изобретении криптографический способ осуществим в чип-карте и заключается в том, что выполняют по меньшей мере один этап вычислений, включающий операцию Е модульного возведения в степень по формуле

Е=хd(mod p·q),

где d и mod p·q являются компонентами секретного ключа, причем р представляет собой первый простой множитель, q представляет собой второй простой множитель, d представляет собой показатель степени, а х представляет собой основание.

В первом варианте предлагаемого способа для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s, при условии, что величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) являются взаимно простыми, и выполняют следующие этапы вычислений:

x1=x(mod р·r),

x2=x(mod q·s),

d_1=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (р·r)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (q·s)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s))), с помощью расширенного алгоритма Евклида,

- вычисление значения С=ze(mod kgV(r, s)),

- сравнение между собой значений х и С по модулю kgV(r, s).

Результат операции Е модульного возведения в степень отбрасывается как ошибочный, если хкриптографический способ и чип-карта для его осуществления, патент № 2276465 C(mod kgV(r, s)).

Во втором варианте предлагаемого способа для выполнения операции модульного возведения в степень выбирают два натуральных числа r и s, а также два числа b 1 и b2 из интервала [1, ..., r-1], соответственно [1, ..., s-1], являющиеся взаимно простыми по отношению к числам r и s соответственно, причем эти числа b1 и b 2 удовлетворяют условию 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 криптографический способ и чип-карта для его осуществления, патент № 2276465 (р)),

d_2=d(mod криптографический способ и чип-карта для его осуществления, патент № 2276465 (q)),

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

где криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера, a kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s.

Далее в соответствии с китайской теоремой об остатках на основании величин z1 и z2 вычисляют число z по формулам z=z 1(mod р·r) и z=z2(mod q·s), вычисляют результат операции Е возведения в степень путем сокращения z по модулю p·q и ранее вычисленное число z (а тем самым автоматически и результат операции Е возведения в степень) проверяют на этапе контроля на наличие вычислительных ошибок.

Этот этап контроля заключается в выполнении следующих вычислительных операций:

- вычисление чисел

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

причем до выполнения операции модульного возведения в степень по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (r), соответственно криптографический способ и чип-карта для его осуществления, патент № 2276465 (s), сокращают d_1 и d_2,

- сравнение между собой значений z1 и С1 по модулю r, а также z 2 и С2 по модулю s.

Результат операции Е модульного возведения в степень отбрасывается как ошибочный, если C1 криптографический способ и чип-карта для его осуществления, патент № 2276465 z1 mod r или С2 криптографический способ и чип-карта для его осуществления, патент № 2276465 r2 mod s.

Как было указано выше, объектом изобретения является также чип-карта, имеющая по меньшей мере одно вычислительное устройство и выполненная в двух вариантах с обеспечением осуществления соответствующих вариантов предлагаемого криптографического способа.

Как более подробно описано ниже, при использовании определенных вычислительных устройств предпочтительным является наличие у модуля при модульном возведении в степень большого количества ведущих двоичных единиц, и поэтому использование различных множителей r и s в этом случае связано с определенными преимуществами. Помимо этого существуют оптимизированные для выполнения операций модульного возведения в степень вычислительные устройства, при этом, однако, одна лишь необходимая для выполнения операций по возведению в степень передача данных из центрального процессора в такое оптимизированное вычислительное устройство связана со значительными затратами на управление массивами данных. Предлагаемое в изобретении решение позволяет по сравнению с описанным выше известным способом сократить на одну количество операций по возведению в степень при использовании различных множителей r и s.

Согласно изобретению предлагается выбирать два целых числа r и s, например, в интервале [0, 2k-1], где 16криптографический способ и чип-карта для его осуществления, патент № 2276465 kкриптографический способ и чип-карта для его осуществления, патент № 2276465 32, благодаря чему величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) являются взаимно простыми, при этом kgV(r, s) представляет собой наименьшее общее кратное для чисел r и s, а криптографический способ и чип-карта для его осуществления, патент № 2276465 () представляет собой функцию Эйлера. Затем выполняются вычисления в соответствии со следующими выражениями:

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

В этом случае справедливы следующие выражения: z1d(mod p·r) и z2 d(mod q·s). На основании известных величин z1 и z2 в соответствии с китайской теоремой об остатках можно легко вычислить число z согласно следующим выражениям:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Числа r и s следует выбирать согласно изобретению таким образом, чтобы величины d и криптографический способ и чип-карта для его осуществления, патент № 2276465 (kgV(r, s)) были взаимно простыми. При наличии таких условий можно с помощью расширенного алгоритма Евклида легко найти натуральное число е в соответствии со следующим выражением:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Далее с помощью чисел z и е можно следующим образом вычислить число С:

криптографический способ и чип-карта для его осуществления, патент № 2276465

В соответствии с теоремой Эйлера справедливо следующее выражение:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Сравнение между собой обоих значений С и х по модулю kgV(r, s) позволяет с высокой степенью вероятности выявить наличие ошибки в вычислениях. Если Скриптографический способ и чип-карта для его осуществления, патент № 2276465 x(mod kgV(r, s)), то результат модульного возведения в степень следует рассматривать как ошибочный и отбросить.

В соответствии с RSA-алгоритмом (равно как и в соответствии с алгоритмом цифровой подписи Рабина) для формирования цифровой подписи или для дешифрации следует выполнить одну операция модульного возведения в степень, при этом модуль p·q и показатель степени d зависят только от секретного ключа. По этой причине числа d, е, r и s можно вычислять лишь однократно при вводе этого секретного ключа и затем сохранять для последующего использования.

В соответствии с одним из вариантов осуществления изобретения также предлагается выбирать два целых числа r и s, например, в интервале [0, 2k-1], где 16криптографический способ и чип-карта для его осуществления, патент № 2276465 kкриптографический способ и чип-карта для его осуществления, патент № 2276465 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 согласно следующему выражению:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Затем аналогичным образом вычисляется число х2:

криптографический способ и чип-карта для его осуществления, патент № 2276465

После этого выполняются вычисления в соответствии со следующими выражениями:

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

криптографический способ и чип-карта для его осуществления, патент № 2276465

Для сокращения машинного времени можно сократить показатели степени d_1 и d_2 в уравнениях (27), соответственно (28) еще до возведения в степень по модулю криптографический способ и чип-карта для его осуществления, патент № 2276465 (r), соответственно криптографический способ и чип-карта для его осуществления, патент № 2276465 (s). Тем самым выражения (23) и (25) сводятся к следующему виду:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Выражения (24) и (26) в свою очередь сводятся к следующему виду:

криптографический способ и чип-карта для его осуществления, патент № 2276465

На основании чисел z1 и z2 в соответствии с китайской теоремой об остатках можно легко вычислить число z:

криптографический способ и чип-карта для его осуществления, патент № 2276465

Даже если числа r и s не являются взаимно простыми, то такое число z существует в любом случае, поскольку криптографический способ и чип-карта для его осуществления, патент № 2276465 . Поскольку числа p и q являются взаимно простыми, из выражений (29), (30) и (31) следует, что:

криптографический способ и чип-карта для его осуществления, патент № 2276465

и поэтому искомое число z легко определить на основании двух вычисленных выше значений.

Из выражений (21), (25) и (27) следует, что

криптографический способ и чип-карта для его осуществления, патент № 2276465

Из выражений (22), (26) и (28) следует, что

криптографический способ и чип-карта для его осуществления, патент № 2276465

Проверка соблюдения условий (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 и криптографический способ и чип-карта для его осуществления, патент № 2276465 (r) были взаимно простыми. Однако в рассмотренном выше варианте осуществления изобретения наличие подобной взаимной простоты не требуется. Для каждого модуля р существует зависящий от конкретной технической реализации операции деления оптимальный множитель rопт. Если выбранное в качестве r значение несколько меньше оптимального, то количество содержащихся в произведении р·r ведущих единиц все еще остается достаточным для того, чтобы можно было упростить выполнение операции деления. При этом число d с высокой вероятностью является взаимно простым по отношению по меньшей мере к одному из значений криптографический способ и чип-карта для его осуществления, патент № 2276465 (rопт-i); i=1, ..., k, при этом k представляет собой малое число, зависящее от конкретной реализации.

В противном случае r заменяется на величину 2i·r, где 2i представляет собой зависящую от конкретной реализации приемлемую степень двойки.

Аналогичные подстановки соответственно возможны и применительно ко второму простому множителю q. Поскольку множители r (для р) и s (для q) можно выбирать независимо один от другого, соответствующим образом можно выбирать и значения для множителя s.

Класс H04L9/22 с особым генератором псевдослучайной последовательности

способ передачи информации на основе хаотически формируемых ансамблей дискретных многоуровневых ортогональных сигналов -  патент 2428795 (10.09.2011)
способ скрытой передачи информации с изменяющимися характеристиками генератора шума -  патент 2421923 (20.06.2011)
система и способ связи по зашумленным каналам связи -  патент 2419996 (27.05.2011)
формирователь м-последовательностей -  патент 2419224 (20.05.2011)
структура поточного шифра с циклическим перемещением буферов -  патент 2390949 (27.05.2010)
устройство разрешения фазокодоманипулированных сигналов -  патент 2371865 (27.10.2009)
устройство для генерации псевдослучайной последовательности двоичных чисел с использованием эллиптических кривых -  патент 2294559 (27.02.2007)
способ передачи дискретной информации в радиолинии с псевдослучайной перестройкой рабочей частоты -  патент 2231220 (20.06.2004)
способ и устройство для передачи данных с переменной скоростью в системе связи с использованием неортогональных каналов переполнения -  патент 2150789 (10.06.2000)

Класс G06F7/72 с помощью арифметического остатка

устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2513915 (20.04.2014)
способ организации выполнения операции умножения двух чисел в модулярно-позиционном формате представления с плавающей точкой на универсальных многоядерных процессорах -  патент 2509345 (10.03.2014)
устройство для определения знака модулярного числа -  патент 2503995 (10.01.2014)
устройство для сравнения чисел, представленных в системе остаточных классов -  патент 2503992 (10.01.2014)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2500018 (27.11.2013)
накапливающий сумматор по модулю -  патент 2500017 (27.11.2013)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2485574 (20.06.2013)
полный одноразрядный сумматор по модулю -  патент 2484519 (10.06.2013)
устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов -  патент 2483346 (27.05.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю -  патент 2477513 (10.03.2013)
Наверх