RU2520379C2 - Криптография на эллиптической кривой - Google Patents

Криптография на эллиптической кривой Download PDF

Info

Publication number
RU2520379C2
RU2520379C2 RU2012101253/08A RU2012101253A RU2520379C2 RU 2520379 C2 RU2520379 C2 RU 2520379C2 RU 2012101253/08 A RU2012101253/08 A RU 2012101253/08A RU 2012101253 A RU2012101253 A RU 2012101253A RU 2520379 C2 RU2520379 C2 RU 2520379C2
Authority
RU
Russia
Prior art keywords
square
point
equality
following
calculate
Prior art date
Application number
RU2012101253/08A
Other languages
English (en)
Other versions
RU2012101253A (ru
Inventor
Тома ИКАР
Жан-Себастьен КОРОН
Original Assignee
Морфо
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41507977&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RU2520379(C2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Морфо filed Critical Морфо
Publication of RU2012101253A publication Critical patent/RU2012101253A/ru
Application granted granted Critical
Publication of RU2520379C2 publication Critical patent/RU2520379C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7261Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к способу и устройству выполнения криптографического преобразования в электронном компоненте. Технический результат заключается в повышении безопасности установки соединений с аутентификацией пароля за счет повышения эффективности выполнения криптографического преобразования. В способе выполняют получение точки P(X,Y) исходя из параметра t на эллиптической кривой, удовлетворяющей выражению Y2=f(X), и исходя из многочленов X1(t), X2(t), Х3(t) и U(t), удовлетворяющих равенству f(X1(t)).f(X2(t)).f(X3(t))=U(t)2 в Fq, при этом q=3 mod 4, далее получают значение параметра t и определяют точку Р путем выполнения подэтапов, на которых (i) вычисляют Х1=X1(t), X2=X2(t), Х33(t) и U=U(t), (ii) если элемент f(X1).f(X2) является квадратом, то проверяют, является ли элемент f(X3) квадратом в Fq, и если является, то вычисляют квадратный корень из элемента f(X3), чтобы получить точку Р(Х3), (iii) иначе проверяют, является ли элемент f(X1) квадратом, и если является, вычисляют квадратный корень из f(X1), чтобы получить точку P(X1), (iv) иначе вычисляют квадратный корень элемента f(X2), чтобы получить точку P(X2), и далее эту точку Р используют в криптографическом приложении. 2 н. и 6 з.п. ф-лы, 3 ил.

Description

Настоящее изобретение касается шифрования сообщений на основе использования точек на эллиптической кривой и более конкретно упомянутого шифрования детерминированной природы.
Для применения криптографического преобразования к сообщению, для вставления произвольных чисел в математические структуры применяют обычные алгоритмы. Для этой цели эллиптические кривые являются математическими структурами, которые способны упростить применение таких криптографических преобразований и одновременно уменьшить потребности в памяти по сравнению со случаем использования других криптографических преобразований.
Тем не менее, эффективные алгоритмы, предназначенные для вставки произвольных чисел с использованием эллиптических кривых, являются вероятностными. Следовательно, время выполнения таких алгоритмов не является постоянным, оно зависит от шифруемого сообщений. Таким образом, если нарушитель определит, что при применении алгоритма время его работы было различным, он может получить информацию о зашифрованном сообщении.
Для маскировки времени, нужного для вероятностного алгоритма вставки, возможно обеспечить добавление ненужных этапов в этот алгоритм, чтобы его применение всегда занимало одинаковый период времени, независимо от обрабатываемого сообщения.
Точка Р эллиптической кривой определяется ее абсциссой Х и ординатой Y, при этом Х и Y удовлетворяют следующему выражению:
f ( X ) = Y 2 , ( 1 )
Figure 00000001
где f(X) - это многочлен f(X)=Х3+аХ+b.
Известно семейство многочленов, которое удовлетворяют равенству Скальба и которое дает возможность определить такую точку на эллиптической кривой, как описано в документе «Construction of Rational Points on Elliptic curves over finite fields» (Построение рациональных точек эллиптических кривых над конечными полями), авторы Эндрю Шаллуе (Andrew Shallue) и Кристиан ван де Вустейне (Christiaan van de Woestijne).
Многочлены X1(t), X2(t), X3(t) и U(t) удовлетворяют равенству Скальба, если они удовлетворяют следующему выражению:
f ( X 1 ( t ) ) . f ( X 2 ( t ) ) . f ( X 3 ( t ) ) = U 2 ( t ) , ( 2 )
Figure 00000002
где f - это функция, которая определяет рассматриваемую эллиптическую кривую, а t - параметр.
Многочлены, которые удовлетворяют равенству Скальба, могут иметь два параметра u и t. В этом случае равенство Скальба записывается следующим образом:
f(X1(t,u)).f(X2(t,u)).f(X3(t,u))=U2(t,u).
Выражения такого типа могут использовать два параметра u и t. Тем не менее, в рассматриваемых приложениях целесообразно предусмотреть присвоение любого значения параметру u или в качестве альтернативы параметру t. Таким образом, остается выбрать значение единственного параметра.
При выбранных параметрах t и u заметим, что X1=X1(t,u), X2=X2(t,u), Х3=X3(t,u), U=U(t,u), при этом X1, X2, Х3 и U являются элементами Fq. Это выражение (2) означает, что, по меньшей мере, одно из чисел f(X1), f(X2) и f(X3) соответствует квадрату элемента в конечном поле Fq.
Тогда, когда определен квадрат элемента, f(Xi), в поле Fq, мы можем получить точку на эллиптической кривой P ( X i , f ( X i )
Figure 00000003
.
Вычисление f ( X i )
Figure 00000004
можно осуществить с помощью вычисления возведения в степень, когда характеристика q поля Fq удовлетворяет равенству:
q=3 mod 4.
В этом случае известно, что
f ( X i ) = f ( X i ) ( q + 1 ) / 4 . ( 3 )
Figure 00000005
Следовательно, для определения точки на эллиптической кривой (1) необходимо определить, какое число среди трех чисел f(X1), f(X2) и f(Х3) соответствует квадрату элемента в конечном поле Fq. Для этой цели мы можем предусмотреть сначала проверку того, является ли элемент f(X1) квадратом элемента в конечном поле Fq, далее, если это не так, применить ту же проверку для элемента f(X2) и, наконец, если это тоже не правильно, аналогично проверить элемент f(Х3). Тем не менее, при такой процедуре определение точки на эллиптической кривой не всегда занимает одинаковое время, так как это определение выполняется быстрее, если квадратом является первый элемент, по сравнению со случаем, когда только третий элемент является квадратом.
Потенциальный нарушитель может использовать эту разницу в затраченном времени для определения точки на эллиптической кривой для взлома секретности, связанной с параметром, который позволит сгенерировать эту точку. А в области криптографии эти параметры должны оставаться секретными.
Эти параметры могут, в частности, соответствовать паролям. Таким образом, важно, чтобы определение этих точек не давало информации, предоставляющей возможность взлома секретности параметра, и, соответственно, должны быть исключены атаки на основе анализа времени, затраченного на определение точки на кривой.
Для преодоления этого недостатка возможно методично проверять три элемента f(Xi) для всех i от 1 до 3. Таким образом, время определения точки на кривой не будет зависеть от определенной точки.
Тем не менее, проверка, является ли элемент выражения (2) квадратом в конечном поле Fq, является сложной операцией, в частности, предполагающей возведение в степень, реализация которого затратна с точки зрения времени. В случае, когда мы хотим определить точку на эллиптической кривой на основе равенств Скальба и осуществлять эти определения за постоянное время, в описанном выше случае требуется четыре операции возведения в степень, одно возведение в степень для проверки каждого из членов в выражении (2) Скальба и одно возведение в степень для вычисления квадратного корня, как описано в выражении (3).
Цель настоящего изобретения состоит в улучшении этой ситуации.
Согласно первому аспекту настоящего изобретения предложен способ выполнения криптографического преобразования в электронном компоненте, включающий в себя этап получения точки P(X,Y), исходя, по меньшей мере, из одного параметра t, на эллиптической кривой, удовлетворяющей выражению:
Y2=f(Х); и
исходя из многочленов X1(t), X2(t), X3(t) и U(t), удовлетворяющих следующему равенству:
f(X1(t)).f(X2(t)).f(X3(t))=U(t)2
в конечном поле Fq, независимо от параметра t, при этом q удовлетворяет равенству q=3 mod 4;
упомянутый способ включает в себя следующие этапы:
/1/ получают значение параметра t;
/2/ определяют точку Р путем выполнения следующих подэтапов:
/i/ вычисляют X1=X1(t), Х2=X2(t), Х3=X3(t) и U=U(t);
/ii/ если элемент f(X1).f(X2) является квадратом в конечном поле Fq, то проверяют, является ли элемент f(X3) квадратом в конечном поле Fq, и вычисляют квадратный корень из элемента f(Х3), абсциссой точки Р является Х3, а квадратный корень f(Х3) является ординатой точки Р;
/iii/ иначе проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, и если является, вычисляют квадратный корень из элемента f(X1), абсциссой точки Р является X1, а квадратный корень f(X1) является ординатой точки Р;
/iv/ иначе вычисляют квадратный корень элемента f(X2), абсциссой точки Р является Х2, а квадратный корень из f(X2) является ординатой точки Р;
/3/ используют упомянутую точку Р в следующих криптографических приложениях: при шифровании, или хешировании, или подписывании, или аутентификации, или идентификации.
Благодаря этим конструкциям возможно определить точку на эллиптической кривой образом, подходящим для использования в области криптографии, так как, с одной стороны, это определение требует одного и того же времени независимо от входного параметра t и, с другой стороны, эффективно, так как уменьшается количество требуемых операций.
Это определение занимает постоянное время, которое не зависит от входного параметра или параметров. Фактически, даже если этот способ подразумевает различные варианты обработки в зависимости от элемента, который соответствует квадрату в равенстве Скальба, независимо от определяемой точки на кривой осуществляют одинаковое количество операций одинакового типа. Более конкретно, независимо от определяемой точки на кривой, выполняют следующий список операций:
- проверка на то, что элемент является квадратом в Fq;
- определение квадратного корня.
Следовательно, невозможно осуществить атаку, основанную на затратах времени.
Более того, это определение эффективно, так как ограничено количество выполняемых затратных операций. Фактически возможно проверить, является ли один из трех элементов выражения (2) Скальба квадратом в конечном поле Fq, с использованием самое большее двух операций типа возведения в степень. Более точно, заметим, что в одном варианте осуществления настоящего изобретения проверка, является ли элемент квадратом, соответствует возведению в степень, которое является наиболее затратной операцией, применяемой в настоящем контексте.
На этапе /2/-/ii/ необходимо решить, является ли элемент R0:
R0=f(X1).f(X2)
квадратом.
Этот этап может соответствовать проверке, является ли элемент квадратом, при этом применяется дополнительное возведение в степень, или этот этап может быть основан на заранее вычисленном значении, полученном при более ранних вычислениях в случае, когда многочлен, удовлетворяющий равенству Скальба, соответствует элементу, который не может быть квадратом. В последнем случае, который показан в следующих разделах, применение способа предпочтительно требует только одного возведения в степень. Но в наихудшем случае применение способа, соответствующего одному варианту осуществления настоящего изобретения, соответствует двум возведениям в степень, одно - для проверки, является ли R0 квадратом, и другое возведение в степень - для проверки, является ли некоторый элемент квадратом, применяемой или к f(X3), или к f(X1).
При выполнении таких вычислений в соответствии с одним вариантом осуществления настоящего изобретения время, затрачиваемое на выполнение операций, отличающихся от возведения в степень, пренебрежимо мало по сравнению со временем выполнения возведения в степень. Далее, благодаря характеристикам настоящего изобретения, вместо четырех возведений в степень, как описано выше в обычном случае, самое большее нужно выполнить два возведения в степень. Такое уменьшение количества возведений в степень очень полезно.
В одном варианте осуществления настоящего изобретения на этапе /2/-/ii/ выполняют следующие этапы:
- вычисляют такой R1, что:
R 1 = ( f ( X 1 ) . f ( X 2 ) ) q + 1 4
Figure 00000006
,
- если R 1 2
Figure 00000007
равен f(X1).f(X2), то решают, что элемент f(X1).f(X2) является квадратом в поле Fq;
На этапе /2/-/iii/ проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, в соответствии со следующими этапами:
- вычисляют такой R 2 '
Figure 00000008
, что:
R 2 ' = f ( X 1 ) q 1 q + 1 4 ,
Figure 00000009
- вычисляют такой R 3 '
Figure 00000010
, что:
R 3 ' = R 2 ' 2
Figure 00000011
,
- вычисляют такой R 4 '
Figure 00000012
, что:
R 4 ' = R 3 ' . f ( X 1 )
Figure 00000013
.
Если R 4 '
Figure 00000014
не равен 1, то на этапе /2/-/iv/ квадратный корень f(X2) получают в соответствии со следующим выражением:
f ( X 2 ) = R 1 . R 2 '
Figure 00000015
.
Этот вариант осуществления изобретения является общим и может быть легко применен к любому семейству многочленов, которые удовлетворяют равенству Скальба. Заметим, что в случае, когда в равенстве (2) Скальба f(X2) является квадратом, то есть последний проверяемый элемент из трех элементов в равенстве Скальба, не нужно осуществлять новое возведение в степень типа f ( X 1 ) q 1 q + 1 4
Figure 00000016
. Фактически элемент R 2 '
Figure 00000008
может быть предпочтительно использован для получения квадратного корня элемента f(X2). Таким образом, обеспечивается, что самое большее два возведения в степень применяются при выполнении способа в соответствии с одним вариантом осуществления настоящего изобретения.
В одном варианте осуществления настоящего изобретения многочлены, удовлетворяющие равенству Скальба, выражаются в координатах Якоби в X', Y' и Z следующим образом:
X'=X.Z2,
Y'=Y.Z3,
и операции нахождения обратного элемента преобразуются в операции умножения.
Преобразование в координаты Якоби позволяет преобразовать операции нахождение обратного элемента в умножения при надлежащем выборе элемента Z.
В одном варианте осуществления настоящего изобретения многочлены, удовлетворяющие равенству Скальба, выражены в координатах Якоби, в соответствии с чем точка P(X,Y) записывается как P(X',Y',Z), при этом:
X'=X.Z2,
Y'=Y.Z3,
где функция f записана как fZ(X') и удовлетворяет следующему равенству:
fZ(X')=X'3+a.X'.Z4+b.Z6,
а эллиптическая кривая удовлетворяет выражению:
Y'2=fZ(X'),
и многочлены, удовлетворяющие равенству Скальба и выраженные в координатах Якоби, представляют собой X 1 ' ( t )
Figure 00000017
, X 2 ' ( t )
Figure 00000018
, X 3 ' ( t )
Figure 00000019
, Z(t) и U'(t) и удовлетворяют равенству Скальба в координатах Якоби:
U ' ( t ) 2 = f Z ( t ) ( X 1 ' ( t ) ) . f Z ( t ) ( X 2 ' ( t ) ) . f Z ( t ) ( X 3 ' ( t ) ) ,
Figure 00000020
где Z(t) определен таким образом, что операции нахождения обратного элемента преобразованы в операции умножения.
Здесь встает вопрос преобразования в координаты Якоби многочленов Уласа, удовлетворяющих равенству Скальба, как сказано ранее. В этом случае возможно ограничить количество возведений в степень двумя и одновременно исключить любое вычисление обратных элементов при обеспечении выполнения за постоянное время определения точки Р на эллиптической кривой.
В одном варианте осуществления изобретения многочлены, удовлетворяющие равенству Скальба, таковы, что возможно установить значение Х3(t) для любого возможного t, чтобы f(X3(t)) никогда не был квадратом элемента в Fq,
при этом на этапе /2/-/ii/ элемент f(X1).f(X2) не является квадратом в конечном поле Fq,
при этом на этапе /2/-/iii/ проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, в соответствии со следующими этапами:
- вычисляют такой R 2 '
Figure 00000008
, что:
R 2 ' = f ( X 1 ) q 1 q + 1 4 ,
Figure 00000021
- вычисляют такой R 3 '
Figure 00000022
, что:
R 3 ' = R 2 ' 2
Figure 00000011
,
- вычисляют такой R 4 '
Figure 00000023
, что:
R 4 ' = R 3 ' . f ( X 1 )
Figure 00000013
,
при этом, если R 4 '
Figure 00000024
не равен 1, то на этапе /2/-/iv/ квадратный корень f(X2) получают в соответствии со следующим выражением:
f ( X 2 ) = R 1 . R 2 '
Figure 00000015
,
где R 1 = ( f ( X 1 ) . f ( X 2 ) ) q + 1 4 ,
Figure 00000025
причем R1 получают заранее из следующего выражения:
R 1 = ( f ( X ) . f ( X 2 ) ) q + 1 4 = U . f ( u ) q 1 q + 1 4
Figure 00000026
.
Таким образом, в конкретном случае, возможно дополнительно ограничить количество выполняемых возведений в степень путем использования конкретного семейства многочленов, так что возможно установить значение X3(t) для любого возможного t, чтобы f(X3(t)) никогда не был квадратом элемента в Fq. Здесь предпочтительно может быть использовано семейство многочленов Уласа, которое определено в документе «Рациональные точки на определенных гиперэллиптических кривых над конечными полями» («Rational points on certain hyperelliptic curves over finite fields»), автор Масие Улас (Macie Ulas), 11 июня 2007 года.
Для такого семейства многочленов, которые удовлетворяют равенству Скальба, можно записать следующее:
X 1 ( t , u ) = b a ( 1 + 1 t 4 f ( u ) + t 2 f ( u ) )
Figure 00000027
,
X2(t,u)=t2f(u)X1(t,u),
X3(t,u)=u,
U(t,u)=t3f(u)4f(X1(t,u)),
где f(u)=u3+au+b, а и b - такие элементы Fq, что их произведение не равно нулю.
Эти многочлены могут быть предпочтительно использованы при определении множества значений параметра u, при которых f(X3)=f(u) не является квадратом элемента в Fq.
Таким образом, на этапе /2/-/ii/ элемент f(X1).f(X2) не является квадратом в конечном поле Fq, тогда на этапе /2/-/iii/ проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, в соответствии со следующими этапами:
- вычисляют такой R 2 '
Figure 00000008
, что:
R 2 ' = f ( X 1 ) q 1 q + 1 4 ,
Figure 00000028
- вычисляют такой R 3 '
Figure 00000022
, что:
R 3 ' = R 2 ' 2
Figure 00000011
,
- вычисляют такой R 4 '
Figure 00000024
, что:
R 4 ' = R 3 ' . f ( X 1 )
Figure 00000013
.
Далее, если R 4 '
Figure 00000024
не равен 1, то на этапе /2/-/iv/ квадратный корень f(X2) получают в соответствии со следующим выражением:
f ( X 2 ) = R 1 . R 2 ' ,
Figure 00000029
где R 1 = ( f ( X 1 ) . f ( X 2 ) ) q + 1 4 ,
Figure 00000030
причем предпочтительно R1 получают заранее из следующего выражения:
R 1 = ( f ( X ) . f ( X 2 ) ) q + 1 4 = U . f ( u ) q 1 q + 1 4
Figure 00000026
.
В частности, элемент f ( u ) q 1 q + 1 4
Figure 00000031
может быть вычислен заранее. Это возможно, так как f(u) также вычисляют заранее. Следовательно, в этом конкретном случае многочленов, которые удовлетворяют равенству Скальба, возможно не осуществлять возведение в степень, связанное с вычислением ( f ( X 1 ( t ) ) . f ( X 2 ( t ) ) ) q + 1 4 ,
Figure 00000032
во время применения способа, а осуществлять только умножение U ( t ) . ( f ( u ) ) q 1 q + 1 4
Figure 00000033
. Таким образом, применение такого способа соответствует одному возведению в степень, при вычислении R 2 ' = f ( X 1 ) q 1 q + 1 4
Figure 00000034
.
В этом случае эти конкретные многочлены выражают в координатах Якоби, в соответствии с чем точка P(X,Y) записывается как P(X',Y',Z), где:
X'=X.Z2,
Y'=Y.Z3,
при этом функция f записана как fZ(X') и удовлетворяет следующему равенству:
fZ(X')=X'3+a.X'Z4+b.Z6,
а эллиптическая кривая удовлетворяет выражению:
Y'2=fZ(Х'),
в котором многочлены, удовлетворяющие равенству Скальба и выраженные в координатах Якоби, представляют собой X 1 ' ( t )
Figure 00000017
, X 2 ' ( t )
Figure 00000018
, Z(t) и U'(t) и удовлетворяют равенству Скальба в координатах Якоби:
U ' ( t ) 2 = f Z ( t ) ( X 1 ' ( t ) ) . f Z ( t ) ( X 2 ' ( t ) ) . f ( X 3 ( t ) )
Figure 00000035
и где Z(t) определен таким образом, что операции нахождения обратного элемента преобразованы в операции умножения.
На этапе /1/ значение параметра t может быть получено как функция пароля или идентификатора. Таким образом, возможно предусмотреть использование в качестве параметра непосредственно пароля или производной от пароля.
В одном варианте осуществления настоящего изобретения криптографическое приложение представляет собой аутентификацию или идентификацию путем проверки целостности, и на этапе /1/ осуществляют следующие этапы:
/а/ генерируют случайное число;
/б/ получают зашифрованное число путем шифрования упомянутого случайного числа на основе функции шифрования с использованием ключа шифрования, определенного из пароля или идентификатора, соответствующего параметру; и
/в/ передают зашифрованное число для проверки целостности.
С помощью этой процедуры при проверке целостности возможно получить случайное число, являющееся функцией зашифрованного числа, полученного из пароля. Далее осуществляют восстановление значения параметра t путем применения подходящей функции.
Согласно второму аспекту настоящего изобретения предложено электронное устройство, содержащее подходящее средство применения способа выполнения криптографического преобразования в соответствии с первым аспектом настоящего изобретения.
Другие аспекты и достоинства изобретения будут ясны после прочтения описания одного из вариантов осуществления изобретения.
Также изобретение будет лучше понятно из следующих фиг.:
фиг.1 - вид, показывающий основные этапы способа выполнения криптографического преобразования в соответствии с одним вариантом осуществления настоящего изобретения;
фиг.2 - вид, подробно показывающий способ выполнения криптографического преобразования в соответствии с одним вариантом осуществления настоящего изобретения; и
фиг.3 - вид, подробно показывающий способ выполнения криптографического преобразования в соответствии с одним вариантом осуществления настоящего изобретения в конкретном случае многочленов Уласа.
На фиг.1 показаны основные этапы способа выполнения криптографического преобразования в соответствии с одним вариантом осуществления настоящего изобретения.
Эти основные этапы подходят для определения точки на эллиптической кривой, причем упомянутая точка предназначена для использования в криптографическом приложении. Криптографическое преобразование такого типа может быть выполнено электронным компонентом безопасным образом, то есть без определения этой точки, что не дает никакой информации об определенной точке.
Это преобразование содержит, в конечном поле Fq, где характеристика q равна 3 mod 4, этап получения точки P(X,Y) на эллиптической кривой, удовлетворяющей выражению:
Y2=f(X).
Абсцисса Х точки P(X,Y) соответствует одному из элементов X1(t), X2(t) и X3(t) для полученного значения t, так что
f ( X 1 ( t ) ) . f ( X 2 ( t ) ) . f ( X 3 ( t ) ) = U 2 ( t ) , ( 2 )
Figure 00000002
где X1(t), X2(t), Х3(t) и U(t) - многочлены, удовлетворяющие равенству Скальба в конечном поле Fq.
Более конкретно, многочлены, которые удовлетворяют равенству Скальба и которые определены в документе «Рациональные точки на определенных гиперэллиптических кривых над конечными полями» («Rational points on certain hyperelliptic curves over finite fields»), автор Масие Улас (Macie Ulas), 11 июня 2007 года, представляют собой функции двух параметров u и t. В контексте настоящего изобретения одному из параметров может быть предпочтительно присвоено значение и, следовательно, многочлены, удовлетворяющие равенству Скальба, являются функциями одного параметра t.
Для определения точки на кривой при входных параметрах u и t мы попытаемся определить те числа из X1=X1(t,u), Х2=X2(t,u), Х33(t,u), которые соответствуют квадрату элемента в конечном поле Fq. Для этой цели предпочтительно предусмотреть применение двух различных вариантов обработки в зависимости от того, является ли элемент f(X1).f(X2) квадратом в конечном поле Fq.
На начальном этапе 100 с учетом параметра t вычисляют:
Xi=Xi(t) для i, равного от 1 до 3,
и
U=U(t).
На этапе 11 мы определяем, является ли элемент f(X1).f(X2) квадратом элемента. Это решение может быть основано на предыдущих вычислениях или может быть основано на проверке в ходе применения этого способа. Если элемент f(X1).f(X2) является квадратом, то элемент f(X3) также является квадратом. В этом случае на этапе 12 предусматривают вычисление квадратного корня элемента f(X3). Таким образом, на этапе 16 определяют точку Р, абсцисса Х3 и ордината Y3 которой удовлетворяют следующему выражению:
Y 3 = f ( X 3 ) .
Figure 00000036
Заметим, что если произведение f(X1).f(X2) является квадратом элемента, то из этого следует, что f(Х3) также является квадратом. Тем не менее, чтобы определение точки на эллиптической кривой требовало постоянного времени, предусматривают применение проверки 10, в ходе которой проверяют, что элемент f(X3) действительно является квадратом. Эта проверка 10 позволяет обеспечить постоянное время при применении способа, соответствующего одному варианту осуществления настоящего изобретения.
В противном случае, то есть когда элемент f(X1).f(X2) не является квадратом элемента, можно сказать, что или f(X1) или f(X2) является квадратом. Следовательно, мы можем сначала предусмотреть проверку на этапе 13, является ли квадратом элемент f(X1). Если проверка завершилась положительно, то на этапе 14 вычисляют квадратный корень упомянутого элемента с целью получения ординаты точки Р:
Y 1 = f ( X 1 ) .
Figure 00000037
Таким образом, на этапе 17 мы получаем точку Р с абсциссой X1 и ординатой Y1.
Если проверка на этапе 13 выдает отрицательный ответ, то можно заключить, что элемент f(X2) является квадратом. Следовательно, на этапе 15 мы получаем ординату Y2 точки Р на эллиптической кривой в соответствии с выражением:
Y 2 = f ( X 2 ) .
Figure 00000038
Тогда точку P(X2, Y2) кривой можно получить на этапе 18.
Заметим, что достижение этапов 16, 17 или 18 с целью получения точки на эллиптической кривой в соответствии с одним вариантом осуществления настоящего изобретения требует аналогичных операций. Таким образом, независимо от входных параметров t и u, невозможно осуществить атаку на основе затраченного времени.
Тогда точку P(Xi, Yi), для i, равного от 1 до 3, можно целесообразно использовать в следующих криптографических приложениях: при шифровании, или хешировании, или подписывании, или аутентификации, или идентификации, так как определение этой точки не предоставляет никаких элементов, которые могут помочь взломать секретность этой точки.
В поле Fq, в котором q соответствует 3 mod 4, возможно различными путями проверить, является ли элемент квадратом. Проверки того, является ли элемент квадратом, такие как проверки 10 и 13 с фиг.1, могут быть осуществлены следующим образом.
В одном варианте осуществления настоящего изобретения, когда пытаются определить, является ли элемент А квадратом в Fq, могут выполнить следующие этапы:
W 1 = 1 A q + 1 4 = A q 1 q + 1 4 , ( i )
Figure 00000039
W 2 = W 1 2 , ( i i )
Figure 00000040
W 3 = W 2 . A . ( i i i )
Figure 00000041
Наконец, если элемент А является квадратом, то:
- W1 соответствует обратному элементу для квадратного корня из А, то есть 1 / A
Figure 00000042
, так как возведение в степень (q-1) соответствует нахождению обратного элемента, а возведение в степень (q+1)/4 соответствует квадратному корню в конечном поле Fq;
- W2 соответствует обратному элементу А; и
- W3 соответствует значению 1.
Таким образом, когда W3 равен 1, из этого следует, что элемент А является квадратом в конечном поле Fq. Если А не является квадратом, то W3 не равен 1.
На фиг.2 показана реализация способа выполнения вычисления в соответствии с одним вариантом осуществления настоящего изобретения.
В одном варианте осуществления настоящего изобретения на этапе 201 осуществляют следующее умножение:
R0=f(X1).f(X2).
Далее проверяют, является ли элемент R0 квадратом, что делают путем применения этапов (iv) и (v). Таким образом, на этапе 202 мы вычисляем:
R 1 = R 0 ( q + 1 ) / 4 . ( i v )
Figure 00000043
Далее на этапе 203 мы определяем, выполняется ли следующее равенство:
R 1 2 = R 0 . ( v )
Figure 00000044
Решают, является ли элемент R0, равный f(X1).f(X2), квадратом или не является. В случае, когда элемент R0 является квадратом, применяют проверку с целью определения, является ли квадратом элемент f(X3). Результат последней проверки известен заранее, так как R0 является квадратом, так что результат этой проверки является положительным. Тем не менее, с целью обеспечения постоянного времени желательно применять его в соответствии с этапами от /i/ до /iii/.
Таким образом, на этапе 204 осуществляют следующее вычисление:
R2=f(X3)(q-1-(q-1)/4).
Здесь R2 соответствует вычислению обратного элемента для квадратного корня из элемента f(X3) в случае, когда f(X3) является квадратом.
Далее на этапе 205 вычисляют следующее:
R 3 = R 2 2
Figure 00000045
.
Здесь R3 соответствует обратному элементу для f(Х3).
Далее на этапе 206 R3 умножают на элемент f(Х3), тем самым получая элемент R4. Как мы знаем, f(X3) является квадратом, так что мы также знаем, что элемент R4 равен 1. Эти этапы 205 и 206 выполняют с целью обеспечения постоянного времени определения точки Р на эллиптической кривой.
Следовательно, на этапе 207 проверяют, соответствует ли 1 элемент R4. В этом случае результат упомянутой проверки является положительным, так как он следует из проверки 203.
Далее на этапе 208 осуществляют следующее вычисление:
R5=R2.f(X3).
Здесь получают значение точки Р на кривой, абсцисса которой равна Х3, а ординатой является квадратный корень из f(X3), то есть значение R5.
В случае, когда на этапе 11 решают, что элемент f(X1).f(X2) не является квадратным корнем, то или элемент f(X1), или элемент f(X2) является квадратным корнем.
Далее необходимо определить, какой из этих двух элементов f(X1) и f(X2) соответствует квадрату.
Для этого выполняют операции, аналогичные описанным ранее, за исключением случая, когда элемент f(X1) не является квадратом.
На этапе 211 выполняют следующее вычисление:
R 2 ' = f ( X 1 ) q 1 ( q + 1 ) / 4
Figure 00000046
.
В случае, когда f(X1) является квадратом, R 2 '
Figure 00000047
соответствует значению обратного элемента для квадратного корня из f(X1), как описано для этапа /i/. Тогда на этапе 212 последний упомянутый элемент возводят в квадрат:
R 3 ' = R ' 2 2
Figure 00000048
,
чтобы получить обратный элемент для f(X1) в случае, когда f(X1) будет квадратом.
Таким образом, умножая R 3 '
Figure 00000049
на элемент f(X1), мы на этапе 213 получаем R 4 '
Figure 00000050
, который равен 1, если элемент f(X1) действительно является квадратом. В этом случае результат проверки, выполняемой на этапе 214, во время которой элемент R 4 '
Figure 00000051
сравнивают со значением 1, является положительным.
Далее на этапе 215 выполняют следующее вычисление:
R 5 ' = R 2 ' . f ( X 1 ) .
Figure 00000052
Таким образом, элемент R 5 '
Figure 00000053
соответствует f(X1).
Получают точку Р с абсциссой X1 и ординатой - R 5 '
Figure 00000053
.
В случае, когда результат проверки 214 отрицательный, элемент f(X1) не является квадратом. Из этого следует, что квадратом в равенстве (2) Скальба является элемент f(X2). В этом случае на этапе 216 выполняют следующее вычисление:
R 5 ' ' = R 1 . R 2 '
Figure 00000054
.
Заметим, что приведенное выше выражение дает возможность получать квадратный корень f(X2), не выполняя операцию возведения в степень, такую как операция, выполняемая на этапе 204 или также на этапе 211. Фактически здесь остроумно осуществляют умножение вместо возведения в степень.
Далее мы получаем R 5 ' '
Figure 00000055
, который соответствует элементу f(X2), передаваемому на этап 216. Таким образом, определили точку Р на эллиптической кривой с абсциссой X2 и ординатой - R 5 ' '
Figure 00000056
.
В варианте осуществления изобретения, описанном ранее со ссылкой на фиг.2, независимо от определения точки Р, то есть независимо от того, основано ли это определение на значении X1, или X2, или Х3, выполняют аналогичные вычисления, таким образом обеспечивается постоянное время определения точки на эллиптической кривой.
Более конкретно, выполняют две операции возведения в степень, одно возведение в степень на этапе 202 и другое возведение в степень на этапе 204 или 211, в зависимости от результата проверки 203. Таким образом, больше не нужно осуществлять четыре возведения в степень для определения точки на кривой в контексте многочленов Скальба за постоянное время.
В одном варианте осуществления настоящего изобретения возможно выбрать многочлены, которые удовлетворяют равенству Скальба, таким образом, чтобы многочлен f(X3(t)) никогда не соответствовал квадрату, при любом значении t. В этом случае равенство Скальба:
f ( X 1 ( t ) ) . f ( X 2 ( t ) ) . f ( X 3 ( t ) ) = U 2 ( t ) , ( 2 )
Figure 00000002
может быть записано в следующем виде:
( f ( X 1 ( t ) ) . f ( X 2 ( t ) ) . f ( X 3 ( t ) ) q + 1 4 = ( U ( t ) 2 ) q + 1 4 = U ( t ) ,
Figure 00000057
а также в следующем виде:
( f ( X 1 ( t ) ) . f ( X 2 ( t ) ) ) q + 1 4 = U ( t ) f ( X 3 ( t ) ) q + 1 4 ,
Figure 00000058
а также:
( f ( X 1 ( t ) ) . f ( X 2 ( t ) ) ) q + 1 4 = U ( t ) . ( f ( X 3 ( t ) ) q 1 q + 1 4 . ( 4 )
Figure 00000059
Все эти выражения справедливы, только если выполняется условие q=3 mod 4. Далее, если элемент ( f ( X 3 ( t ) ) ) q 1 q + 1 4
Figure 00000060
этого последнего упомянутого равенства соответствует установленному значению, мы можем эффективно вычислить значение элемента R 1 = ( f ( X 1 ) . f ( X 2 ) ) q + 1 4
Figure 00000061
с использованием умножения U . ( f ( X 3 ( t ) ) ) q 1 q + 1 4
Figure 00000062
. В этом случае точку на эллиптической кривой можно определить с использованием только одной операции возведения в степень, которая соответствует этапу 204 проверки 10 или соответствует этапу 211 проверки 13.
Эти условия могут быть выполнены с использованием примера набора многочленов, удовлетворяющих равенству Скальба и описанных в документе «Рациональные точки на определенных гиперэллиптических кривых над конечными полями» («Rational points on certain hyperelliptic curves over finite fields»), автор Масие Улас (Macie Ulas), 11 июня 2007 года. В этом документе описаны следующие многочлены, которые удовлетворяют равенству (2) Скальба:
X 1 ( t , u ) = b a ( 1 + 1 t 4 f ( u ) + t 2 f ( u ) )
Figure 00000027
,
X2(t,u)=t2f(u)X1(t,u),
X3(t,u)=u,
U(t,u)=t3f(u)4f(X1(t,u)),
где f(u)=u3+au+b, а и b - такие элементы Fq, что их произведение не равно нулю.
Таким образом, путем определения значения u, которое установлено и не соответствует квадрату в Fq, значение R1 представляет собой установленное значение, которое может быть заранее вычислено в соответствии с равенством (4) для любого определения точки Р в соответствии с одним вариантом осуществления настоящего изобретения.
На фиг.3 подробно показан способ выполнения криптографического преобразования в соответствии с одним вариантом осуществления настоящего изобретения в частном случае многочленов Уласа для установленного многочлена Х3(t,u) в соответствии с одним вариантом осуществления настоящего изобретения. В этом случае могут быть применены одни этапы 211-216. Если выполняют этап 216, то значение R1 может быть восстановлено из области памяти, так как оно было вычислено ранее.
Соответственно, количество возведений в степень, требуемое для определения точки на кривой, может быть дополнительно уменьшено до одного возведения в степень, которое соответствует проверке 10 или проверке 13.
В одном варианте осуществления настоящего изобретения предпочтительно предусматривают использование координат Якоби. Это преобразование в координаты Якоби дает возможность преобразовать операции нахождения обратного элемента в операции умножения, которые быстрее и легче применяются. Заметим, что такой вариант осуществления изобретения не может быть применен для всех кривых типа Скальба, в том числе для конкретного случая кривых Уласа.
Выражение эллиптической кривой:
X3+aX+b=Y2
может быть записано в координатах Якоби следующим образом:
X'3+aX'Z4+bZ6=Y'2.
Заметим, что координаты точки (X,Y) могут быть записаны в координатах (X',Y',Z') Якоби следующим образом:
X'=X.Z2 и
Y'=Y.Z3.
Следовательно, мы должны определить многочлен Z(t,u) таким образом, чтобы координаты X', Y' и Z Якоби могли быть записаны без обратного элемента.
В следующих разделах это преобразование в координаты Якоби применяют в конкретном случае кривых Уласа, как указано выше.
В этом контексте любую операцию нахождения обратного элемента исключают с учетом следующего выражения:
Z(t,u)=a(t4f(u)2+t2f(u)),
в котором установлено значение u.
Фактически многочлены Уласа могут быть записаны в следующей форме в координатах Якоби:
X 1 ' ( t , u ) = b . Z ( t , u ) ( t 4 f ( u ) 2 + t 2 f ( u ) + 1 )
Figure 00000063
,
X 2 ' ( t , u ) = t 2 . f ( u ) . X 1 ' ( t , u )
Figure 00000064
,
X 3 ' ( t , u ) = u .
Figure 00000065
Следовательно, заметим, что не существует никаких нахождений обратных элементов в координатах Якоби. Так как эта операция может быть такой же затратной, как и возведение в степень, эти координаты дают возможность значительно улучшить время вычисления.
Далее для получения координаты Y' Якоби желательно вычислить U'(t,u), эквивалент U(t,u) в координатах Якоби.
В этом случае в классических координатах имеем:
U(t,u)2=f(X1(t,u)).(f(X2(t,u)).f(X3(t,u)).
Далее мы можем записать в координатах Якоби:
U ( t , u ) 2 = f ( X 1 ' ( t , u ) / Z ( t , u ) 2 ) . f ( X 2 ' ( t , u ) / Z ( t , u ) 2 ) . f ( X 3 ' ( t , u ) / Z ( t , u ) 2 ) .
Figure 00000066
Написав
f Z ( t ) ( X ' ) = X ' 3 + a . X ' . Z ( t ) 4 + b . Z ( t ) 6 = Z 6 . f ( X Z 2 )
Figure 00000067
мы получим следующее выражение:
Z 18 ( t , u ) . U ( t , u ) 2 = ( Z ( t , u ) 9 . U ( t , u ) 2 = f Z ( t , u ) ( X 1 ' ( t , u ) ) . f Z ( t , u ) ( X 2 ' ( t , u ) ) . f Z ( t , u ) ( X 3 ' ( t , u ) ) .
Figure 00000068
Тогда:
U'(t,u)=Z(t,u)9.U(t,u),
где U'(t,u) - это выражение U(t,u) в координатах Якоби.
В этом случае, когда считается, что U(t,u) удовлетворяет выражению:
U(t,u)=t3.f(u)2.f(Х2(t,u)),
мы можем записать:
U ' ( t , u ) = t 3 . f ( u ) 2 . f Z ( t , u ) ( X 2 ' ( t , u ) ) Z ( t , u ) 3 .
Figure 00000069
Равенство Скальба в координатах Якоби:
U ' ( t , u ) 2 = f Z ( t , u ) ( X 1 ' ( t , u ) ) . f Z ( t , u ) ( X 2 ' ( t , u ) ) . f Z ( t , u ) ( X 3 ' ( t , u ) ) .
Figure 00000070
Тем не менее, как в случае многочленов Уласа, возможно требовать, чтобы X 3 ' ( t , u )
Figure 00000071
был таким, чтобы f Z ( t , u ) ( X 3 ' ( t , u ) )
Figure 00000072
никогда не был квадратом. В этом случае имеем:
U ' ' ( t , u ) = t 3 . f ( u ) 2 . f Z ( t , u ) ( X 2 ' ( t , u ) )
Figure 00000073
и соответствующее равенство Скальба представляет собой следующее:
U ' ' ( t , u ) 2 = f Z ( t , u ) ( X 1 ' ( t , u ) ) . f Z ( t , u ) ( X 2 ' ( t , u ) ) . f ( X 3 ' ( t , u ) ) .
Figure 00000074
Целесообразно, что настоящее изобретение может быть реализовано в криптографическом преобразовании любого типа, в котором используют эллиптические кривые. Оно может быть особенно полезно в протоколах аутентификации пароля, таких как «Установка соединения с аутентификацией пароля». В этом случае оно позволяет улучшить эффективность вычисления, не давая возможности проводить атаку, связанную со временем выполнения криптографического преобразования.
Также настоящее изобретение может быть применено для протоколов сохранения конфиденциальности, таких как протоколы, используемые для проверки электронных документов удостоверения личности, таких как электронные паспорта.

Claims (8)

1. Способ выполнения криптографического преобразования в электронном компоненте, включающий в себя этап получения точки P(X,Y), исходя по меньшей мере из одного параметра t, на эллиптической кривой, удовлетворяющей выражению:
Y2=f(Х); и
исходя из многочленов X1(t), X2(t), X3(t) и U(t), удовлетворяющих следующему равенству Скальба:
f(X1(t)).f(X2(t)).f(X3(t))=U(t)2
в конечном поле Fq, независимо от параметра t, при этом q удовлетворяет равенству q=3 mod 4;
при этом выполняют следующие этапы:
/1/ получают значение параметра t;
/2/ определяют точку Р путем выполнения следующих подэтапов:
/i/ вычисляют X1=X1(t), X2=X2(t), Х3=X3(t) и U=U(t),
/ii/ если элемент f(X1).f(X2) является квадратом в конечном поле Fq, то проверяют, является ли элемент f(X3) квадратом в конечном поле Fq, и вычисляют квадратный корень из элемента f(X3), при этом абсциссой точки Р является Х3, а квадратный корень из f(X3) является ординатой точки Р;
/iii/ в противном случае проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, и если является, вычисляют квадратный корень из элемента f(X1), при этом абсциссой точки Р является X1, а квадратный корень из f(X1) является ординатой точки Р;
/iv/ в противном случае вычисляют квадратный корень из элемента f(X2), при этом абсциссой точки Р является Х2, а квадратный корень из f(X2) является ординатой точки Р;
/3/ используют упомянутую точку Р в следующих криптографических приложениях: при шифровании, или хешировании, или подписывании, или аутентификации, или идентификации.
2. Способ выполнения криптографического преобразования по п.1, в котором на этапе /2/-/ii/ выполняют следующие этапы:
- вычисляют такой R1, что:
Figure 00000075
,
- если
Figure 00000007
равен f(X1).f(X2), то решают, что элемент f(X1).f(X2) является квадратом в поле Fq;
при этом на этапе /2/-/iii/ проверяют, является ли элемент f(Х1) квадратом в конечном поле Fq, в соответствии со следующими этапами:
- вычисляют такой
Figure 00000008
, что:
Figure 00000076
,
- вычисляют такой
Figure 00000010
, что:
Figure 00000011
,
- вычисляют такой
Figure 00000077
, что:
Figure 00000013
,
причем если
Figure 00000014
не равен 1, то на этапе /2/-/iv/ квадратный корень из f(X2) получают в соответствии со следующим выражением:
Figure 00000015
.
3. Способ выполнения криптографического преобразования по п.1 или 2, в котором многочлены, удовлетворяющие равенству Скальба, выражают в координатах Якоби, при этом точку P(X,Y) записывают как P(X',Y',Z), так что:
X'=X.Z2,
Y'=Y.Z3,
причем функция f записана как fZ(X') и удовлетворяет следующему равенству:
fZ(X')=X'3+a.X'.Z4+b.Z6,
а эллиптическая кривая удовлетворяет выражению:
Y'2=fZ(X'),
при этом многочлены, удовлетворяющие равенству Скальба и выраженные в координатах Якоби, представляют собой
Figure 00000017
,
Figure 00000018
,
Figure 00000019
, Z(t) и U'(t) и удовлетворяют равенству Скальба в координатах Якоби:
Figure 00000078

где Z(t) определен таким образом, что операции обращения преобразуются в операции умножения.
4. Способ выполнения криптографического преобразования по п.1 или 2, в котором многочлены, удовлетворяющие равенству Скальба, позволяют установить значение Х3(t) для любого возможного t таким, чтобы f(X3(t)) никогда не являлся квадратом элемента в Fq,
при этом на этапе /2/-/ii/ элемент f(X1).f(X2) не является квадратом в конечном поле Fq,
на этапе /2/-/iii/ проверяют, является ли элемент f(X1) квадратом в конечном поле Fq, в соответствии со следующими этапами:
- вычисляют такой
Figure 00000008
, что:
Figure 00000079
,
- вычисляют такой
Figure 00000022
, что:
Figure 00000011
,
- вычисляют такой
Figure 00000023
, что:
Figure 00000013
,
причем, если
Figure 00000024
не равен 1, то на этапе /2/-/iv/ получают квадратный корень из f(X2) в соответствии со следующим выражением:
Figure 00000015
,
где
Figure 00000080
,
причем R1 получают заранее из следующего выражения:
Figure 00000026
.
5. Способ выполнения криптографического преобразования по п.4, в котором многочлены, которые удовлетворяют равенству Скальба, выражают в координатах Якоби, при этом точку P(X,Y) записывают как Р (X', Y', Z), причем
X'=X.Z2,
Y'=Y.Z3,
где функция f записана как fZ(X') и удовлетворяет следующему выражению:
fZ(X')=X'3+a.X'.Z4+b.Z6,
а эллиптическая кривая удовлетворяет выражению:
Y'2=fZ(X'),
при этом многочлены, удовлетворяющие равенству Скальба и выраженные в координатах Якоби, представляют собой
Figure 00000017
,
Figure 00000018
, Z(t) и U'(t) и удовлетворяют равенству Скальба в координатах Якоби:
Figure 00000081

причем Z(t) определен таким образом, что операции обращения преобразуются в операции умножения.
6. Способ выполнения криптографического преобразования по п.1, в котором на этапе /1/ значение параметра t получают как функцию пароля или идентификатора.
7. Способ выполнения криптографического преобразования по п.1, в котором криптографическое приложение представляет собой аутентификацию или идентификацию путем проверки целостности, и
на этапе /1/ осуществляют следующие этапы:
/а/ генерируют случайное число;
/б/ получают зашифрованное число путем шифрования упомянутого случайного числа на основе функции шифрования с использованием ключа шифрования, определенного из пароля или идентификатора, соответствующего параметру; и
/в/ передают зашифрованное число для проверки целостности.
8. Электронное устройство, содержащее средство, выполненное с возможностью реализации способа выполнения криптографического преобразования по п.1.
RU2012101253/08A 2009-06-16 2010-06-15 Криптография на эллиптической кривой RU2520379C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0954053 2009-06-16
FR0954053A FR2946819B1 (fr) 2009-06-16 2009-06-16 Cryptographie sur une courbe elliptique.
PCT/FR2010/051190 WO2010146302A2 (fr) 2009-06-16 2010-06-15 Cryptographie sur une courbe elliptique

Publications (2)

Publication Number Publication Date
RU2012101253A RU2012101253A (ru) 2013-07-27
RU2520379C2 true RU2520379C2 (ru) 2014-06-27

Family

ID=41507977

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012101253/08A RU2520379C2 (ru) 2009-06-16 2010-06-15 Криптография на эллиптической кривой

Country Status (10)

Country Link
US (1) US8718276B2 (ru)
EP (1) EP2443787B1 (ru)
CN (1) CN102484587B (ru)
BR (1) BRPI1016041B1 (ru)
CA (1) CA2765638C (ru)
ES (1) ES2435626T3 (ru)
FR (1) FR2946819B1 (ru)
PL (1) PL2443787T3 (ru)
RU (1) RU2520379C2 (ru)
WO (1) WO2010146302A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718229C1 (ru) * 2016-07-20 2020-03-31 Мастеркард Интернэшнл Инкорпорейтед Установление защищенного канала

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2975799B1 (fr) * 2011-05-27 2013-06-21 Oberthur Technologies Procede d'encodage cryptographique sur une courbe elliptique
CN113821396A (zh) * 2020-06-18 2021-12-21 中车株洲电力机车研究所有限公司 处理器运行状态监视诊断方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000005837A1 (en) * 1998-07-21 2000-02-03 Certicom Corp. Timing attack resistant cryptographic system
EP1014617A3 (en) * 1998-12-22 2002-08-21 Hitachi, Ltd. Method and apparatus for elliptic curve cryptography and recording medium therefor
RU2232476C2 (ru) * 1998-02-18 2004-07-10 Инфинеон Текнолоджиз Аг Способ криптографической обработки с использованием эллиптической кривой с помощью вычислительного устройства и устройство для осуществления способа
UA57827U (ru) * 2010-09-13 2011-03-10 Национальный Институт Рака Способ реконструкции орофарингоэзофагеальной зоны толстокишечным аутотрансплантатом

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
US7308096B2 (en) * 2000-05-30 2007-12-11 Hitachi, Ltd. Elliptic scalar multiplication system
JP4155929B2 (ja) * 2003-01-22 2008-09-24 株式会社リコー 画像符号化装置、符号復号化装置、画像符号化方法、符号復号化方法、プログラム及び記憶媒体
US8171289B2 (en) * 2006-06-09 2012-05-01 Symantec Corporation Method and apparatus to provide authentication and privacy with low complexity devices
US20100293379A1 (en) * 2007-05-31 2010-11-18 Beijing Transpacific Ip Technology Development Ltd method for secure data transmission in wireless sensor network
CN101222327A (zh) * 2007-09-13 2008-07-16 上海大学 列车运行控制系统的安全椭圆曲线密码保护方法
US8225109B1 (en) * 2008-04-30 2012-07-17 Netapp, Inc. Method and apparatus for generating a compressed and encrypted baseline backup

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2232476C2 (ru) * 1998-02-18 2004-07-10 Инфинеон Текнолоджиз Аг Способ криптографической обработки с использованием эллиптической кривой с помощью вычислительного устройства и устройство для осуществления способа
WO2000005837A1 (en) * 1998-07-21 2000-02-03 Certicom Corp. Timing attack resistant cryptographic system
EP1014617A3 (en) * 1998-12-22 2002-08-21 Hitachi, Ltd. Method and apparatus for elliptic curve cryptography and recording medium therefor
UA57827U (ru) * 2010-09-13 2011-03-10 Национальный Институт Рака Способ реконструкции орофарингоэзофагеальной зоны толстокишечным аутотрансплантатом

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2718229C1 (ru) * 2016-07-20 2020-03-31 Мастеркард Интернэшнл Инкорпорейтед Установление защищенного канала

Also Published As

Publication number Publication date
BRPI1016041A2 (pt) 2016-06-07
CN102484587B (zh) 2014-12-31
WO2010146302A2 (fr) 2010-12-23
WO2010146302A3 (fr) 2011-03-03
RU2012101253A (ru) 2013-07-27
FR2946819B1 (fr) 2011-07-01
FR2946819A1 (fr) 2010-12-17
ES2435626T3 (es) 2013-12-20
US8718276B2 (en) 2014-05-06
PL2443787T3 (pl) 2014-03-31
US20120082307A1 (en) 2012-04-05
EP2443787A2 (fr) 2012-04-25
CA2765638C (fr) 2017-11-21
CN102484587A (zh) 2012-05-30
BRPI1016041B1 (pt) 2020-12-22
CA2765638A1 (fr) 2010-12-23
EP2443787B1 (fr) 2013-10-02

Similar Documents

Publication Publication Date Title
US11265163B2 (en) Method and processing device for performing a lattice-based cryptographic operation
JP4086503B2 (ja) 暗号演算装置及び方法並びにプログラム
JP2019515353A (ja) 暗号化べき乗アルゴリズムへのセーフ−エラーフォールトインジェクション攻撃に対する対策
CN102318264B (zh) 椭圆曲线点的编码方法
US20160149708A1 (en) Electronic signature system
JP4568886B2 (ja) Rsaタイプの暗号アルゴリズムを安全に実施するための方法、および対応する構成要素
US20220166614A1 (en) System and method to optimize generation of coprime numbers in cryptographic applications
KR100731387B1 (ko) 암호화 시스템 내의 모듈러 멱승 결과 결정 장치 및 방법
CN107896142B (zh) 一种执行模幂运算的方法及装置、计算机可读存储介质
JP2011510579A (ja) 署名ダイアグラムを用いた非対称暗号方式のための対策方法およびデバイス
RU2520379C2 (ru) Криптография на эллиптической кривой
US20020041683A1 (en) Method for selecting optimal number of prime factors of a modulus for use in a cryptographic system
US7454625B2 (en) Method and apparatus for protecting a calculation in a cryptographic algorithm
RU2533087C2 (ru) Криптография с параметризацией на эллиптической кривой
EP3226120B1 (en) Non-modular multiplier, method for non-modular multiplication and computational device
US8712038B2 (en) Cryptography on a simplified elliptical curve
RU2574826C2 (ru) Криптография на упрощенной эллиптической кривой
KR100954844B1 (ko) 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
US10027483B2 (en) Cryptography on an elliptical curve
US9866371B2 (en) Cryptography on a simplified elliptical curve
JP2005504349A (ja) 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法
EP4343736A1 (en) Method for optimizing an execution of a cryptographic process based on matrix expansion
US20140314230A1 (en) Cryptography on an elliptical curve
WO2011033642A1 (ja) 署名生成装置及び署名検証装置
Gueron Quick verification of rsa signatures