RU2414079C2 - Cryptographic calculation method, cryptographic system and computer program - Google Patents
Cryptographic calculation method, cryptographic system and computer program Download PDFInfo
- Publication number
- RU2414079C2 RU2414079C2 RU2007111725/09A RU2007111725A RU2414079C2 RU 2414079 C2 RU2414079 C2 RU 2414079C2 RU 2007111725/09 A RU2007111725/09 A RU 2007111725/09A RU 2007111725 A RU2007111725 A RU 2007111725A RU 2414079 C2 RU2414079 C2 RU 2414079C2
- Authority
- RU
- Russia
- Prior art keywords
- calculation
- divisor
- curve
- cryptographic
- respect
- Prior art date
Links
Images
Abstract
FIELD: information technology.
SUBSTANCE: fast scalar multiplication is achieved by performing calculation operations involving division by two, calculation processing via scalar multiplication with respect to the divisor D in cryptography based on a hyperelliptic curve. For example, calculation operations which involve division by two are performed during scalar multiplication with respect to the divisor D on a genus 2 hyperelliptic curve in characteristic 2, having parametres h(x)=x2+x+h0, f4=0, a genus 2 hyperelliptic curve in characteristic 2 having parametres h(x)=x2+h1x+h0, f4=0, or a genus 2 hyperelliptic curve in characteristic 2 having parametre h(x)=x. Also, low complexity and faster calculation are achieved by using a table which indicates which of k1, k1', (k0, k0') is correct, based on the calculated value [1/2iD] relative a fixed divisor D, and owing to fewer inversion operations.
EFFECT: faster scalar multiplication in cryptography based on a hyperelliptic curve.
17 cl, 8 dwg
Description
Claims (17)
выполнения криптографической обработки на основе криптографии на основе гиперэллиптической кривой, содержащий:
этап ввода данных, предназначенных для обработки,
этап генерирования базовой точки, на котором генерируют делитель D как базовую точку,
этап поиска по таблице, состоящий в поиске в таблице, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [1/2iD] в отношении делителя D, фиксированного заранее,
этап расчета, состоящий в выполнении операций расчета, включающих в себя разделение пополам, в качестве обработки расчета при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой и в котором сложность разделения пополам уменьшают путем обработки на основе поиска по таблице, и
этап использования полученного значения для шифрования данных.1. A cryptographic processing method for
performing cryptographic processing based on cryptography based on a hyperelliptic curve, comprising:
the step of entering data intended for processing,
a step of generating a base point, at which a divider D is generated as a base point,
the search step in the table, which consists in searching in the table in which it is recorded which of the multipliers of the scalar product k 1 , k 1 ', (k 0 , k 0 ') is correct, based on the calculated value [1/2 i D] in against a divisor D fixed in advance,
a calculation step, consisting of performing calculation operations including halving, as a calculation processing for calculating scalar multiplication with respect to a divisor D on a hyperelliptic curve and in which the complexity of halving is reduced by processing based on a table search, and
the stage of using the obtained value for data encryption.
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей случайный параметр.2. The cryptographic processing method according to claim 1, in which:
the calculation stage is a stage of performing calculation operations, which includes dividing in half with scalar multiplication with respect to the divisor D by a hyperelliptic curve of genus 2 in characteristic 2 with a random parameter.
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+x+h0, f4=0, где х, h0, f4 - параметры кривой.3. The cryptographic processing method according to claim 1, in which:
the calculation stage is the stage of performing calculation operations, which includes dividing in half with scalar multiplication with respect to the divisor D by a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x 2 + x + h 0 , f 4 = as parameters 0, where x, h 0 , f 4 are the parameters of the curve.
этап расчета представляет собой этап выполнения операций расчета, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+h1x+h0, f4=0, где х, h1, h0, f4 - параметры кривой.4. The cryptographic processing method according to claim 1, in which:
the calculation stage is the stage of performing calculation operations, which includes dividing in half with scalar multiplication with respect to the divisor D by a hyperelliptic curve of genus 2 in characteristic 2, having as parameters h (x) = x 2 + h 1 x + h 0 , f 4 = 0, where x, h 1 , h 0 , f 4 are the parameters of the curve.
этап расчета представляет собой этап выполнения операций расчета, включающий в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметра h(x)=x, где х - параметр кривой.5. The cryptographic processing method according to claim 1, in which:
the calculation stage is the stage of performing calculation operations, which includes dividing in half with scalar multiplication with respect to the divisor D by a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x as the parameter, where x is the curve parameter.
этап расчета включает в себя этап расчета инверсного значения 1/k1 путем обработки умножения и суммирования без выполнения инверсии, применяя следующее выражение отношения:
l/k1=h2+k1u21,
которое получено из алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=Vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2.6. The cryptographic processing method according to claim 1, in which:
the calculation step includes the step of calculating the inverse value 1 / k 1 by processing the multiplication and summation without performing the inversion, using the following relationship expression:
l / k 1 = h 2 + k 1 u 21 ,
which is obtained from the algorithm for calculating the separation in half, in which:
input D 2 = (U 2 , V 2 ) and
output D 1 = (U 1 , V 1 ) = [1/2] D 2 ,
where D 1 is a divisor equal to the formal sum of the points of the curve, and D 2 is a divisor defined as the scalar product kD 1 , U 1 (x) = x 2 + u i1 x + u i0 , Vi (x) = V i1 x + v i0 , the greatest common factor is gcd (h, U i ) = 1, i = 1, 2.
способ криптографической обработки выполняет расчет в соответствии с алгоритмом, который установлен так, что в нем не используется l/u21 в качестве входного значения в алгоритме расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=Vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2.7. The cryptographic processing method according to claim 1, in which:
The cryptographic processing method performs the calculation in accordance with an algorithm that is set so that it does not use l / u 21 as an input value in the algorithm for calculating the separation in half, in which:
input D 2 = (U 2 , V 2 ) and
output D 1 = (U 1 , V 1 ) = [1/2] D 2 ,
where D 1 is a divisor equal to the formal sum of the points of the curve, and D 2 is a divisor defined as the scalar product kD 1 , U 1 (x) = x 2 + u i1 x + u i0 , Vi (x) = V i1 x + v i0 , the greatest common factor is gcd (h, U i ) = 1, i = 1, 2.
способ криптографической обработки представляет собой способ расчета, предназначенный для выполнения скалярного умножения в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров коэффициента скалярного умножения h(x)=x2+h1x+h0, f4=0; и
этап расчета включает в себя этап установки в качестве входного значения, l/h1 2, которое представляет собой ранее рассчитанное значение, и применение рассчитанного входного значения l/h1 2 без выполнения обработки расчета инверсного значения l/h1 2.8. The cryptographic processing method according to claim 1, in which:
The cryptographic processing method is a calculation method designed to perform scalar multiplication with respect to the divisor D on a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x 2 + h 1 x + h 0 , f 4 as parameters of the scalar multiplication coefficient = 0; and
the calculation step includes setting the input value, l / h 1 2 , which is the previously calculated value, and applying the calculated input value l / h 1 2 without performing the calculation processing of the inverse value l / h 1 2 .
блок передачи/приема, предназначенный для ввода данных, предназначенных для обработки и вывода зашифрованных данных;
блок генерирования базовой точки, который генерирует делитель D как базовую точку,
блок накопителя, предназначенный для сохранения таблицы, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [1/2iD] в отношении делителя D, фиксированного заранее, и
блок выполнения расчетов, предназначенный для выполнения операции расчета, включающей в себя разделение пополам, в качестве обработки расчета, при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой, при этом блок выполнения расчетов выполнен с возможностью выполнения обработки расчетов, в которой уменьшена сложность разделения пополам путем обработки определения на основе поиска в таблице и для шифрования введенных данных с использованием полученного значения.9. A cryptographic system designed to implement the cryptographic processing method according to any one of claims 1 to 8, comprising:
a transmission / reception unit for inputting data intended for processing and output of encrypted data;
a base point generating unit that generates a divider D as a base point,
a storage unit for storing a table in which one of the multipliers of the scalar product k 1 , k 1 ', (k 0 , k 0 ') is correct, based on the calculated value [1/2 i D] in relation to the divisor D fixed in advance, and
a calculation unit for performing a calculation operation including halving as a calculation processing when calculating scalar multiplication with respect to a divisor D on a hyperelliptic curve, while the calculation unit is configured to perform calculation processing in which the complexity of the separation is reduced in half by processing the definition based on the search in the table and to encrypt the entered data using the obtained value.
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей случайный параметр.10. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to perform calculation operations, which include dividing in half with scalar multiplication with respect to the divisor D by a hyperelliptic curve of genus 2 in characteristic 2 having a random parameter.
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+x+h0, f4=0, где х, h0, f4 - параметры кривой.11. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to perform calculation operations, including dividing in half with scalar multiplication with respect to the divisor D on a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x 2 + x + h 0 , f 4 as parameters = 0, where x, h 0 , f 4 are the parameters of the curve.
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров h(x)=x2+h1x+h0, f4=0, где х, h1, h0, f4 - параметры кривой.12. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to perform the calculation operations, including scalar multiplication with respect to the divisor D, by a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x 2 + h 1 x + h 0 as parameters f 4 = 0, where x, h 1 , h 0 , f 4 are the parameters of the curve.
блок выполнения расчетов выполнен с возможностью выполнения операций расчетов, включающих в себя разделение пополам при скалярном умножении в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметра h(x)=x, где х - параметр кривой.13. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to perform calculation operations, including scalar multiplication with respect to the divisor D, by a hyperelliptic curve of genus 2 in characteristic 2, having h (x) = x as the parameter, where x is the curve parameter.
блок выполнения расчетов выполнен с возможностью расчета инверсного значения l/k1 путем обработки умножения и суммирования без выполнения инверсии, используя следующее выражение отношения:
l/k1=h2+k1u21,
которое получено из алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1x+ui0, Vi(x)=vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2, и выполнение расчета в соответствии с алгоритмом, в котором установлено не использовать l/u2i в качестве входного значения.14. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to calculate the inverse value of l / k 1 by processing the multiplication and summation without performing the inversion using the following relationship expression:
l / k 1 = h 2 + k 1 u 21 ,
which is obtained from the algorithm for calculating the separation in half, in which:
input D 2 = (U 2 , V 2 ) and
output D 1 = (U 1 , V 1 ) = [1/2] D 2 ,
where D 1 is a divisor equal to the formal sum of the points of the curve, and D 2 is a divisor defined as the scalar product kD 1 , U 1 (x) = x 2 + u i1 x + u i0 , Vi (x) = v i1 x + v i0 , the greatest common factor gcd (h, U i ) = 1, i = 1, 2, and performing the calculation in accordance with an algorithm in which it is established not to use l / u 2i as an input value.
блок выполнения расчетов выполнен с возможностью выполнения алгоритма расчета разделения пополам, в котором:
вход D2=(U2, V2) и
выход D1=(U1, V1)=[1/2] D2,
где D1 представляет собой делитель, равный формальной сумме точек кривой, и D2 представляет собой делитель, определенный как скалярное произведение kD1, U1(x)=x2+ui1х+ui0, Vi(x)=vi1x+vi0, наибольший общий делитель gcd(h, Ui)=1, i=1, 2, и выполнение расчета в соответствии с алгоритмом, в котором установлено не использовать l/u21 в качестве входного значения.15. The cryptographic system according to claim 9, in which:
the calculation execution unit is configured to execute a bisection calculation algorithm, in which:
input D 2 = (U 2 , V 2 ) and
output D 1 = (U 1 , V 1 ) = [1/2] D 2 ,
where D 1 is a divisor equal to the formal sum of the points of the curve, and D 2 is a divisor defined as the scalar product kD 1 , U 1 (x) = x 2 + u i1 x + u i0 , Vi (x) = v i1 x + v i0 , the greatest common factor is gcd (h, U i ) = 1, i = 1, 2, and the calculation is performed in accordance with an algorithm in which it is established not to use l / u 21 as an input value.
выполнения скалярного умножения в отношении делителя D на гиперэллиптической кривой рода 2 в характеристике 2, имеющей в качестве параметров коэффициента скалярного умножения h(x)=x2+h1x+h0, f4=0; и
выполнения расчета, в котором при l/h1 2, которое представляет собой ранее рассчитанное значение, и применение рассчитанного входного значения
l/h1 2, без выполнения обработки расчета инверсного значения l/h1 2.16. The cryptographic system of claim 10, in which the calculation execution unit is configured to:
performing scalar multiplication with respect to the divisor D on a hyperelliptic curve of genus 2 in characteristic 2, having, as parameters, the coefficient of scalar multiplication h (x) = x 2 + h 1 x + h 0 , f 4 = 0; and
performing a calculation in which at l / h 1 2 , which is a previously calculated value, and applying the calculated input value
l / h 1 2 , without performing processing for calculating the inverse of l / h 1 2 .
этап ввода данных, предназначенных для обработки,
этап генерирования базовой точки, на котором генерируют делитель D как базовую точку,
этап поиска по таблице, состоящий в поиске в таблице, в которой записано, какой из множителей скалярного произведения k1, k1', (k0, k0') является правильным, на основе рассчитанного значения [l/2iD] в отношении делителя D, фиксированного заранее,
этап расчета, состоящий в выполнении операций расчета, включающих в себя разделение пополам, в качестве обработки расчета при расчете скалярного умножения в отношении делителя D на гиперэллиптической кривой и в котором сложность разделения пополам уменьшают путем обработки на основе поиска по таблице, и
этап использования полученного значения для шифрования данных. 17. A computer-readable recording medium containing a computer program that enables a computer to perform a cryptographic processing method, comprising:
the step of entering data intended for processing,
a step of generating a base point, at which a divider D is generated as a base point,
the search step in the table, which consists in searching in a table in which it is recorded which of the multipliers of the scalar product k 1 , k 1 ', (k 0 , k 0 ') is correct, based on the calculated value [l / 2 i D] in against a divisor D fixed in advance,
a calculation step, consisting of performing calculation operations including halving, as a calculation processing for calculating scalar multiplication with respect to a divisor D on a hyperelliptic curve and in which the complexity of halving is reduced by processing based on a table search, and
the stage of using the obtained value for data encryption.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-287166 | 2004-09-30 | ||
JP2004287166 | 2004-09-30 | ||
JP2005015071 | 2005-01-24 | ||
JP2005-015071 | 2005-01-24 | ||
JP2005-119587 | 2005-04-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2007111725A RU2007111725A (en) | 2008-10-10 |
RU2414079C2 true RU2414079C2 (en) | 2011-03-10 |
Family
ID=39927288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2007111725/09A RU2414079C2 (en) | 2004-09-30 | 2005-09-26 | Cryptographic calculation method, cryptographic system and computer program |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2414079C2 (en) |
-
2005
- 2005-09-26 RU RU2007111725/09A patent/RU2414079C2/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2007111725A (en) | 2008-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5001176B2 (en) | Signature generation apparatus, signature generation method, and signature generation program | |
JP5116770B2 (en) | Module reduction using folding | |
US8559625B2 (en) | Elliptic curve point transformations | |
JP6629466B2 (en) | Security calculation system, security calculation device, security calculation method, program | |
US8300810B2 (en) | Method for securely encrypting or decrypting a message | |
EP3644544A1 (en) | Method for comparing ciphertext using homomorphic encryption and apparatus for executing thereof | |
JP6621813B2 (en) | Electronic computing device for performing obfuscated arithmetic | |
白石 | Polynomial selection for the number field sieve | |
EP3121710B1 (en) | Computational method, computational device and computer software product for montgomery domain | |
RU2414079C2 (en) | Cryptographic calculation method, cryptographic system and computer program | |
CN104506316A (en) | Point multiplication operation method based on SM2 base points | |
JP4354609B2 (en) | Simultaneous equation solving apparatus and inverse element computing apparatus on finite field | |
Lee | The security of groups of unknown order based on jacobians of hyperelliptic curves | |
KR101925614B1 (en) | Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem | |
US9654472B2 (en) | Storage count verification system | |
US8605895B2 (en) | Computing the eth root of a number using a variant of the RSA algorithm (for even e's) | |
Aswathy et al. | Modified RSA public key algorithm | |
KR102132935B1 (en) | Method and apparatus for finite field multiplication | |
US11528136B2 (en) | Decryption of encrypted data missing a private key | |
EP4258591A1 (en) | Apparatus and method with homomorphic encryption operation | |
Bulens et al. | Hardware for collision search on elliptic curve over GF (2m) | |
Albert et al. | Resolutions and Betti Numbers of Polynomial Modules via Involutive Bases | |
Joux et al. | Elliptic Curve Discrete Logarithm Problem over Small Degree Extension Fields. Application to the static Diffie-Hellman problem on $ E (\F_ {q^ 5}) $ | |
KR101609952B1 (en) | Method and apparatus for multiplying scalar | |
Choe et al. | Finite rank Toeplitz products with harmonic symbols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20120927 |