WO2006030496A2 - 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム - Google Patents

楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム Download PDF

Info

Publication number
WO2006030496A2
WO2006030496A2 PCT/JP2004/013409 JP2004013409W WO2006030496A2 WO 2006030496 A2 WO2006030496 A2 WO 2006030496A2 JP 2004013409 W JP2004013409 W JP 2004013409W WO 2006030496 A2 WO2006030496 A2 WO 2006030496A2
Authority
WO
WIPO (PCT)
Prior art keywords
point
curve
elliptic curve
algebraic
mapping
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2004/013409
Other languages
English (en)
French (fr)
Other versions
WO2006030496A1 (ja
Inventor
Katsuyuki Takashima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2004/013409 priority Critical patent/WO2006030496A2/ja
Priority to US10/572,500 priority patent/US20070053506A1/en
Priority to JP2006534980A priority patent/JPWO2006030496A1/ja
Publication of WO2006030496A1 publication Critical patent/WO2006030496A1/ja
Publication of WO2006030496A2 publication Critical patent/WO2006030496A2/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Definitions

  • Elliptic curve cryptography calculation device calculation method of calculation device using elliptic curve, and program for causing computer to execute scalar multiplication of points on elliptic curve
  • the present invention relates to an elliptic curve cryptography arithmetic device that performs an elliptic curve cryptography scalar multiplication operation, an elliptic curve cryptography scalar multiplication method in the elliptic curve cryptography device, and an elliptic curve cryptography scalar multiplication operation.
  • the present invention relates to a program executed by a computer.
  • Such a scalar multiplication operation using a special homomorphism map is called GLV type scalar multiplication operation.
  • Non-Patent Document 2 shows the results when the above method is extended to a hyperelliptic curve (see Non-Patent Document 2).
  • Non-Patent Document 4 describes a homomorphism between the product E X E of elliptic curve E and the Jacobian manifold of genus 2 hyperelliptic curve C (see Non-Patent Document 4).
  • Non-Patent Document 1 R. P. Gallant, J. L. Lambert and S. A. Vanstone, "Faster point multiplication on elliptic curves with efficient endomorphisms ,, Crypto 2001, Springer Verlag, (2001), 190—200.
  • Non-Patent Document 2 F. Sica, M. Ciet, J.—J. Quisquater, “Analysis of the Gallant—Lambert— Vanstone method based on efficient endomorphisms: elliptic and hyperelliptic curves”, SAC 2002, Springer Verlag, ( 2002), 21-36.
  • Non-Patent Document 3 M. Ciet, T. Lange, F. Sica, J.—J. Quisquater, "Improved Al gorithms for Efficient Arithmetic on Elliptic Curves using Fast En domorphisms", EUROCRYPT 2003, Springer Verlag, (2003), 388—40 0.
  • Non-Patent Document 4 P. R. Bending, "Curves of genus 2 with f2 Multiplicati on", http: // / www. Math. Uiuc. EduZ Algebraic— Number— Theory / Disclosure of Invention
  • the elliptic curve that can be applied to the above-described conventional GLV type scalar multiplication has been limited to a special one.
  • the elliptic curve used for elliptic curve cryptography is generally selected at random, which guarantees the security of the elliptic curve cryptography. Therefore, even if the elliptic curve encryption speed can be increased using the GLV type scalar multiplication described above, the elliptic curve cannot be selected at random. Safety has been a problem for use in Japan.
  • an object of the present invention is to make it possible to apply the above-mentioned conventional GLV type scalar multiplication to an elliptic curve having a wider range.
  • the elliptic curve cryptography calculation apparatus includes an input unit that inputs information indicating the elliptic curve E, a point P on the elliptic curve E, and a calculation value K and stores them in the storage unit, and an elliptic curve stored in the storage unit Read the point P on E, map the point P on the elliptic curve E to the Jacobian manifold of the algebraic curve corresponding to the elliptic curve E, and the Jacobian of the algebraic curve corresponding to the point P on the elliptic curve E On manifold
  • the embedding point D is obtained as an embedding point D
  • the embedding calculation unit for storing the embedding point D in the storage unit, and the embedding point D stored in the storage unit is read to perform homomorphic mapping of the Jacobian manifold of the algebraic curve.
  • the mapping point ⁇ D is obtained and the homomorphic mapping operation unit that stores the mapping point ⁇ D in the storage unit and the mapping point ⁇ D stored in the storage unit are read and mapped to the elliptic curve ⁇ to project the elliptic curve
  • the point P ′ is obtained, the projection calculation unit for storing the projection point P ′ in the storage unit, the calculation value ⁇ and the projection point P ′ stored in the storage unit are read, and the calculation value ⁇ and the projection point P ′ are obtained.
  • a calculation processing unit that stores the calculation result in the storage unit.
  • the elliptic curve cryptography calculation device includes an input unit that stores information indicating an elliptic curve ⁇ , a point ⁇ on the elliptic curve ⁇ , and a calculation value ⁇ and stores the information in a storage unit, and an elliptic curve stored in the storage unit.
  • a point on the manifold is obtained as an embedding point D
  • the embedding operation unit that stores the embedding point D in the storage unit, and the embedding point D stored in the storage unit is read to obtain a homomorphic map of the Jacobian manifold of the algebraic curve
  • the mapping point ⁇ D is obtained by mapping, and the homomorphic mapping calculation unit that stores the mapping point ⁇ D in the storage unit and the mapping point ⁇ D stored in the storage unit are read and mapped to the elliptic curve ⁇
  • a calculation processing unit that reads the calculation value ⁇ and the projection point P ′
  • a set of a secret key X and a public key y is prepared for each user, and each user keeps the secret key X secret.
  • Public key y is other than the user Open to the public.
  • user B wants to secretly send data to user A
  • user B encrypts the data using user A's public key y.
  • User A decrypts the encrypted data using secret key X that only he / she knows. This ciphertext cannot be decrypted by user A who knows the secret key X.
  • Discrete logarithmic public key cryptography is a formula that defines a large algebraic group G and g is a public key cryptography parameter.
  • g is the public key and m is the private key.
  • the elliptic curve cryptography calculation device includes an input unit 2 that inputs information indicating the elliptic curve E, a point P on the elliptic curve E, and a calculation value K and stores them in the storage unit 1, and an elliptic curve stored in the storage unit 1.
  • the mapping point ⁇ D is obtained by mapping with the isomorphism mapping, the homomorphic mapping calculation unit 4 that stores the mapping point ⁇ D in the storage unit 1, and the mapping point ⁇ D stored in the storage unit 1 is read, and the elliptic curve Projection point P ′ of the elliptic curve is obtained by mapping to ⁇ , and the projection calculation unit 5 stores the projection point P ′ in the storage unit 1. It reads the stored calculation values ⁇ 1 kappa projective point P 'and the calculated value kappa And a calculation processing unit 6 that performs calculation using the projection point P ′ and stores the calculation result in the storage unit 1.
  • the elliptic curve cryptography arithmetic unit further selects an algebraic curve and sets it in the storage unit 1, and parameters for mapping the point P on the elliptic curve E to the Jacobian manifold of the algebraic curve.
  • the initial setting unit 7 for setting the data in the storage unit 1 is provided.
  • the elliptic curve cryptographic operation device includes an output unit 8 that outputs a result of scalar multiplication and a CPU (Central Processing Unit J 9) that controls the scalar multiplication operation.
  • the calculated value K is a scalar multiple K.
  • the scalar multiple K may also be described as the calculated value K.
  • a genus 2 hyperelliptic curve for the algebraic curve.
  • This elliptic curve cryptography arithmetic unit performs a scalar multiplication operation of the scalar multiple K input from the input unit 2. In that case, the operation on the Jacobian manifold of the genus 2 super elliptic curve C is used.
  • the homomorphic mapping operation unit 4 of the elliptic curve cryptography arithmetic unit performs an operation of doubling the points of the Jacobian manifold of the genus 2 hyperelliptic curve C.
  • the storage unit 1 stores each value used in the process in which the elliptic curve cryptography arithmetic unit performs a scalar multiplication operation.
  • the input unit 2 inputs an elliptic curve E equation and a parameter that defines the equation. Also input the point P (z, t) on the elliptic curve E and the scalar multiple K.
  • information indicating an elliptic curve having two twist points is input as information indicating the elliptic curve ⁇ , or the order in which the order is a prime number as information indicating the elliptic curve ⁇ is input.
  • Information indicating an elliptic curve of a prime number can be input.
  • the elliptic curve ⁇ is determined by converting an elliptic curve including a rational point of order 2 into an elliptic curve expressed by Eq. (1) (see Non-Patent Document 4).
  • Ding, a, and U are parameters that define an elliptic curve.
  • the elliptic curve represented by the equation (1) has two torsion points (1-1, 0) with respect to an arbitrary prime field.
  • the initial setting unit 7 can select a hyperelliptic curve as an algebraic curve.
  • the initial setting unit 7 of the elliptic curve cryptography calculation device uses a genus 2 superelliptic curve C as an algebraic curve. You can choose.
  • the initial setting unit 7 selects a genus 2 hyperelliptic curve C as an algebraic curve.
  • the embedding operation unit 3 embeds the elliptic curve E force genus 2 super elliptic curve C in the Jacobian manifold. Specifically, the point P on the elliptic curve E is mapped to the Jacobian variety of the genus 2 hyperelliptic curve C corresponding to the elliptic curve E, and the genus 2 corresponding to the point P on the elliptic curve E is 2 The point on the Jacobian manifold of the hyperelliptic curve C is obtained as the embedding point D.
  • the homomorphic mapping operation unit 4 performs mapping by homomorphic mapping of the Jacobian variety of the genus 2 hyperelliptic curve C from the embedding point D to obtain the mapping point ⁇ D.
  • Projection calculation unit 5 performs mapping of the genus 2 hyperelliptic curve C to the Jacobian manifold force elliptic curve . Specifically, the mapping point ⁇ D is mapped to the elliptic curve ⁇ to obtain the projection point P ′ of the elliptic curve.
  • the calculation processing unit 6 performs the scalar multiplication using the GLV type scalar multiplication from the scalar multiple ⁇ and the projection point P '.
  • the calculation method of the calculation device using the elliptic curve is that the information indicating the elliptic curve ⁇ , the point ⁇ on the elliptic curve ⁇ and the calculation value ⁇ are input and stored in the storage unit 1, and the ellipse stored in the storage unit 1 is stored.
  • the mapping point ⁇ D is obtained by mapping, the mapping point ⁇ D is stored in the storage unit 1, the mapping point ⁇ D stored in the storage unit 1 is read, and the mapping point ⁇ D is mapped to the elliptic curve ⁇ .
  • the projection point P ′ is obtained, the projection point ⁇ ′ is stored in the storage unit 1, the calculated value ⁇ and the projection point ⁇ ′ stored in the storage unit 1 and , Calculate using the operation value ⁇ and the projection point P ', and store the calculation result in the storage unit 1 ⁇
  • the input unit 2 sets the equation of the elliptic curve ⁇ , and inputs U, a, W which are parameters of the equation. Also input a point P (z, t) on the elliptic curve E and a scalar multiple K.
  • the input equation of the elliptic curve E and parameters U, a, ⁇ , W, the point P (z, t) on the elliptic curve E, and the scalar multiple K are stored in the storage unit 1 (step S100).
  • the initial setting unit 7 reads the elliptic curve E from the storage unit 1, and performs a process of embedding it in the Jacobian manifold of the genus 2 hyperelliptic curve C determined by the following equation (2) (step S 101).
  • Ding, a and U are parameters that define an elliptic curve, and X and Y are variables. It is.
  • step S101 does not have to be executed from the next time.
  • the embedding calculation unit 3 performs the algebra in which the elliptic curve E is embedded to obtain the embedding point D (x, y) of the point P (z, t) force on the elliptic curve E.
  • the mapping of the curve to the Jacobi manifold is defined by the relational expression (3) and (4).
  • x is the x coordinate of the point of the Jacobian manifold of genus 2 hyperelliptic curve C
  • y is the y coordinate of the point of Jacobian manifold of genus 2 hyperelliptic curve C
  • z is the elliptic curve E
  • t is the y coordinate of point P on elliptic curve E
  • a and U are parameters that define elliptic curve E.
  • r be the square root in the finite field GF (q) of z that is the X coordinate of point P on the elliptic curve E
  • (2 (t), 2 (1 ⁇ tZr 3 )) be the product of elliptic curves
  • x and y are determined by equations (5) and (6).
  • a and U are parameters defining the elliptic curve E.
  • Step S300 to Step S302 are operations in the embedding operation unit 3.
  • the homomorphic mapping operation unit 4 finds the mapping point ⁇ D by doubling the point D of the Jacobian manifold of the genus 2 hyperelliptic curve C, which is an algebraic curve.
  • the homomorphic mapping operation unit 4 uses the genus 2 hyperelliptic curve C as an algebraic curve and performs an operation of doubling the point D of the Jacobian manifold of the genus 2 hyperelliptic curve C to obtain a mapping point ⁇ Obtain D (Step S 103).
  • the homomorphic mapping operation unit 4 is a homomorphic mapping of the Jacobian manifold of the algebraic curve, the Jacobian manifold force of the algebraic curve is also the homomorphic mapping of the Richelot dual curve of the algebraic curve to the Jacobian manifold, and the algebraic curve
  • the Jacobian manifold force of Richelot dual curve We use a self-homogeneous map on the Jacobian manifold of the algebraic curve determined by the synthesis of the algebraic curve to the homomorphic map of the Jacobian manifold.
  • x is the x coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • y is the y coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • z is the algebraic curve X-coordinates of the points of the Jacobian manifold
  • G1 and G2 are functions that define the genus 2 hyperelliptic curve C
  • HI and H2 are functions that define the Ri chelot dual curve of the genus 2 hyperelliptic curve C
  • z is the zero of equation (1) for z, t for each z (kkk
  • Equation (2) is a function that defines t.
  • X is the X coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • y is the y coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • denotes the mapping It is a symbol.
  • the homomorphic mapping used in the homomorphic mapping calculation unit 4 will be specifically described.
  • a line is defined.
  • H (Z) G, (Z) G (Z) —G, (Z) G (Z).
  • G ' is a polynomial i i +1 i + 2 i + 2 i + 1
  • the Jacobian manifold force of the genus 2 hyperelliptic curve C is also the homomorphic map p of the Richelo t dual curve of the genus 2 hyperelliptic curve C to the Jacobian manifold p is defined as It is done.
  • t is determined by t 2 (AG (x) H (z) (x-z;)) Zy.
  • the former isomorphic mapping of the Jacobian manifold force of the genus 2 hyperelliptic curve C to the Jacobian manifold of the Riche lot dual curve of the genus 2 hyperelliptic curve C has been described.
  • the square map ⁇ of the genus 2 hyperelliptic curve C is given by ⁇ t ⁇ 1 p.
  • t is the genus 2 hyperelliptic curve C force defined by Eq.
  • the force is also an isomorphism of the genus 2 hyperelliptic curve C to the Richelo t dual curve, where I- 1 is the latter genus 2
  • the Jacobian manifold force of the Richelot dual curve of the hyperelliptic curve C is a homomorphism to the Jacobian manifold of the genus 2 hyperelliptic curve C.
  • the homomorphic map calculation unit 4 stores U (x) and V (V)
  • the homomorphic mapping operation unit 4 has ((z, t) + (z, t)) one ((z, ⁇ t,) + ( ⁇ ' ⁇ t,)) and
  • homomorphism calculating portion 4 Richelot dual curve force also mapping to C (x, y) ⁇ ( 2 / x, (4y) / x 3) mapping between Jacobian variety determined from U (z), V (z) U (z)
  • V (z) (step S203), and U (z) and V (z) are stored in the storage unit 1 (step S204).
  • steps S200 to S204 are operations in the homomorphic mapping calculation unit 4.
  • x is the x coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • y is the y coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • z is the elliptic curve E
  • X coordinate of point P above is the y coordinate of point P on elliptic curve E
  • a and U are parameters that define elliptic curve E.
  • z ′ and t ′ are determined by the relational expression between the following expressions (15) and (16).
  • x ' is the x coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • y' is the y coordinate of the point of the Jacobian manifold of the genus 2 hyperelliptic curve C
  • z is the ellipse
  • the X coordinate of point P on curve E, t, is the y coordinate of point P on elliptic curve E
  • a and U are parameters that define elliptic curve E.
  • Projection calculation unit 5 reads U (z) and V (z) generated by homomorphic mapping calculation unit 4 from storage unit 1, and points (x, y) of the Jacobian manifold of genus 2 hyperelliptic curve C -(x ', y') (Step S40 0).
  • the projection calculation unit 5 obtains z, t, z ', and t' by the above-described equation (14) and equation (17), and (z 2 , t)
  • a point P ′ on an elliptic curve E given by ( ⁇ ′ 2 , t ′) is obtained (step S401).
  • the projection calculation unit 5 stores the obtained point P ′ on the elliptic curve E in the storage unit 1 (step S402).
  • Step S400 to Step S402 are operations in the projection calculation unit 5.
  • Step S 100 to Step S 104 the calculation processing unit 6 reads the point P ′ on the elliptic curve E from the storage unit 1, and uses the GLV scalar multiplication operation described above to perform the point P on the elliptic curve E.
  • a scalar multiplication operation is performed with a scalar multiple K of, to obtain KP, (step S 105).
  • KP ′ obtained by the calculation is output (step S106).
  • the embedding operation unit 3 converts the point P on the elliptic curve E to the point D of the Jacobian manifold of the genus 2 hyperelliptic curve C.
  • the homomorphic map calculation unit 4 calculates ⁇ D using the square map ⁇ , and the projection calculation unit 5 obtains points on the elliptic curve ⁇ from ⁇ D.
  • ⁇ ( ⁇ ) we will write that point as ⁇ ( ⁇ ).
  • scalar multiplication with scalar multiple ⁇ can be realized by performing GL V-type scalar multiplication using ⁇ ( ⁇ ) as a special homomorphism.
  • the above-described scalar multiplication operation can be executed by a computer by describing the method in a program.
  • a program that causes a computer to perform a scalar multiplication ( ⁇ multiplication) operation on a point ⁇ on an elliptic curve ⁇ is a point 2 on an elliptic curve ⁇ on a Jacobian variety of a genus 2 hyperelliptic curve C Convert to point D, map to point D by homomorphic mapping of Jacobian manifold of genus 2 hyperelliptic curve C to find mapping point ⁇ D, and map mapping point ⁇ D onto elliptic curve ⁇ To obtain the projection point P ′ of the elliptic curve,
  • the elliptic curve cryptography calculation device includes an input unit that inputs information indicating the elliptic curve E, a point P on the elliptic curve E, and a calculation value K and stores them in the storage unit;
  • the point P on the elliptic curve E stored in the part is read, the point P on the elliptic curve E is mapped to the Jacobian manifold of the algebraic curve corresponding to the elliptic curve E, and the point P on the elliptic curve E
  • the point on the Jacobian manifold of the curve corresponding to is obtained as an embedding point D
  • the embedding operation unit for storing the embedding point D in the storage unit, and the embedding point D stored in the storage unit is read, and the algebraic curve
  • the mapping point ⁇ D is obtained by mapping the Jacobi manifold of by the homomorphic mapping, the mapping point ⁇ D
  • the projection point P ′ of the elliptic curve is obtained by mapping to the elliptic curve ⁇ , and the projection point P ′ is stored in the storage unit.
  • the elliptic curve cryptographic operation apparatus further selects an algebraic curve and sets it in the storage unit, and maps the point ⁇ on the elliptic curve ⁇ to the Jacobian manifold of the algebraic curve. Since the initial setting unit for setting the parameter for the storage unit is provided, the elliptic curve to be used can be changed, and the elliptic curve cryptography can be executed with various elliptic curves. As a result, it is possible to improve the security of elliptic curve cryptography executed by the elliptic curve cryptography arithmetic unit.
  • the initial setting unit of the elliptic curve cryptography arithmetic unit selects a hyperelliptic curve as an algebraic curve, and further selects a genus 2 hyperelliptic curve C as an algebraic curve.
  • Point on curve ⁇ genus 2 Hyperelliptic curve By mapping C onto Jacobian manifold, it is possible to execute scalar multiplication with elliptic curve cryptography at a faster processing speed than before. Become.
  • the homomorphic mapping computing unit of the elliptic curve cryptography computing device obtains the mapping point ⁇ D by doubling the point D of the Jacobian manifold of the algebraic curve. It is possible to use a homomorphic map that can be efficiently calculated and used for mapping.
  • the input unit of the elliptic curve cryptography arithmetic unit indicates the elliptic curve ⁇ . Since information indicating an elliptic curve having two twist points is input as information, or information indicating an elliptic curve of an order prime number whose order is a prime number is input, the seed of the point P on the elliptic curve E It is possible to execute a scalar multiplication operation at a higher speed, processing speed, and scalar multiplication than the conventional method using a mapping of the number 2 hyperelliptic curve C to a Jacobian manifold.
  • the homomorphic mapping arithmetic unit of the elliptic curve cryptography arithmetic unit performs the Jacobian manifold force of the algebraic curve as the homomorphic mapping of the Jacobian manifold of the algebraic curve.
  • the self-homogeneous map of the algebraic curve on the Jacobian manifold can be used as a homomorphic map that can be efficiently calculated by scalar multiplication.
  • the Jacobian manifold force of the algebraic curve used in the homomorphic mapping computing unit of the elliptic curve cryptography arithmetic unit is the algebraic curve of the homomorphic mapping of the Richelot dual curve of the algebraic curve to the Jacobian manifold. Is a genus 2 hyperelliptic curve C, it is determined by Eqs.
  • the embedding operation unit of the elliptic curve cryptography arithmetic unit calculates the embedding point D (x, y) of the point P (z, t) force on the elliptic curve E and the Jacobian manifold of the algebraic curve. Since the mapping of the algebraic curve with embedded elliptic curve E to the Jacobian manifold is determined by the relational expression between the above equations (3) and (4), the point P on the elliptic curve E is the Jacobian variety of the algebraic curve. Can be mapped to point D on the body.
  • the projection calculation unit of the elliptic curve cryptography calculation device obtains the projection point P '(z, t) on the elliptic curve ⁇ ⁇ from the projection point ⁇ D ( ⁇ , y). Since the mapping to is defined by the relational expression with Eq. (13) and Eq. (16) described above, the point ⁇ D of the Jacobian manifold of the algebraic curve can be mapped to the point P ′ on the elliptic curve.
  • the point P on the elliptic curve E stored in the storage unit is read, the point P on the elliptic curve E is mapped to the Jacobian manifold of the algebraic curve corresponding to the elliptic curve E, and the point on the elliptic curve E
  • the point on the Jacobian manifold of the algebraic curve corresponding to P is obtained as the embedding point D
  • the embedding point D is stored in the storage unit
  • the embedding point D stored in the storage unit is read
  • the mapping point ⁇ D is obtained by mapping the body with a homomorphic mapping
  • the mapping point ⁇ D is stored in the storage unit
  • the mapping point ⁇ D stored in the storage unit is read
  • the mapping point ⁇ D is mapped to the elliptic curve ⁇ .
  • the projection point P ′ on the curve ⁇ ⁇ is obtained, the projection point P ′ is stored in the storage unit, and the operation value ⁇ and the projection value stored in the storage unit are stored.
  • the shadow point P ' is read in, the calculation value ⁇ and the projection point P' are used for calculation, and the calculation result is stored in the storage unit, so the scalar multiplication operation performed by elliptic curve cryptography is faster than the conventional processing. It becomes possible to execute at speed.
  • the point ⁇ on the elliptic curve ⁇ is converted to the point D on the Jacobian manifold of the genus 2 hyperelliptic curve C, and the genus 2 hyperelliptic curve C is converted to the point D.
  • the mapping point ⁇ D is obtained by mapping by homomorphism of the Jacobi manifold of, and the mapping point ⁇ D is mapped onto the elliptic curve ⁇ ⁇ to obtain the projection point P ′ of the elliptic curve, and the calculated value ⁇ and the projection point P 'is read, and the program calculates that the projection point P' is multiplied by ⁇ , and the calculation result is output, so the program calculates the scalar multiplication ( ⁇ times) of the point ⁇ ⁇ on the elliptic curve ⁇ . Can be executed.
  • the conventional method is a fast key method for scalar multiplication in a powerful elliptic curve cryptosystem that can only be applied to a special type of elliptic curve ⁇ .
  • the GLV type scalar multiplication can be applied to the general elliptic curve ⁇ by force, so that the security of the elliptic curve cryptography is sufficiently guaranteed in practice.
  • the elliptic curve cryptography arithmetic unit includes an arithmetic unit that embeds an elliptic curve in a Jacobian variety of a genus 2 hyperelliptic curve C, and points on the elliptic curve that are points of a Jacobian manifold of genus 2 superelliptic curve C.
  • An arithmetic unit that performs an operation that maps to (embedding operation) an arithmetic unit that performs an operation that doubles the points of a Jacobian manifold of genus 2 hyperelliptic curve C, and a Jacobian manifold of genus 2 hyperelliptic curve C
  • an operation unit that performs an operation (projection operation) to map the point of To do.
  • the doubling operation is an operation that becomes a doubling map when performed twice as described in Non-Patent Document 4.
  • the elliptic curve cryptography arithmetic unit has a special homomorphism map ⁇ , and the Jacobian manifold force of C determined by the following equation is also a homomorphism map of C Richelot dual curve to Jacobian manifold:
  • the elliptic curve E force genus 2 hyperelliptic curve C is mapped to the Jacobian manifold, and the genus 2 hyperelliptic curve C Jacobian manifold force is mapped to the elliptic curve E. It is characterized by the following relational expression between the point (z, t) on the line and the point (x, y) of the genus 2 hyperelliptic curve C.
  • an arithmetic unit that embeds the elliptic curve of the elliptic curve cryptography arithmetic unit in a Jacobian variety of a genus 2 hyperelliptic curve C by a program, and a point on the elliptic curve of a genus 2 hyperelliptic curve C
  • a computer is caused to perform arithmetic processing using an arithmetic unit that performs an arithmetic operation (projection arithmetic) for mapping a point of the Jacobian manifold to a point on an elliptic curve.
  • the doubling operation is an operation that becomes a doubling map when performed twice as described in Non-Patent
  • the Jacobian manifold force of C determined by the following equation is also a homomorphic map of C Richelot dual curve to Jacobian manifold:
  • the Jacobian manifold force of C's Richelot dual curve determined by the following formula: A homomorphic mapping to the Jacobian manifold of C,
  • Genus 2 hyperelliptic curve determined by the composition of a computer Let the computer execute an arithmetic process using a self-homogeneous map on a Jacobian variety of C.
  • the elliptic curve E force of the elliptic curve cryptosystem is mapped to the Jacobian manifold of the genus 2 hyperelliptic curve C by the program, and the Jacobian manifold force elliptic curve E of the genus 2 hyperelliptic curve C is mapped to the elliptic curve E. Then, let the computer execute the processing that determines the relational force shown below between the point (z, t) on the elliptic curve and the point (x, y) of the genus 2 hyperelliptic curve C.
  • FIG. 6 is a diagram illustrating a hardware configuration when the elliptic curve cryptographic operation apparatus according to the embodiment is realized by a computer.
  • the elliptic curve cryptographic operation apparatus includes a CPU (Central Processing Unit) 911 for executing a program! / CPU911 via ROM 912 ROM (Read Only Memory) 913, RAM (Random Access Memory) 914, Communication board 915, Display device 901, Keyboard (KZB) 902, Mouse 903, FDD (Flexible Disk Drive) 904, a magnetic disk device 920, a CDD (Compact Disk Drive) 905, a printer device 906, and a scanner device 907 are connected.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • Communication board 915 Display device 901, Keyboard (KZB) 902, Mouse 903, FDD (Flexible Disk Drive) 904, a magnetic disk device 920, a CDD (Compact Disk Drive) 905, a printer device 906, and a scanner device 907 are connected.
  • KZB Keyboard
  • FDD Flexible Disk Drive
  • the RAM 914 is an example of a volatile memory.
  • ROM913, FDD904, CDD905, magnetic disk device 920, and optical disk device are examples of nonvolatile memory. These are examples of a storage device or a storage unit.
  • the magnetic disk device 920 stores an operating system (OS) 921, a window system 922, a program group 923, and a file group 924.
  • the program group 923 is executed by the CPU 911, the OS 921, and the window system 922.
  • the program group 923 stores programs for executing the functions described as "part" in the description of the above embodiment. The program is read and executed by CPU911.
  • the arrows in the flowcharts described above mainly indicate input / output of data, and for the input / output of the data, the data is stored in the magnetic disk device. It is recorded on other recording media such as 920, FD (Flexible Disk), optical disk, CD (Compact Disk), MD (Mini Disk), and DVD (Digital Versatile Disk). Or it is transmitted over signal lines and other transmission media.
  • firmware stored in the ROM 913 may be realized by firmware stored in the ROM 913.
  • it may be implemented in software only, hardware only, a combination of software and hardware, or a combination of firmware! /.
  • the program for carrying out the above-described embodiment also includes a magnetic disk device 920, FD (F1 exible Disk), optical disk, CD (Compact Disk), MD (Mini Disk), DVD (Digital Versatile Disk), etc. It may be stored using a recording apparatus using other recording media.
  • FIG. 1 is a diagram showing a configuration of an elliptic curve cryptographic operation apparatus in an embodiment.
  • FIG. 2 is a flowchart showing an operation of scalar multiplication in the elliptic curve cryptographic operation apparatus in the embodiment.
  • FIG. 3 is a flowchart showing an operation of an embedding operation unit of the elliptic curve encryption operation device according to the embodiment.
  • FIG. 4 is a flowchart showing the operation of the homomorphic mapping calculation unit of the elliptic curve cryptographic calculation apparatus in the embodiment.
  • FIG. 5 is a flowchart showing the operation of the projection calculation unit of the elliptic curve cryptography calculation device in the embodiment.
  • FIG. 6 is a diagram showing a hardware configuration when the elliptic curve cryptographic operation apparatus in the embodiment is realized by a computer. Explanation of symbols

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

明 細 書
楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および 楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
技術分野
[0001] この発明は、楕円曲線暗号のスカラー倍演算を行う楕円曲線暗号演算装置と、楕 円曲線暗号演算装置での楕円曲線暗号のスカラー倍の演算方法と、楕円曲線暗号 のスカラー倍演算をコンピュータに実行させるプログラムとに関する。
背景技術
[0002] 楕円曲線暗号の演算を高速に行うためには、その中で頻繁に実行されるスカラー 倍演算を高速ィ匕することが必須となる。これまでに、様々なスカラー倍演算の高速ィ匕 手法が提案されてきた。近年の研究によって、効率的に計算可能な自己準同型写像 である特殊準同型写像 Φを用いて、スカラー倍数 Kを K = k +k φ (又は k +k え、 λは点群上で Φが与えるスカラー倍数)と表現し、スカラー倍数 κによるスカラー倍演 算を、 kと kとのスカラー倍演算に分割することで演算速度を高速ィ匕する方法が開発
1 2
されている (非特許文献 1を参照)。このように特殊準同型写像を用いて高速ィ匕したス カラー倍演算を提案者の頭文字をとつて、 GLV型スカラー倍演算と呼ぶ。
[0003] また、非特許文献 2には超楕円曲線に上記の方法を拡張した場合の結果が示され て 、る (非特許文献 2を参照)。
[0004] また、非特許文献 4には楕円曲線 Eの積 E X Eと種数 2超楕円曲線 Cのヤコビ多様 体との間の準同型写像が記述されている (非特許文献 4を参照)。
非特許文献 1 :R. P. Gallant, J. L. Lambert and S. A. Vanstone, "Faster point multiplication on elliptic curves with efficient endomorphisms ,,, Crypto 2001, Springer Verlag, (2001) , 190—200.
非特許文献 2 : F. Sica, M. Ciet, J.—J. Quisquater, "Analysis of the Galla nt— Lambert— Vanstone method based on efficient endomorphisms : e lliptic and hyperelliptic curves", SAC 2002, Springer Verlag, (2002) , 21-36. 非特許文献 3 : M. Ciet, T. Lange, F. Sica, J.—J. Quisquater, "Improved Al gorithms for Efficient Arithmetic on Elliptic Curves using Fast En domorphisms", EUROCRYPT 2003, Springer Verlag, (2003) , 388—40 0.
非特許文献 4: P. R. Bending, "Curves of genus 2 with f2 Multiplicati on", http: / / www. math. uiuc. eduZ Algebraic— Number— Theory/ 発明の開示
発明が解決しょうとする課題
[0005] 近年の高度情報通信技術の実用化に伴い、楕円曲線暗号を含む公開鍵暗号も既 に実用化段階に入っている。そのため、クロック周波数の低い CPU (Central Proc essing Unit)しか搭載して!/ヽな 、、ある!/、は CPUを搭載することができな!/、ICカー ド上での暗号演算の実行や、ュビキタス環境での情報セキュリティを確保するために 、計算リソースが制限された環境での楕円曲線暗号の使用も必要なものとなってきて いる。その結果、楕円曲線暗号の演算速度の向上が切に望まれている。
[0006] し力しながら、上記した従来技術である GLV型スカラー倍演算が適用できる楕円曲 線は特殊なものに限られていた。現在、楕円曲線暗号に用いる楕円曲線はランダム に選択するのが一般的であり、それにより、楕円曲線暗号の安全性が保証されてい る。そのため、上記した GLV型スカラー倍演算を用いて楕円曲線暗号の演算速度を 高速化できても、楕円曲線をランダムに選択することができないため、上記 ICカード 上での暗号演算実行や、ュビキタス環境において使用するには安全性が問題とされ てきた。
[0007] そこで、より広 、範囲の楕円曲線に、上記した従来技術である GLV型スカラー倍演 算を適用することを可能にすることを目的とする。
課題を解決するための手段
[0008] 楕円曲線暗号演算装置は、楕円曲線 Eを示す情報と楕円曲線 E上の点 Pと演算値 Kとを入力して記憶部に記憶する入力部と、記憶部に記憶された楕円曲線 E上の点 Pを読み込んで、楕円曲線 E上の点 Pを、その楕円曲線 Eに対応する代数曲線のヤコ ビ多様体へ写像して楕円曲線 E上の点 Pに対応する代数曲線のヤコビ多様体上の 点を埋め込み点 Dとして求め、埋め込み点 Dを記憶部に記憶する埋め込み演算部と 、記憶部に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様体の準同 型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部に記憶する準同型 写像演算部と、記憶部に記憶された写像点 ε Dを読み込んで、楕円曲線 Εへ写像し て楕円曲線の射影点 P'を求め、射影点 P'を記憶部に記憶する射影演算部と、記憶 部に記憶された演算値 Κと射影点 P'とを読み込んで、演算値 Κと射影点 P'とを用い て計算を行い、計算結果を記憶部に記憶する計算処理部とを備えることとした。 発明の効果
[0009] 楕円曲線暗号演算装置は、楕円曲線 Εを示す情報と楕円曲線 Ε上の点 Ρと演算値 Κとを入力して記憶部に記憶する入力部と、記憶部に記憶された楕円曲線 Ε上の点 Ρを読み込んで、楕円曲線 Ε上の点 Ρを、その楕円曲線 Εに対応する代数曲線のヤコ ビ多様体へ写像して楕円曲線 Ε上の点 Ρに対応する代数曲線のヤコビ多様体上の 点を埋め込み点 Dとして求め、埋め込み点 Dを記憶部に記憶する埋め込み演算部と 、記憶部に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様体の準同 型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部に記憶する準同型 写像演算部と、記憶部に記憶された写像点 ε Dを読み込んで、楕円曲線 Εへ写像し て楕円曲線の射影点 P'を求め、射影点 P'を記憶部に記憶する射影演算部と、記憶 部に記憶された演算値 Κと射影点 P'とを読み込んで、演算値 Κと射影点 P'とを用い て計算を行い、計算結果を記憶部に記憶する計算処理部とを備えることができる。 発明を実施するための最良の形態
[0010] ここでは、楕円曲線暗号演算装置においてスカラー倍演算の高速化を実現する実 施の形態について説明する。なお、この実施の形態では、代数曲線として種数 2超 楕円曲線 Cを用い、準同型写像として効率的に演算可能な準同型写像である 2倍 演算を用いた場合について説明する。
[0011] まず、公開鍵暗号、離散対数問題、楕円曲線暗号および超楕円曲線暗号につい て簡単に説明する。
公開鍵暗号を用いた通信にぉ 、ては、利用者ごとに秘密鍵 Xと公開鍵 yの組が用 意され、秘密鍵 Xは、各利用者が秘密に保持しておく。公開鍵 yは利用者自身以外 の一般に公開する。利用者 Bが利用者 Aに秘密にデータを送りたい時は、利用者 B は利用者 Aの公開鍵 yを用いてデータを暗号ィ匕する。利用者 Aは、自分だけしか知ら ない秘密鍵 Xを用いて暗号ィ匕したデータを復号する。この暗号文は、秘密鍵 Xを知る 利用者 Aにし力復号できな 、。
[0012] 離散対数問題とは代数群 G (加法が定義されているものとする)の 2つの要素 g , g
1 2 に対して、 g =mgを満たすような mを求める問題である。代数群 Gの要素の数が大
1 2
きい場合、多くの離散対数問題を解くことは、計算量的に非常に困難になることが知 られて 、る。この事実を利用して公開鍵暗号を設計することができる。
[0013] 離散対数型公開鍵暗号は多ぐ代数群 Gを定める式と gを公開鍵暗号パラメータと
2
し、 gをその公開鍵、 mをその秘密鍵とする。
[0014] 有限体 GF (qn) (qは素数 pのべき乗)上の種数 g超楕円曲線 Cとは、 y2 + h(x)y=f
(X) (h (x) , f (x)はそれぞれ GF (qn)係数の高々 g次および、 2g+ l次多項式、かつ 、 f (x)は最高次の係数が 1)と表される方程式である。また、超楕円曲線 Cのヤコビ多 様体 (ヤコビアン)の有理点集合には加法が定義され、群となる。特に、種数 gが 1の 時の超楕円曲線を楕円曲線といい、その場合は、楕円曲線自体に加法が定義され ている。これらの群を利用した公開鍵暗号を超楕円曲線暗号 (g= lの時は、楕円曲 線暗号)という。
[0015] つまり、楕円曲線暗号の場合には、方程式 y2+h(x)y=f (X)の係数とその上の点( xO, yO)が楕円曲線暗号パラメータとなり、楕円曲線上の加算に従って計算される (X 1, yl) ( (xl, yl)は、 (xl, yl) =m- (xO, yO)を満たす)がその公開鍵、 mがその 秘密鍵となる。
[0016] また、種数 gの超楕円曲線暗号の場合は、方程式 y2+h (x)y=f )の係数がその 暗号パラメータの一部であることは同様である力 その他に、暗号パラメータとして、 その曲線のヤコビアン上の点(その曲線上の因子類) D1が必要であり、ヤコビアン上 の加算に従って計算される D2 (D2は、 D2=m'Dlを満たす)がその公開鍵、 mがそ の秘密鍵となる。
[0017] 楕円曲線上の点(xO, yO)のスカラー倍数 Kでのスカラー倍演算 Κ· (xO, yO)を計 算する時に、スカラー倍数 Kの値が大きいと、計算に時間がかかってしまう。例えば、 楕円曲線暗号の場合、スカラー倍数 Kに 2進数で 160ビットの値を用いる。ここで、 1 60ビットの各位のビット値を順に楕円曲線暗号パラメータに加算して 、つた場合に、 相当な時間を要することになる。
[0018] GLV型スカラー倍演算では、スカラー倍数 Kを K=k +k φ (又は k +k λ、 は
1 2 1 2 点群上で φが与えるスカラー倍数)と表現し、スカラー倍数 Κによるスカラー倍演算を
、 kと kとのスカラー倍演算に分割することで、 kあるいは kのビット数の計算量で済
1 2 1 2
むことになる。
[0019] 例えば、楕円曲線暗号パラメータである楕円曲線上の点を Pとすれば、スカラー倍 演算は、 KP=k - P+k · λ Ρとなる。予め、 P+ P = Sとすると、所定の位のビット
1 2
値が k = l、k =0であれば、 Pを用いた計算となり、 k =0、k = 1であれば、 λ Ρを
1 2 1 2
用いた計算となり、 k = 1、 k = 1であれば、 Sを用いた計算となり、 k =0、 k =0であ
1 2 1 2 れば、計算が不要となる。したがって、各位について、 Pまたは、 λ Ρまたは、 Sを用い た計算となり、し力も、 kあるいは kのビット数の計算量で済むことになる。例えば、ス
1 2
カラー Kが楕円曲線有理点群の位数 nと同等なビット数を有するとした場合、 kと kと
1 2 のビット数が概ね 近くに小さくなる。すなわち、それだけ、演算回数が減り、演算 速度を高速化させることができる。
[0020] 以上を踏まえた上で、この実施の形態における楕円曲線暗号演算装置の構成を図 1を用いて説明する。
楕円曲線暗号演算装置は、楕円曲線 Eを示す情報と楕円曲線 E上の点 Pと演算値 Kとを入力して記憶部 1に記憶する入力部 2と、記憶部 1に記憶された楕円曲線 E上 の点 Pを読み込んで、楕円曲線 E上の点 Pを、その楕円曲線 Eに対応する代数曲線 のヤコビ多様体へ写像して楕円曲線 E上の点 Pに対応する代数曲線のヤコビ多様体 上の点を埋め込み点 Dとして求め、埋め込み点 Dを記憶部 1に記憶する埋め込み演 算部 3と、記憶部 1に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様 体の準同型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部 1に記憶 する準同型写像演算部 4と、記憶部 1に記憶された写像点 ε Dを読み込んで、楕円 曲線 Εへ写像して楕円曲線の射影点 P'を求め、射影点 P'を記憶部 1に記憶する射 影演算部 5と、記憶部 1に記憶された演算値 Κと射影点 P'とを読み込んで、演算値 Κ と射影点 P'とを用いて計算を行い、計算結果を記憶部 1に記憶する計算処理部 6と を備える。
[0021] また、楕円曲線暗号演算装置は、さらに、代数曲線を選択して記憶部 1に設定する とともに、楕円曲線 E上の点 Pを、代数曲線のヤコビ多様体へ写像するためのパラメ ータを記憶部 1に設定する初期設定部 7を備える。また、楕円曲線暗号演算装置は、 スカラー倍演算した結果を出力する出力部 8とスカラー倍演算を制御する CPU (Cen tral Processing UnitJ 9とを備; ^る。
[0022] ここで、演算値 Kはスカラー倍数 Kのことである。以後、同様にスカラー倍数 Kを演 算値 Kと記載することもある。また、ここでは代数曲線には種数 2超楕円曲線を用いる 。この楕円曲線暗号演算装置では、入力部 2から入力したスカラー倍数 Kのスカラー 倍演算を行う。その際、種数 2超楕円曲線 Cのヤコビ多様体上の演算を利用する。ま た、楕円曲線暗号演算装置の準同型写像演算部 4では、種数 2超楕円曲線 Cのヤコ ビ多様体の点を 2倍する演算を行う。
[0023] 記憶部 1は、楕円曲線暗号演算装置がスカラー倍演算を行う過程で利用する各値 を記憶する。
[0024] 入力部 2は、楕円曲線 Eの式とその式を規定するパラメータとを入力する。また、楕 円曲線 E上の点 P (z、 t)とスカラー倍数 Kとを入力する。
[0025] 入力部 2からは、楕円曲線 Εを示す情報として 2捩れ点を有する楕円曲線を示す情 報を入力するか、または、楕円曲線 Εを示す情報として位数が素数になっている位数 素数の楕円曲線を示す情報を入力することができる。
[0026] しかし、ここでは入力する楕円曲線 Εの式とその式を規定するパラメータを以下のよ うに定める。
楕円曲線 Εは、位数 2の有理点を含む楕円曲線を(1)式で示される楕円曲線 (非特 許文献 4を参照)に変換することにより定められる。
[0027] [数 1] ( 1 )
Figure imgf000008_0001
[0028] ここで、丁と aと Uとは楕円曲線を規定するパラメータである。
[0029] (1)式で示される楕円曲線は、 2捩れ点 (一 1, 0)を任意の素体に対して有するもの である。
[0030] 位数 2の有理点を含む楕円曲線は、有限体 GF (q)の要素 δ、 a、 bによって決まる 楕円曲線 T2= (Ζ- δ ) (Z2 + aZ + b)について、 s= (7 δ 2 + 3a δ— a2 + 3b) / ( δ 2 + a δ +b)としたときに決まる新しい楕円曲線 T2 = Z3 + sZ2 + sZ+ lである。
[0031] この新しぃ楕円曲線丁2=23+ 322+ 32+ 1と、(1)式とがー致するように U、 α、 Δ 、 Wの値を定める。この U、 α、 Δ、 Wが楕円曲線 Εのパラメータであり、これらの値で 定まる(1)式が楕円曲線暗号演算装置で用いる楕円曲線 Εとなる。よって、入力部 2 から、楕円曲線の式である(1)式と(1)式のパラメータである U、 α、 A、Wとを楕円 曲線 Eを示す情報として入力する。
[0032] 初期設定部 7は、代数曲線として、超楕円曲線を選択することができ、例えば、楕 円曲線暗号演算装置の初期設定部 7は、代数曲線として、種数 2超楕円曲線 Cを選 択することができる。
[0033] ここでは、初期設定部 7は、代数曲線として種数 2超楕円曲線 Cを選択するものとす る。
[0034] 埋め込み演算部 3は、楕円曲線 E力 種数 2超楕円曲線 Cのヤコビ多様体への埋 め込みを行う。具体的には、楕円曲線 E上の点 Pを、その楕円曲線 Eに対応する種数 2超楕円曲線 Cのヤコビ多様体へ写像して、楕円曲線 E上の点 Pに対応する種数 2超 楕円曲線 Cのヤコビ多様体上の点を埋め込み点 Dとして求める。
[0035] 準同型写像演算部 4は、埋め込み点 Dから種数 2超楕円曲線 Cのヤコビ多様体の 準同型写像による写像をして写像点 ε Dを求める。
[0036] 射影演算部 5は、種数 2超楕円曲線 Cのヤコビ多様体力 楕円曲線への写像を行う 。具体的には、写像点 ε Dを楕円曲線 Εへ写像して楕円曲線の射影点 P'を求める。
[0037] 計算処理部 6は、スカラー倍数 Κと射影点 P'とから GLV型スカラー倍演算を用いて スカラー倍演算を行う。
[0038] 次に、楕円曲線暗号演算装置でスカラー倍演算を行う動作について説明する。
楕円曲線を用いた演算装置の演算方法は、楕円曲線 Εを示す情報と楕円曲線 Ε上 の点 Ρと演算値 Κとを入力して記憶部 1に記憶し、記憶部 1に記憶された楕円曲線 Ε 上の点 Ρを読み込んで、楕円曲線 Ε上の点 Ρを、その楕円曲線 Εに対応する代数曲 線のヤコビ多様体へ写像して楕円曲線 Ε上の点 Ρに対応する代数曲線のヤコビ多様 体上の点を埋め込み点 Dとして求め、埋め込み点 Dを記憶部 1に記憶し、記憶部 1に 記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様体の準同型写像に よる写像をして写像点 ε Dを求め、写像点 ε Dを記憶部 1に記憶し、記憶部 1に記憶 された写像点 ε Dを読み込んで、楕円曲線 Εへ写像して楕円曲線 Ε上の射影点 P'を 求め、射影点 Ρ 'を記憶部 1に記憶し、記憶部 1に記憶された演算値 Κと射影点 Ρ 'と を読み込んで、演算値 Κと射影点 P'とを用いて計算を行い、計算結果を記憶部 1に feす ο
[0039] 楕円曲線暗号演算装置でのスカラー倍演算の動作を図 2に示すフローチャートを 用いて説明する。
まず、入力部 2は楕円曲線 Εの式を設定し、その式のパラメータである U、 a、 Wを入力する。また、楕円曲線 E上の点 P (z、 t)とスカラー倍数 Kとを入力する。入力 した楕円曲線 Eの式とパラメータ U、 a、 Δ、 Wと楕円曲線 E上の点 P (z、 t)とスカラー 倍数 Kは、記憶部 1に記憶される (ステップ S 100)。
[0040] 次に、初期設定部 7は、記憶部 1から楕円曲線 Eを読み出し、以下に示す(2)式で 定まる種数 2超楕円曲線 Cのヤコビ多様体に埋め込む処理を行う(ステップ S 101)。
[0041] [数 2]
Y2 - a2X - (ひ " ")) ( 2 )
Figure imgf000009_0001
ここで、 a 、 a はXの2次方程式X + ( (W(U—2) (U + 2) + 32)Z(4U) ) X+W
1 2
=0の 2根である。また、丁と aと Uとは楕円曲線を規定するパラメータ、 Xと Yは変数 である。
[0043] 初期設定部 7による楕円曲線 Eの種数 2超楕円曲線 Cのヤコビ多様体への埋め込 みは、楕円曲線 Eを種数 2超楕円曲線 Cのヤコビ多様体へ写像するパラメータを設定 すること〖こより行われる。このパラメータは、用いる楕円曲線 Eを変更しない限り、楕円 曲線暗号演算装置に一度設定すれば、演算を行う都度設定する必要がなぐ継続し て利用することができる。したがって、ステップ S101は、次回から実行されなくてもよ い。
[0044] 次に、埋め込み演算部 3は、楕円曲線 E上の点 P= (z、 t)を種数 2超楕円曲線じの ヤコビ多様体の点 Dに写像する演算 (埋め込み演算)を行う (ステップ S102)。
[0045] ここでは埋め込み演算部 3は、楕円曲線 E上の点 P (z、 t)力も代数曲線のヤコビ多 様体の埋め込み点 D (x、 y)を求める楕円曲線 Eが埋め込まれた代数曲線のヤコビ 多様体への写像を (3)式と (4)式の関係式で定める。
[0046] [数 3] x + - 1
[0047] [数 4] t
Figure imgf000010_0001
[0048] ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円曲 線 Cのヤコビ多様体の点の y座標、 zは楕円曲線 E上の点 Pの X座標、 tは楕円曲線 E 上の点 Pの y座標、 aと Uとは楕円曲線 Eを規定するパラメータである。
[0049] 埋め込み演算部 3の動作を図 3に示すフローチャートを用いて説明する。
埋め込み演算部 3は、記憶部 1から楕円曲線 E上の点 P= (z、 t)を読み出す (ステツ プ S300)。次に、楕円曲線 E上の点 Pの X座標である zの有限体 GF (q)内での平方 根を rとし、 (2( t)、 2(1ΖΛ tZr3) )を楕円曲線の積 E X E上の点として、その楕 円曲線の積 E X E上の点に種数 2超楕円曲線 Cのヤコビ多様体の点 D= (x、 y)— (x 、 一 y)を対応させる (ステップ S 301)。ここで、 x、 yは(5)式と(6)式で定める。 [0050] [数 5]
[a - l)z + +1 ,「、
x=- '- (5)
-oz +1
[0051] 園 、
y (6)
Figure imgf000011_0001
[0052] ここで、 aと Uとは楕円曲線 Eを規定するパラメータである。
[0053] 次に、点 D= (x、 y)— (x、 一 y)を 2次多項式 U(x)と 1次多項式 V(x)の対として表し
、 U (X)と V (X)の対を記憶部 1に記憶する (ステップ S302)。
[0054] 以上、ステップ S300からステップ S302までが埋め込み演算部 3での動作である。
[0055] 図 2に戻って楕円曲線暗号演算装置におけるスカラー倍演算の動作の説明を続け る。
次に、準同型写像演算部 4は、代数曲線である種数 2超楕円曲線 Cのヤコビ多様 体の点 Dを 2倍して写像点 ε Dを求める。
[0056] つまり、準同型写像演算部 4は、代数曲線として種数 2超楕円曲線 Cを用い、種数 2 超楕円曲線 Cのヤコビ多様体の点 Dを 2倍する演算を行い写像点 ε Dを得る (ステ ップ S 103)。
[0057] 準同型写像演算部 4は、代数曲線のヤコビ多様体の準同型写像として、代数曲線 のヤコビ多様体力も代数曲線の Richelot双対曲線のヤコビ多様体への準同型写像 と、代数曲線の Richelot双対曲線のヤコビ多様体力 代数曲線のヤコビ多様体へ の準同型写像との合成で決まる代数曲線のヤコビ多様体上の自己準同型写像を用 いる。
[0058] 前者の代数曲線のヤコビ多様体力 代数曲線の Richelot双対曲線のヤコビ多様 体への準同型写像は、代数曲線が種数 2超楕円曲線 Cである場合、(7)式と (8)式 で定まる。
[0059] G (x)H (z)+G (x)H (z) =0 (7)
1 1 2 2
[0060] yt = AG (x)H (z ) (x— z ) (8)
k 1 l k k ただし、 k=l、 2
[0061] ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円曲 線 Cのヤコビ多様体の点の y座標、 zは代数曲線のヤコビ多様体の点の X座標、 G1と G2とは種数 2超楕円曲線 Cを定義する関数、 HIと H2とは種数 2超楕円曲線 Cの Ri chelot双対曲線を定義する関数、 zは zに関する(1)式の零点、 tは各 zについて( k k k
2)式により定まる値、 AG1は tを定義する関数である。
k
[0062] また、後者の代数曲線の Richelot双対曲線のヤコビ多様体力 代数曲線のヤコビ 多様体への準同型写像は、代数曲線が種数 2超楕円曲線 Cである場合、(9)式で定 める。
[0063] (x、y)→(2Zx、(4y)Zx3) (9)
[0064] ここで、 Xは種数 2超楕円曲線 Cのヤコビ多様体の点の X座標、 yは種数 2超楕円曲 線 Cのヤコビ多様体の点の y座標、→は写像を示す記号である。
[0065] 準同型写像演算部 4で用いる準同型写像について具体的に説明する。
種数 2超楕円曲線 Cを Y2=AG (X)G (X)G (X)と 2次式の積で表し、 G (X) =
0 1 2 i
∑g Xj(i=0, 1, 2)とした時、(10)式により種数 2超楕円曲線 Cの Richelot双対曲 ,
線が定義される。
[0066] det(g )Τ2=ΔΗ (Ζ)Η (Ζ)Η (Ζ) (10)
i, j 0 1 2
[0067] ここで、 H (Z)=G, (Z)G (Z)— G, (Z)G (Z)とする。また、 G'は多項式 i i +1 i + 2 i + 2 i+1
Gを Zで微分した多項式を表す。
[0068] これにより、種数 2超楕円曲線 Cのヤコビ多様体力も種数 2超楕円曲線 Cの Richelo t双対曲線のヤコビ多様体への準同型写像 pは、(11)式のように定められる。
[0069] [(x、y)— P ]→[(z、t )— (z、 一 t )] (11)
0 1 1 2 2
[0070] ここで、 Pは Gの零点を x座標とし、 y座標は 0である種数 2超楕円曲線 C上の点で
0 0
ある。 z (k=l, 2)は zに関する(12)式で示される 2次多項式の零点とする。
k
[0071] G (x)H (z)+G (x)H (z) (12)
1 1 2 2
[0072] 各 zに対して tを t二(AG (x)H (z ) (x— z;)) Zyで定める。
k k k 1 l k k
[0073] 以上、前者の種数 2超楕円曲線 Cのヤコビ多様体力も種数 2超楕円曲線 Cの Riche lot双対曲線のヤコビ多様体への準同型写像について説明した。 [0074] また、この時、種数 2超楕円曲線 Cの 2乗法写像 εは± t— 1 pで与えられる。ここ で tは、(9)式で定義される種数 2超楕円曲線 C力も種数 2超楕円曲線 Cの Richelo t双対曲線への同型写像であり、 I— 1が、後者の種数 2超楕円曲線 Cの Richelot双 対曲線のヤコビ多様体力 種数 2超楕円曲線 Cのヤコビ多様体への準同型写像とな る。
[0075] 準同型写像演算部 4での動作を図 4に示すフローチャートを用いて説明する。
まず、準同型写像演算部 4は記憶部 1から埋め込み演算部 3が生成した U(x)と V(
X)の対を読み出し、これを種数 2超楕円曲線 C上の 0次因子の点 D= (x、 y)-(x\y
')とする (ステップ S 200)。
[0076] 次に、準同型写像演算部 4は、(x、 y)から、 G (x)H (z) +G (x)H (z) =0を満
1 1 2 2
たす z (k=l, 2)について、 t = AG (x)H (z ) (x-z )となる tを定める。同様に、( k k I l k k k
x,、y,)から、 G (x)H (z)+G (x)H (z)=0を満たす z, (k=l, 2)について、 t,
1 1 2 2 k k 二 AG (x)H (z ) (x— z )となる t,を定める(ステップ S 201)。
1 l k k k
[0077] 次に、準同型写像演算部 4は、 ((z 、 t ) + (z 、 t ))一((z, ゝ t, ) + (ζ' ゝ t, ))と
1 1 2 2 1 1 2 2 いう 0次因子を表す 2次多項式 U (z)と 1次多項式 V (z)とを計算する (ステップ S20
0 0
2)。これが Richelot双対曲線上の因子となる。
[0078] 次に、準同型写像演算部 4は、 Richelot双対曲線力も Cへの写像である(x、 y)→ ( 2/x、(4y)/x3)から決まるヤコビ多様体間の写像によって、 U (z)、V (z)を U(z)
0 0
、 V(z)に変換し (ステップ S203)、 U(z)、 V(z)を記憶部 1に記憶する (ステップ S20 4)。
[0079] 以上、ステップ S200からステップ S204までが準同型写像演算部 4での動作である
[0080] 図 2に戻って楕円曲線暗号演算装置におけるスカラー倍演算の動作の説明を続け る。
次に、射影演算部 5は、種数 2超楕円曲線 Cのヤコビ多様体の点 ε D= (x、 y)-(x '、 y' )を楕円曲線上の点 P'に写像する演算 (射影演算)を行う (ステップ S104)。
[0081] 射影演算部 5は、射影点 ε D= (x、 y)— (χ'、 y )から楕円曲線 E上の射影点 P' (z 、 t)を求める楕円曲線 Eへの写像を( 13)式と( 14)式との関係式で定める。 [0082] [数 7]
(13)
coc + a-.
[0083] [数 8]
Figure imgf000014_0001
[0084] ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円曲 線 Cのヤコビ多様体の点の y座標、 zは楕円曲線 E上の点 Pの X座標、 tは楕円曲線 E 上の点 Pの y座標、 aと Uとは楕円曲線 Eを規定するパラメータである。
[0085] 同様に、射影演算部 5では、 z'、 t 'を以下に示す(15)式と(16)式との関係式で定 める。
[0086] [数 9]
(1 5)
ax +a
[0087] [数 10] t, 32 (ひ3一 8t/2 4 2 + 4t/ - 2θ) ( l g)
Figure imgf000014_0002
[0088] ここで、 x'は種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 y'は種数 2超楕円 曲線 Cのヤコビ多様体の点の y座標、 z,は楕円曲線 E上の点 Pの X座標、 t,は楕円曲 線 E上の点 Pの y座標、 aと Uとは楕円曲線 Eを規定するパラメータである。
[0089] そして、(z2、t)— (z,2、t,)で与えられる楕円曲線 E上の点 P,を対応させる。
[0090] 射影演算部 5での動作を図 5に示すフローチャートを用いて説明する。
射影演算部 5は、準同型写像演算部 4で生成した U(z)、 V(z)を記憶部 1から読み 出し、種数 2超楕円曲線 Cのヤコビ多様体の点 (x、 y)-(x'、 y')とする (ステップ S40 0)。
[0091] 次に、射影演算部 5は、 z、 t、 z'、 t 'を上記した(14)式一(17)式で求め、(z2、 t)
(ζ' 2、 t' )で与えられる楕円曲線 E上の点 P'を得る (ステップ S401)。
[0092] 次に、射影演算部 5は、得られた楕円曲線 E上の点 P'を記憶部 1に記憶する (ステ ップ S402)。
[0093] 以上、ステップ S400からステップ S402までが射影演算部 5での動作である。
[0094] 図 2に戻って楕円曲線暗号演算装置におけるスカラー倍演算の動作の説明を続け る。
計算処理部 6は、ステップ S 100からステップ S104を行った後、記憶部 1から楕円 曲線 E上の点 P'を読み出し、上記した GLV型スカラー倍演算を用いて、楕円曲線 E 上の点 P,のスカラー倍数 Kでのスカラー倍演算を行い、 KP,を得る(ステップ S 105) 。そして、計算により得た KP'を出力する (ステップ S106)。
[0095] 以上、この実施形態における楕円曲線暗号演算装置でのスカラー倍演算の方法を まとめる。まず、埋め込み演算部 3により、楕円曲線 E上の点 Pを種数 2超楕円曲線 C のヤコビ多様体の点 Dに変換する。次に、準同型写像演算部 4により、 2乗法写像 εを用いて ε Dを計算し、射影演算部 5により、 ε Dカゝら楕円曲線 Ε上の点を得る。こ こでは、その点を φ (Ρ)と書くことにする。最後に、 φ (Ρ)を特殊準同型に用いて GL V型スカラー倍演算を行うことにより、スカラー倍数 Κでのスカラー倍演算を実現でき る。
[0096] 上記したスカラー倍演算は、その方法をプログラムで記述することによりコンビユー タに実行させることができる。
具体的には、楕円曲線 Ε上の点 Ρのスカラー倍 (Κ倍)演算をコンピュータに実行さ せるプログラムは、楕円曲線 Ε上の点 Ρを種数 2超楕円曲線 Cのヤコビ多様体上の点 Dに変換し、点 Dに対して、種数 2超楕円曲線 Cのヤコビ多様体の準同型写像による 写像をして写像点 ε Dを求め、写像点 ε Dを楕円曲線 Ε上へ写像して楕円曲線の射 影点 P'を求め、
演算値 Κと射影点 P'とを読み込んで、射影点 P'を Κ倍する計算を行い、計算結果を 出力する。 [0097] この実施の形態によれば楕円曲線暗号演算装置は、楕円曲線 Eを示す情報と楕円 曲線 E上の点 Pと演算値 Kとを入力して記憶部に記憶する入力部と、記憶部に記憶さ れた楕円曲線 E上の点 Pを読み込んで、楕円曲線 E上の点 Pを、その楕円曲線 Eに 対応する代数曲線のヤコビ多様体へ写像して楕円曲線 E上の点 Pに対応する代数 曲線のヤコビ多様体上の点を埋め込み点 Dとして求め、埋め込み点 Dを記憶部に記 憶する埋め込み演算部と、記憶部に記憶された埋め込み点 Dを読み込んで、代数曲 線のヤコビ多様体の準同型写像による写像をして写像点 ε Dを求め、写像点 ε Dを 記憶部に記憶する準同型写像演算部と、記憶部に記憶された写像点 ε Dを読み込 んで、楕円曲線 Εへ写像して楕円曲線の射影点 P 'を求め、射影点 P 'を記憶部に記 憶する射影演算部と、記憶部に記憶された演算値 Κと射影点 P 'とを読み込んで、演 算値 Κと射影点 P 'とを用いて計算を行い、計算結果を記憶部に記憶する計算処理 部とを備えるので、楕円曲線暗号で行うスカラー倍演算を従来より速い処理速度で 実行することが可能となる。
[0098] この実施の形態によれば楕円曲線暗号演算装置は、さらに、代数曲線を選択して 記憶部に設定するとともに、楕円曲線 Ε上の点 Ρを、代数曲線のヤコビ多様体へ写像 するためのパラメータを記憶部に設定する初期設定部を備えるので、用いる楕円曲 線を変更することができ、多様な楕円曲線で楕円曲線暗号を実行することが可能とな る。その結果、楕円曲線暗号演算装置で実行する楕円曲線暗号の安全性を向上さ せることができる。
[0099] この実施の形態によれば楕円曲線暗号演算装置の初期設定部は、代数曲線とし て超楕円曲線を選択し、さらに、代数曲線として種数 2超楕円曲線 Cを選択するので 、楕円曲線 Ε上の点 Ρの種数 2超楕円曲線 Cのヤコビ多様体への写像を行うことによ り、従来より速い処理速度で楕円曲線暗号で行うスカラー倍演算を実行することが可 能となる。
[0100] この実施の形態によれば楕円曲線暗号演算装置の準同型写像演算部は、代数曲 線のヤコビ多様体の点 Dを 2倍して写像点 ε Dを求めるので、 2倍して写像を行 う効率的に計算可能な準同型写像を利用することが可能となる。
[0101] この実施の形態によれば楕円曲線暗号演算装置の入力部は、楕円曲線 Εを示す 情報として 2捩れ点を有する楕円曲線を示す情報を入力するので、または、位数が 素数になっている位数素数の楕円曲線を示す情報を入力するので、楕円曲線 E上 の点 Pの種数 2超楕円曲線 Cのヤコビ多様体への写像を利用した従来より速 、処理 の速 、スカラー倍演算を実行することが可能となる。
[0102] この実施の形態によれば楕円曲線暗号演算装置の準同型写像演算部は、代数曲 線のヤコビ多様体の準同型写像として、代数曲線のヤコビ多様体力 代数曲線の Ri chelot双対曲線のヤコビ多様体への準同型写像と、代数曲線の Richelot双対曲線 のヤコビ多様体力 代数曲線のヤコビ多様体への準同型写像との合成で決まる代数 曲線のヤコビ多様体上の自己準同型写像を用いるので、この代数曲線のヤコビ多様 体上の自己準同型写像をスカラー倍演算を効率的に計算することが可能な準同型 写像として用いることができる。
[0103] この実施の形態によれば楕円曲線暗号演算装置の準同型写像演算部で用いる代 数曲線のヤコビ多様体力 代数曲線の Richelot双対曲線のヤコビ多様体への準同 型写像は、代数曲線が種数 2超楕円曲線 Cである場合、上記した (7)式と (8)式とで 定まり、また、楕円曲線暗号演算装置の準同型写像演算部で用いる代数曲線の Ric helot双対曲線のヤコビ多様体力 代数曲線のヤコビ多様体への準同型写像は、代 数曲線が種数 2超楕円曲線 Cである場合、上記した(9)式で定まるので、これらを合 成した写像である代数曲線のヤコビ多様体上の自己準同型写像をスカラー倍演算を 効率的に計算することが可能な準同型写像として用いることができる。
[0104] この実施の形態によれば楕円曲線暗号演算装置の埋め込み演算部は、楕円曲線 E上の点 P (z、 t)力も代数曲線のヤコビ多様体の埋め込み点 D (x、 y)を求める楕円 曲線 Eが埋め込まれた代数曲線のヤコビ多様体への写像を上記した(3)式と (4)式 との関係式で定めるので、楕円曲線 E上の点 Pを代数曲線のヤコビ多様体の点 Dへ 写像することができる。
[0105] この実施の形態によれば楕円曲線暗号演算装置の射影演算部は、射影点 ε D (χ 、 y)から楕円曲線 Ε上の射影点 P ' (z、 t)を求める楕円曲線 Εへの写像を上記した(1 3)式一(16)式との関係式で定めるので、代数曲線のヤコビ多様体の点 ε Dを楕円 曲線上の点 P 'に写像することができる。 [0106] この実施の形態によれば楕円曲線を用いた演算装置の演算方法として、楕円曲線 Eを示す情報と楕円曲線 E上の点 Pと演算値 Kとを入力して記憶部に記憶し、記憶部 に記憶された楕円曲線 E上の点 Pを読み込んで、楕円曲線 E上の点 Pを、その楕円 曲線 Eに対応する代数曲線のヤコビ多様体へ写像して楕円曲線 E上の点 Pに対応す る代数曲線のヤコビ多様体上の点を埋め込み点 Dとして求め、埋め込み点 Dを記憶 部に記憶し、記憶部に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多 様体の準同型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部に記憶 し、記憶部に記憶された写像点 ε Dを読み込んで、楕円曲線 Εへ写像して楕円曲線 Ε上の射影点 P'を求め、射影点 P'を記憶部に記憶し、記憶部に記憶された演算値 Κと射影点 P'とを読み込んで、演算値 Κと射影点 P'とを用いて計算を行い、計算結 果を記憶部に記憶するので、楕円曲線暗号で行うスカラー倍演算を従来より速い処 理速度で実行することが可能となる。
[0107] この実施の形態によれば楕円曲線 Ε上の点 Ρを種数 2超楕円曲線 Cのヤコビ多様 体上の点 Dに変換し、点 Dに対して、種数 2超楕円曲線 Cのヤコビ多様体の準同型 写像による写像をして写像点 ε Dを求め、写像点 ε Dを楕円曲線 Ε上へ写像して楕 円曲線の射影点 P'を求め、演算値 Κと射影点 P'とを読み込んで、射影点 P'を Κ倍 する計算を行い、計算結果を出力することをプログラムに記載するので、楕円曲線 Ε 上の点 Ρのスカラー倍 (Κ倍)演算をコンピュータに実行させることができる。
[0108] この実施の形態によれば、従来の方法では、力なり特殊なタイプの楕円曲線 Εにし か適用することができな力つた楕円曲線暗号でのスカラー倍演算の高速ィ匕手法であ る GLV型スカラー倍演算を、力なり一般な楕円曲線 Εに適用することができるように なり、これにより楕円曲線暗号の安全性を実用上十分に保証されるようにした。
[0109] 以上、実施の形態について説明した。
なお、楕円曲線暗号演算装置は、楕円曲線をある種数 2超楕円曲線 Cのヤコビ多 様体に埋め込む演算部と、楕円曲線上の点を種数 2超楕円曲線 Cのヤコビ多様体の 点に写像する演算 (埋め込み演算)を行う演算部と、種数 2超楕円曲線 Cのヤコビ多 様体の点を 2倍する演算を行う演算部と、種数 2超楕円曲線 Cのヤコビ多様体の点 を楕円曲線上の点に写像する演算 (射影演算)を行う演算部とを備えたことを特徴と する。ここで、 2倍演算とは、非特許文献 4で記述された 2度行うと 2倍写像になる演 算である。
[0110] また、楕円曲線暗号演算装置は、特殊準同型写像 φとして、次式で定まる Cのヤコ ビ多様体力も Cの Richelot双対曲線のヤコビ多様体への準同型写像と、
G (x)H (z) +G (x)H (z) =0、 yt = AG (x)H (z ) (x— z )
1 1 2 2 k l l k k
次式で定まる Cの Richelot双対曲線のヤコビ多様体力 Cのヤコビ多様体への準 同型写像と、
(x、y)→(2/x、 (4y)/x3)
の合成で決まる種数 2超楕円曲線 Cのヤコビ多様体上の自己準同型写像を用いるこ とを特徴とする。
[0111] 楕円曲線暗号演算装置では、楕円曲線 E力 種数 2超楕円曲線 Cのヤコビ多様体 への写像、種数 2超楕円曲線 Cのヤコビ多様体力 楕円曲線 Eへの写像が、楕円曲 線上の点(z、 t)と種数 2超楕円曲線 Cの点 (x、 y)の間の以下に示す関係式から定ま ることを特徴とする。
ζ=(χ— α— 1)/ ( αχ+ α— 1)
t = 32y(U3-8U2 + 4U + 32+ a (U— 4) (U2 + 4U~20) ) / ( (U~2) ( a x+ a— l))3
[0112] また、プログラムにより楕円曲線暗号演算装置の楕円曲線をある種数 2超楕円曲線 Cのヤコビ多様体に埋め込む演算部と、楕円曲線上の点を種数 2超楕円曲線 Cのャ コビ多様体の点に写像する演算 (埋め込み演算)を行う演算部と、種数 2超楕円曲線 Cのヤコビ多様体の点を 2倍する演算を行う演算部と、種数 2超楕円曲線 Cのヤコ ビ多様体の点を楕円曲線上の点に写像する演算 (射影演算)を行う演算部とを用い る演算処理をコンピュータに実行させる。ここで、 2倍演算とは、非特許文献 4で記 述された 2度行うと 2倍写像になる演算である。
[0113] また、プログラムにより楕円曲線暗号演算装置の特殊準同型写像 φとして、次式で 定まる Cのヤコビ多様体力も Cの Richelot双対曲線のヤコビ多様体への準同型写像 と、
G (x)H (z)+G (x)H (z)=0 yt = A G (x) H (z ) (x-z )
k 1 l k k
次式で定まる Cの Richelot双対曲線のヤコビ多様体力 Cのヤコビ多様体への準 同型写像、
(x、 y)→(2Zx、 (4y) /x3)
の合成で決まる種数 2超楕円曲線 Cのヤコビ多様体上の自己準同型写像を用いる演 算処理をコンピュータに実行させる。
[0114] また、プログラムにより楕円曲線暗号演算装置の楕円曲線 E力 種数 2超楕円曲線 Cのヤコビ多様体への写像、種数 2超楕円曲線 Cのヤコビ多様体力 楕円曲線 Eへ の写像が、楕円曲線上の点 (z、 t)と種数 2超楕円曲線 Cの点 (x、 y)の間の以下に示 す関係式力 定まる演算処理をコンピュータに実行させる。
ζ= (χ— α— 1) / ( α χ+ α— 1)
t = 32y (U3-8U2 + 4U + 32+ a (U— 4) (U2 + 4U~20) ) / ( (U~2) ( a x+ a— l) ) 3
[0115] 以上、実施の形態において述べた楕円曲線暗号演算装置は、コンピュータにより 実現することができる。図 6は、実施の形態における楕円曲線暗号演算装置をコンビ ユータにより実現した場合のハードウェア構成を示す図である。
[0116] 図 6において楕円曲線暗号演算装置は、プログラムを実行する CPU (Central Pr ocessing Unit) 911を備えて!/、る。 CPU911は、ノ ス 912を介して ROM (Read Only Memory) 913、 RAM (Random Access Memory) 914、通信ボード 91 5、表示装置 901、キーボード(KZB) 902、マウス 903、 FDD (Flexible Disk Dr ive) 904、磁気ディスク装置 920、 CDD (Compact Disk Drive) 905、プリンタ装 置 906、スキャナ装置 907と接続されている。
[0117] RAM914は、揮発性メモリの一例である。 ROM913、 FDD904、 CDD905、磁 気ディスク装置 920、光ディスク装置は、不揮発性メモリの一例である。これらは、記 憶装置あるいは記憶部の一例である。
[0118] 磁気ディスク装置 920には、オペレーティングシステム(OS) 921、ウィンドウシステ ム 922、プログラム群 923、ファイル群 924が記憶されている。プログラム群 923は、 C PU911、 OS921、ウィンドウシステム 922により実行される。 [0119] プログラム群 923には、上記した実施の形態の説明において「一部」として説明した 機能を実行するプログラムが記憶されている。プログラムは、 CPU911により読み出 され実行される。
[0120] 上記した実施の形態の説明にお!/、て説明するフローチャートの矢印の部分は主と してデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装 置 920、 FD (Flexible Disk)、光ディスク、 CD (Compact Disk)、 MD (Mini Di sk)、 DVD (Digital Versatile Disk)等のその他の記録媒体に記録される。ある いは、信号線やその他の伝送媒体により伝送される。
[0121] 上記した実施の形態の説明において「一部」として説明するものは、 ROM913に記 憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あ るいは、ハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さら には、ファームウェアとの組み合わせで実施されても構わな!/、。
[0122] 上記した実施の形態を実施するプログラムは、また、磁気ディスク装置 920、 FD (F1 exible Disk)、光ディスク、 CD (Compact Disk)、 MD (Mini Disk)、 DVD (Di gital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶され ても構わない。
図面の簡単な説明
[0123] [図 1]実施の形態における楕円曲線暗号演算装置の構成を示す図である。
[図 2]実施の形態における楕円曲線暗号演算装置でのスカラー倍演算の動作を示す フローチャートである。
[図 3]実施の形態における楕円曲線暗号演算装置の埋め込み演算部の動作を示す フローチャートである。
[図 4]実施の形態における楕円曲線暗号演算装置の準同型写像演算部の動作を示 すフローチャートである。
[図 5]実施の形態における楕円曲線暗号演算装置の射影演算部の動作を示すフロ 一チャートである。
[図 6]実施の形態における楕円曲線暗号演算装置をコンピュータにより実現した場合 のハードウェア構成を示す図である。 符号の説明
1 記憶部、 2 入力部、 3 埋め込み演算部、 4 準同型写像演算部、 5 射影演算 部、 6 計算処理部、 7 初期設定部、 901 表示装置、 902 キーボード (KZB)、 9 03 マウス、 904 FDD, 905 CDD、 906 プリンタ装置、 907 スキャナ装置、 91 1 CPU, 912 ノ ス、 913 ROM, 914 RAM, 915 通信ボード、 920 磁気ディ スク装置、 921 OS、 922 ウィンドウシステム、 923 プログラム群、 924 フアイノレ群

Claims

請求の範囲
[1] 楕円曲線 Eを示す情報と楕円曲線 E上の点 Pと演算値 Kとを入力して記憶部に記 憶する入力部と、
記憶部に記憶された楕円曲線 Ε上の点 Ρを読み込んで、楕円曲線 Ε上の点 Ρを、そ の楕円曲線 Εに対応する代数曲線のヤコビ多様体へ写像して楕円曲線 Ε上の点 Ρに 対応する代数曲線のヤコビ多様体上の点を埋め込み点 Dとして求め、埋め込み点 D を記憶部に記憶する埋め込み演算部と、
記憶部に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様体の準同 型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部に記憶する準同型 写像演算部と、
記憶部に記憶された写像点 ε Dを読み込んで、楕円曲線 Εへ写像して楕円曲線の 射影点 P 'を求め、射影点 P 'を記憶部に記憶する射影演算部と、
記憶部に記憶された演算値 Κと射影点 P 'とを読み込んで、演算値 Κと射影点 P 'と を用いて計算を行い、計算結果を記憶部に記憶する計算処理部と
を備えたことを特徴とする楕円曲線暗号演算装置。
[2] 上記楕円曲線暗号演算装置は、さらに、
代数曲線を選択して記憶部に設定するとともに、楕円曲線 Ε上の点 Ρを、代数曲線 のヤコビ多様体へ写像するためのパラメータを記憶部に設定する初期設定部を備え たこと
を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[3] 上記初期設定部は、
代数曲線として、超楕円曲線を選択すること
を特徴とする請求項 2記載の楕円曲線暗号演算装置。
[4] 上記初期設定部は、
代数曲線として、種数 2超楕円曲線 Cを選択すること
を特徴とする請求項 2記載の楕円曲線暗号演算装置。
[5] 上記準同型写像演算部は、
代数曲線のヤコビ多様体の点 Dを 2倍して写像点 ε Dを求めること を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[6] 上記入力部は、
楕円曲線 Eを示す情報として 2捩れ点を有する楕円曲線を示す情報を入力すること を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[7] 上記入力部は、
楕円曲線 Eを示す情報として、位数が素数になっている位数素数の楕円曲線を示 す情報を入力すること
を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[8] 上記準同型写像演算部は、
上記代数曲線のヤコビ多様体の準同型写像として、
代数曲線のヤコビ多様体力 代数曲線の Richelot双対曲線のヤコビ多様体への 準同型写像と、代数曲線の Richelot双対曲線のヤコビ多様体力も代数曲線のヤコ ビ多様体への準同型写像との合成で決まる代数曲線のヤコビ多様体上の自己準同 型写像を用いること
を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[9] 上記代数曲線のヤコビ多様体力も代数曲線の Richelot双対曲線のヤコビ多様体 への準同型写像は、上記代数曲線が種数 2超楕円曲線 Cである場合、
G (x) H (z) +G (x) H (z) =0 (1)
1 1 2 2
yt = A G (x) H (z ) (x-z ) (2)
k 1 l k k
ただし、 k= l、 2
(ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円 曲線 Cのヤコビ多様体の点の y座標、 zは代数曲線のヤコビ多様体の点の X座標、 G1 と G2とは種数 2超楕円曲線 Cを定義する関数、 HIと H2とは種数 2超楕円曲線 Cの R ichelot双対曲線を定義する関数、 zは zに関する(1)式の零点、 tは各 zについて(
k k k
2)式により定まる値、 A G1は tを定義する関数である。 )
k
で定まること
を特徴とする請求項 8記載の楕円曲線暗号演算装置。
[10] 上記代数曲線の Richelot双対曲線のヤコビ多様体力も代数曲線のヤコビ多様体 への準同型写像は、上記代数曲線が種数 2超楕円曲線 Cである場合、 (x、y)→(2Zx、 (4y) /x3)
(ここで、 Xは種数 2超楕円曲線 Cのヤコビ多様体の点の X座標、 yは種数 2超楕円 曲線 Cのヤコビ多様体の点の y座標、→は写像を示す記号である。 )
で定まること
を特徴とする請求項 8記載の楕円曲線暗号演算装置。
[11] 上記埋め込み演算部は、
楕円曲線 E上の点 P (z、 t)力も代数曲線のヤコビ多様体の埋め込み点 D (x、 y)を 求める上記楕円曲線 Eが埋め込まれた代数曲線のヤコビ多様体への写像を
[数 11] x - a - 1
z
+ —丄
[数 12]
, 32y^J3 - 8σ2 + 4U + 32 + a(u - A^J2 + 4U - 20 ))
(ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円 曲線 Cのヤコビ多様体の点の y座標、 zは楕円曲線 E上の点 Pの X座標、 tは楕円曲線 E上の点 Pの y座標、 αと Uとは楕円曲線 Eを規定するパラメータである。 ) という関係式で定めること
を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[12] 上記射影演算部は、
射影点 ε D (x、 y)から楕円曲線 E上の射影点 P' (z、 t)を求める上記楕円曲線 Eへ の写像を
[数 13] [数 14]
32 3— 8t/2 + 4t/ + 32 + c ((ひ一 4 + 4ひ一 20¾
((ひ -
Figure imgf000026_0001
+ α - 1))3
(ここで、 xは種数 2超楕円曲線 Cのヤコビ多様体の点の x座標、 yは種数 2超楕円 曲線 Cのヤコビ多様体の点の y座標、 zは楕円曲線 E上の点 Pの X座標、 tは楕円曲線 E上の点 Pの y座標、 aと Uとは楕円曲線 Eを規定するパラメータ
である。 )
という関係式で定めること
を特徴とする請求項 1記載の楕円曲線暗号演算装置。
[13] 楕円曲線を用いた演算装置の演算方法において、
楕円曲線 Eを示す情報と楕円曲線 E上の点 Pと演算値 Kとを入力して記憶部に記 し、
記憶部に記憶された楕円曲線 E上の点 Pを読み込んで、楕円曲線 E上の点 Pを、そ の楕円曲線 Eに対応する代数曲線のヤコビ多様体へ写像して楕円曲線 E上の点 Pに 対応する代数曲線のヤコビ多様体上の点を埋め込み点 Dとして求め、埋め込み点 D を記憶部に記憶し、
記憶部に記憶された埋め込み点 Dを読み込んで、代数曲線のヤコビ多様体の準同 型写像による写像をして写像点 ε Dを求め、写像点 ε Dを記憶部に記憶し、 記憶部に記憶された写像点 ε Dを読み込んで、楕円曲線 Εへ写像して楕円曲線 Ε 上の射影点 P'を求め、射影点 P'を記憶部に記憶し、
記憶部に記憶された演算値 Κと射影点 P'とを読み込んで、演算値 Κと射影点 P'と を用いて計算を行い、計算結果を記憶部に記憶することを特徴とする演算方法。
[14] 楕円曲線 Ε上の点 Ρのスカラー倍 (Κ倍)演算をコンピュータに実行させるプログラム において、
楕円曲線 Ε上の点 Ρを種数 2超楕円曲線 Cのヤコビ多様体上の点 Dに変換し、 点 Dに対して、種数 2超楕円曲線 Cのヤコビ多様体の準同型写像による写像をして 写像点 ε Dを求め、 写像点 ε Dを楕円曲線 Ε上へ写像して楕円曲線の射影点 P'を求め、
演算値 Κと射影点 P'とを読み込んで、射影点 P'を Κ倍する計算を行い、計算結果 を出力する
ことを特徴とするプログラム。
PCT/JP2004/013409 2004-09-15 2004-09-15 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム Ceased WO2006030496A2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2004/013409 WO2006030496A2 (ja) 2004-09-15 2004-09-15 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
US10/572,500 US20070053506A1 (en) 2004-09-15 2004-09-15 Elliptic curve encryption processor, processing method of the processor using elliptic curves, and program for causing a computer to execute point scalar multiplication on elliptic curves
JP2006534980A JPWO2006030496A1 (ja) 2004-09-15 2004-09-15 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/013409 WO2006030496A2 (ja) 2004-09-15 2004-09-15 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム

Publications (2)

Publication Number Publication Date
WO2006030496A1 WO2006030496A1 (ja) 2006-03-23
WO2006030496A2 true WO2006030496A2 (ja) 2006-03-23

Family

ID=36060429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/013409 Ceased WO2006030496A2 (ja) 2004-09-15 2004-09-15 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム

Country Status (3)

Country Link
US (1) US20070053506A1 (ja)
JP (1) JPWO2006030496A1 (ja)
WO (1) WO2006030496A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7961873B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum And Minerals Password protocols using XZ-elliptic curve cryptography
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
DE102005030031B4 (de) * 2005-06-27 2007-08-02 Nec Europe Ltd. Verfahren zum Datenmanagement in einem Sensornetzwerk
EP1946205B1 (en) * 2005-10-18 2010-04-14 Telecom Italia S.p.A. A method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
DE102007001070B3 (de) * 2006-09-29 2008-04-30 Siemens Ag Verfahren zum verschlüsselten Datenausgleich eines Systems mit mindestens einem Datenträger und einem Lesegerät
US8401179B2 (en) * 2008-01-18 2013-03-19 Mitsubishi Electric Corporation Encryption parameter setting apparatus, key generation apparatus, cryptographic system, program, encryption parameter setting method, and key generation method
EP2124382A1 (de) * 2008-05-20 2009-11-25 Siemens Aktiengesellschaft Verfahren zum verschlüsselten Datenaustausch und Kommunikationssystem
US8520841B2 (en) * 2008-05-22 2013-08-27 Microsoft Corporation Algorithms for generating parameters for genus 2 hyperelliptic curve cryptography
CN101782845B (zh) * 2009-01-20 2014-11-26 北京华大信安科技有限公司 一种椭圆曲线密码的高速运算装置和方法
US8457305B2 (en) * 2009-11-13 2013-06-04 Microsoft Corporation Generating genus 2 curves from invariants
US8731187B2 (en) * 2010-12-21 2014-05-20 Microsoft Corporation Computing genus-2 curves using general isogenies
US9425952B2 (en) * 2014-03-27 2016-08-23 Samsung Israel Research Corporation Algebraic manipulation detection codes from algebraic curves
KR102251697B1 (ko) * 2014-04-23 2021-05-14 삼성전자주식회사 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69017686D1 (de) * 1990-10-24 1995-04-13 Omnisec Ag Regensdorf Geheimübertragungssystem mit Möglichkeit zur verschlüsselten Kommunikation zwischen Benutzern mit gesichertem Schlüssel, welcher ohne Benutzereinwirkung bestimmt wird.
GB9610154D0 (en) * 1996-05-15 1996-07-24 Certicom Corp Tool kit protocol
US6440750B1 (en) * 1997-06-10 2002-08-27 Agere Systems Guardian Corporation Method of making integrated circuit having a micromagnetic device
JP2000206879A (ja) * 1999-01-14 2000-07-28 Internatl Business Mach Corp <Ibm> 標数2のガロア体上で定義される超楕円曲線のヤコビ多様体の群演算を実施する装置及び方法
EP1217783B9 (en) * 1999-09-29 2009-07-15 Hitachi, Ltd. Device, program or system for processing secret information
US7043015B2 (en) * 2002-10-31 2006-05-09 Microsoft Corporation Methods for point compression for Jacobians of hyperelliptic curves
GB2400699B (en) * 2003-04-17 2006-07-05 Hewlett Packard Development Co Security data provision method and apparatus and data recovery method and system
US20050018850A1 (en) * 2003-06-26 2005-01-27 Micorsoft Corporation Methods and apparatuses for providing short digital signatures using curve-based cryptography

Also Published As

Publication number Publication date
JPWO2006030496A1 (ja) 2008-05-08
US20070053506A1 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
Costello et al. Efficient compression of SIDH public keys
US8504602B2 (en) Modular multiplication processing apparatus
WO2006030496A2 (ja) 楕円曲線暗号演算装置、楕円曲線を用いた演算装置の演算方法および楕円曲線上の点のスカラー倍演算をコンピュータに実行させるプログラム
CN112075050A (zh) 在完全同态加密的自举中启用恒定明文空间
CN101005350B (zh) 加密处理设备和加密处理方法
EP1816624A1 (en) Encryption computing device
US8300810B2 (en) Method for securely encrypting or decrypting a message
CN101194457A (zh) 随机模数化多项式约简方法及其硬件
JP4752313B2 (ja) 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
Granger et al. A comparison of CEILIDH and XTR
Costello et al. A brief discussion on selecting new elliptic curves
Chuengsatiansup et al. PandA: Pairings and arithmetic
US7177422B2 (en) Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program
JP4616169B2 (ja) モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム
CN1255998B (zh) 用于通信系统的加密/解密装置
JP4599859B2 (ja) 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム
JP2005316267A (ja) 楕円曲線ペアリング演算装置
KR100974624B1 (ko) 센서 모트에서의 효율적인 타원 곡선 암호 연산 방법, 그장치 및 이를 기록한 기록매체
US7480380B2 (en) Method for efficient generation of modulo inverse for public key cryptosystems
JP4479135B2 (ja) 演算装置及び演算方法及び演算プログラム
US12010231B2 (en) Computer processing architecture and method for supporting multiple public-key cryptosystems based on exponentiation
JP4904981B2 (ja) 公開鍵暗号システム構築方法、暗号演算方法、および情報処理装置、並びにコンピュータ・プログラム
JP5554357B2 (ja) 演算装置
JP2007212768A (ja) 楕円曲線暗号における事前計算テーブル作成装置
KR20250126628A (ko) 동형 암호문에 대한 연산을 수행하는 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2006534980

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007053506

Country of ref document: US

Ref document number: 10572500

Country of ref document: US

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 10572500

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase