US7792286B2 - Signature generation device and signature verification device - Google Patents
Signature generation device and signature verification device Download PDFInfo
- Publication number
- US7792286B2 US7792286B2 US11/578,978 US57897806A US7792286B2 US 7792286 B2 US7792286 B2 US 7792286B2 US 57897806 A US57897806 A US 57897806A US 7792286 B2 US7792286 B2 US 7792286B2
- Authority
- US
- United States
- Prior art keywords
- signature
- ring
- data
- generating
- vector
- 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.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
Definitions
- the present invention relates to an encryption technology as an information security technology, and in particular to a signature generation apparatus and a signature verification apparatus which perform processing based on a digital signature.
- a digital signature scheme which is a kind of public key cryptosystem, is provided as a technology for preventing a sender from being identified and data from being tampered with during the transmission of the data from a receiving apparatus to a transmitting apparatus.
- the transmitting apparatus In the digital signature scheme, the transmitting apparatus generates signature data for the data to be transmitted, using a private key of the transmitting apparatus, and transmits the data and the signature data to the receiving apparatus.
- the receiving apparatus verifies the signature data using a public key of the transmitting apparatus, and judges whether or not the data has been tampered with (e.g. see Non-Patent Reference 1). Note that it is difficult to calculate a value of the private key using the public key.
- NTRU (a trademark of NTRU Cryptosystems, Inc.) cryptosystem has been proposed as a public key cryptosystem capable of high-speed processing (e.g. see Non-Patent Reference 2).
- encryption and decryption are performed using polynomial operations which enable computation at a speed higher than that achieved in the RSA (Rivest Shamir Adleman) cryptosystem, in which modulo exponentiation is performed under certain modulo, and also higher than the speed achieved in an elliptic-curve cryptosystem in which scalar multiplications are performed on points on an elliptic curve. It is therefore possible to perform processing of a higher speed than the existing public key cryptosystems, and software processing can be carried out within a practical period of time.
- encrypted communication system using the NTRU cryptosystem for a public key cryptosystem have an advantage in that processing between a transmitting apparatus and a receiving apparatus can be performed at a speed higher than those achieved in the encrypted communication systems using the existing public key cryptosystem.
- Non-Patent Reference 2 The method suggested in the Non-Patent Reference 2 is a confidentiality cryptosystem for encrypting data.
- a digital signature scheme based on the NTRU cryptosystem is proposed (e.g. see Non-Patent Reference 3). This digital signature scheme has been modified several times due to the arrival of decryption methods.
- NTRUSign signature scheme a digital signature scheme called NTRUSign (hereinafter referred to as “NTRUSign signature scheme”) (e.g. see Patent Reference 1 and Non-Patent Reference 4).
- NTRUSign signature scheme non-negative integer parameters such as N, q, df, dg and Normbound are used. The following explains the meanings of these parameters.
- the NTRUSign signature scheme is a digital signature scheme which performs signature generation and signature verification using polynomial operations.
- the degree of polynomials used in the NTRUSign signature scheme is determined by the parameter N mentioned above.
- X ⁇ a shall denote the “a th” power of X.
- a public key h and a signature s are both expressed as polynomials of degree (N ⁇ 1) or lower.
- a private key is a set of four polynomials (f, g, F, G) of degree (N ⁇ 1) or lower. That is to say, f, g, F and G are all polynomials of degree (N ⁇ 1) or lower.
- a set of (f, g, F, G) made up of four polynomials may be represented as ⁇ (f, g), (F, G) ⁇ , in some cases, regarding the set to be made up of two pairs of (f, g) and (F, G).
- N represents a product of a polynomial and a polynomial
- a — 0, a — 1, a — 2, . . . , a_(N ⁇ 1) are coefficients of the polynomial a, and are integer numbers.
- a parameter q which is an integer number of 2 or greater, is used.
- the coefficients in a polynomial that appears in the NTRUSign signature scheme obtain a remainder modulo q.
- the method for selecting a polynomial f which is a part of the private keys used in the NTRUSign signature scheme and a polynomial g to be used together with the polynomial f for generating a public key polynomial h is determined based on the parameters df and dg.
- the polynomial f is selected so that df coefficients indicate “1” and other coefficients indicate “0”.
- the polynomial f is a polynomial of degree (N ⁇ 1) or lower, having N coefficients that range from coefficients of degree 0 (constant term) to degree (N ⁇ 1), and the polynomial f is selected so that df coefficients indicate 1, and (N-df) coefficients indicate 0 out of such N coefficients.
- the polynomial g is selected so that dg coefficients indicate “1”, and other coefficients indicate “0”.
- a distance between a 2 ⁇ N-degree vector created from the signature s, and a 2 ⁇ N-degree vector which is a hash value of message data (hereinafter simply referred to as “message”) is calculated, and whether or not the signature s is an authorized signature is judged based on the distance.
- Normbound is a threshold value to be used for the judgment. That is to say, in the case where the distance is smaller than Normbound, the signature s is accepted as an authorized signature, while in the case where the distance equals to or greater than Normbound, the signature s is denied as an unauthorized signature.
- a signature is created for a hash value of a message.
- the hash value of a message is a pair of polynomials of degree N, and is identified as a 2 ⁇ N degree vector.
- the Non-Patent Reference 1 describes in detail hash function for deriving a hash value based on a message.
- a distance between vectors is used in signature verification, and a norm (Centered norm) is used for the calculation of such a distance.
- the following defines a distance between a norm and a vector.
- sqrt (x) denotes square root of x.
- a norm ⁇ (a, b) ⁇ of the pair (a, b) of the polynomials a and b is defined as indicated below.
- ⁇ ( a,b ) ⁇ sqrt ( ⁇ a ⁇ 2 + ⁇ b ⁇ 2)
- a distance (inter-vector distance) between the pair (a, b) of the polynomials a and b and the pair (c, d) of the polynomials c and d is defined as ⁇ (c ⁇ a, d ⁇ b) ⁇ .
- the polynomials f and g are generated at random using the parameters df and dg.
- ⁇ (f, g), (F, G) ⁇ denotes a private key and h denotes a public key.
- the private key is a key for generating a signature and is also called a signature generation key.
- the public key is a key for verifying a signature and is also called a signature verification key.
- a signature s of a message m for which a signature should be generated is calculated.
- a 2 ⁇ N-degree vector (m1, m2) (m1 and m2 are polynomials of degree N), which is a hash value for the message m, is calculated.
- the polynomials a, b, A and B are calculated so as to satisfy the expression below using the 2 ⁇ N-degree vector (m1, m2) and the private key ⁇ (f, g), (F, G) ⁇ .
- each of the coefficients in the polynomials “A” and “a” is a remainder obtained when divided by q so that the remainder indicates a value ranging from “ ⁇ q/2>+1” to “ ⁇ q/2>”.
- the remainder obtained when divided by q indicates a value ranging from “ ⁇ q/2>” to “q ⁇ 1”
- the remainder is adjusted through the subtraction of q so as to fall within the above-mentioned range.
- polynomials s and t are calculated using the expressions below, and the polynomial s is outputted as a signature.
- s f ⁇ B+F ⁇ b (mod q )
- t g ⁇ B+G ⁇ b (mod q )
- FIG. 1 is a diagram for describing how to generate a signature s.
- a distance between the 2 ⁇ N-degree vectors (s, t) and (m1, m2) is obtained, and whether or not the distance is smaller than Normbound is checked. In the case where the distance is smaller than Normbound, the signature s is judged to be authorized and then accepted. In the case where the distance equals to or greater than Normbound, the signature s is judged to be unauthorized and then denied.
- FIG. 2 is a diagram for describing a method for verifying a signature s.
- it is judged whether or not the hash value H (m) (m1, m2) for a message m is within a hypersphere whose radius equals to Normbound with the lattice point P (s, t) in the center.
- the signature s is judged to be authorized and then accepted, whereas in the case where the hash value is not within the hypersphere, the signature s is judged to be unauthorized and then denied.
- a method for preventing the occurrence of such an inappropriate signature verification error as described above is suggested (e.g. see Non-Patent Reference 5).
- a value ranging from “1” to “q ⁇ 1” is substituted into a so that the distance is obtained for the respective cases, and whether or not the respective distances are smaller than Normbound is checked.
- the signature s is judged to be authorized and then accepted.
- the signature s is judged to be unauthorized and then denied.
- Patent Reference 1 International Publication Bulletin No. 03/050998.
- Non-Patent Reference 1 Tatsuaki Okamoto, and Hirosuke Yamamoto, Modern Cryptography, Sangyo Tosho, 1997.
- Non-Patent Reference 2 Hoffstein, J. Pipher, and J. H. Silverman, “NTRU: A ring based public key cryptosystem”, Lecture Notes in Computer Science, 1423, pp. 267-288, Springer-Verlag, 1998.
- Non-Patent Reference 3 J. Hoffstein, J. Pipher and J. Silverman, “NSS: An NTRU Lattice Based Signature Scheme,” Advances in Cryptology-Eurocrypt'01, LNCS, Vol. 2045, pp. 123-137, Springer-Verlag, 2001.
- Non-Patent Reference 4 J. Hoffstein, N. Graham, J. Pipher, J. Silverman and W.
- NRUSign Digital Signatures Using the NTRU Lattice,” CT-RSA'03, LNCS, Vol. 2612, pp. 122-140, Springer-Verlag, 2003.
- Non-Patent Reference 5 “Efficient Embedded Security Standards (EESS) EESS#1: Implementation Aspects of NTRUEncrypt and NTRUSign,” Ver. 2.0, Jun. 20, 2003.
- the present invention is therefore conceived in view of the above-mentioned problems, and an object of the present invention is to provide a signature generation apparatus and a signature verification apparatus which can surely prevent the occurrence of inappropriate signature verification error.
- the first element is capable of specifying the element s
- the second element is a quotient when the element t is divided by q.
- the first element is made up of an element sh and an element sl of the ring R.
- the element sh is a quotient when the element s is divided by q
- the element sl is a remainder when the element s is divided by q.
- the signature data indicates a first element which specifies an element s, and a second element which is a quotient when an element t is divided by q. Therefore, the signature verification apparatus, having obtained the signature data and message data, can properly decrypt the element s which is a part of the signature vector, using the first element indicated by the signature data. For example, in the case where the first element is made up of elements sh and sl which are respectively a quotient and a remainder obtained when the element s is divided by q, the signature verification apparatus can properly decrypt the element s by multiplying the element sh with q and adding the element sl to the result of the multiplication.
- the signature verification apparatus can properly decrypt the element t which is a part of the signature vector, using the result of multiplying, with q, the second element indicated by the signature data. For example, by adding a remainder, modulo q, of a product of the element sl and the product h to a product of the second element and q, the element t can be properly decrypted.
- signature data by which the elements s and t can properly decrypted by the signature verification apparatus is generated without performing (mod q) operation on the elements s and t which make up a signature vector. It is therefore possible to surely prevent the occurrence of inappropriate signature verification error as caused in the conventional examples.
- the signature generation apparatus may further include a hash value generation unit which generates elements m1 and m2 of the ring R by applying hash function to the message data, wherein the signature data generation unit generates, as the first element, a difference between the element s and the element m1.
- the first element is a difference between the element s and the element m1, so that the signature verification apparatus, having obtained signature data and message data, can properly decrypt the element s which is a part of the signature vector, using the first element indicated by the signature data. That is to say that the signature verification apparatus can properly decrypt the element s by generating an element m1 by applying hash function to the message data, and then, adding the element m1 to the first element.
- the first element is a difference between the element s and the element m1. It is therefore possible to reduce the information amount of the first element, namely, the information amount of the signature data, as compared with the case in which the first element is made up of the elements sl and sh. Moreover, by adding a product of the second element and q to the remainder, modulo q, of a product of the element s and the element h, the signature verification apparatus can properly decrypt the element t which is a part of the signature vector.
- the signature vector generation unit may calculate the element s so that an “i th” sub-element of the element m1 and an “i th” sub-element of the element s indicate same values, where i denotes one of integer numbers ranging from 1 to N.
- the signature vector generation unit may calculate the element s by adding or subtracting an element, of the ring R, which has a norm of 0.
- the element s is calculated in such a manner that an “i th” sub-element of the element s equals to an “i th” sub-element of the element m1 through addition or subtraction of an element having a norm of 0. Therefore, an “i th” sub-element of the first element becomes 0, which can approximate values of other elements to 0, and thereby, it is possible to reduce the information amount of the first element, that is, the information amount of the signature data. Also, through the addition or subtraction of the element having a norm of 0, a value of the “i th” sub-element of the element s is adjusted. Therefore, it is possible to perform the adjustment as described above without changing the norm of the element s once calculated, and to maintain, for the adjustment, the distance between the signature vector and the hash value vector made up of the elements m1 and m2.
- the first element is made up of an element sh and an element sl of the ring R, the element sh being a quotient when the element s is divided by q, and the element sl being a remainder when the element t is divided by q
- the signature vector generation unit is operable to decrypt the element s by multiplying the element sh with q and adding the element sl to a result of the multiplication, and decrypt the element t by adding a product of the second element and q to a remainder, modulo q, of a product of the element sl and the element h.
- the signature data indicates a first element which can specify the element s, and a second element which is a quotient when the element t is divided by q.
- the signature verification apparatus having obtained the signature data and the message data, can therefore properly decrypt the element s which is a part of the signature vector, using the first element indicated by the signature data.
- the signature verification apparatus can properly decrypt the element s by multiplying the element sh with q and adding the element sl to the result of the multiplication.
- the signature verification apparatus can properly decrypt the element t which is a part of the signature vector, using the result of multiplying, with q, the second element indicated by the signature data. For example, it is possible to properly decrypt the element t by adding a product of the second element and q to a remainder, modulo q, of a product of the element sl and the element h.
- the signature verification apparatus may further include a hash value generation unit which generates elements m1 and m2 of the ring R by applying hash function to the message data, wherein the first element includes an element sl of the ring R, the element sl being a difference between the element s and the element m1, and the second element is a quotient when the element t is divided by q, and the signature vector generation unit decrypts the element s by adding the element m1 to the element sl, and decrypt the element t by adding a product of the second element and q to a remainder, modulo q, of a product of the element s and the element h.
- a hash value generation unit which generates elements m1 and m2 of the ring R by applying hash function to the message data, wherein the first element includes an element sl of the ring R, the element sl being a difference between the element s and the element m1, and the second element is a quotient when the element
- the first element is a difference between the element s and the element m1. Therefore, the signature verification apparatus, having obtained the signature data and the message data, can properly decrypt the element s which is a part of the signature vector, using the first element indicated by the signature data. In other words, the signature verification apparatus can properly decrypt the element s by generating the element m1 by applying hash function to the message data and adding the element m1 to the first element. In addition, the signature verification apparatus can properly decrypt the element t which is a part of the signature vector by adding a product of the second element and q to the remainder, modulo q, of a product of the element s and the element h.
- the present invention can be realized not only as such signature generation apparatus and signature verification apparatus, but also as a method or a program thereof, and even as a storage medium storing the program or as an integrated circuit.
- the signature generation apparatus and the signature verification apparatus according to the present invention produce the effect of surely preventing the occurrence of inappropriate signature verification error, and therefore, their values are high.
- FIG. 1 is a diagram for describing a method of generating a signature.
- FIG. 2 is a diagram for describing a method of verifying a signature.
- FIG. 3 is a block diagram showing a configuration of a digital signature system according to a first embodiment of the present invention.
- FIG. 4 is a block diagram showing a configuration of a signature generation unit according to the first embodiment of the present invention.
- FIG. 5 is a flowchart showing an operation of the signature generation unit according to the first embodiment of the present invention.
- FIG. 6 is a flowchart showing an overall operation of the signature generation apparatus according to the first embodiment of the present invention.
- FIG. 7 is a block diagram showing a configuration of a signature verification unit according to the first embodiment of the present invention.
- FIG. 8 is a flowchart showing an operation of the signature verification unit according to the first embodiment of the present invention.
- FIG. 9 is a flowchart showing an overall operation of the signature verification apparatus according to the first embodiment of the present invention.
- FIG. 10 is a block diagram showing a configuration of digital signature system according to a second embodiment of the present invention.
- FIG. 11 is a block diagram showing a signature generation unit according to the second embodiment of the present invention.
- FIG. 12 is a flowchart showing an operation of the signature generation unit according to the second embodiment of the present invention.
- FIG. 13 is a block diagram showing a configuration of a signature verification unit according to the second embodiment of the present invention.
- FIG. 14 is a flowchart showing an operation of the signature verification unit according to the second embodiment of the present invention.
- An improved NTRUSign signature scheme is an improved version of the conventional NTRUSign signature scheme, for generating a signature in such a manner that the occurrence of inappropriate signature verification error can be prevented, and verifying the generated signature.
- non-negative integer parameters such as N, q, df, dg and Normbound are used.
- the definitions of these parameters are as same as those given by the conventional NTRUSign signature scheme. The following describes the meanings of these parameters.
- the improved NTRUSign signature scheme 1 is a digital signature scheme which performs signature generation and signature verification using polynomial operations.
- the degree of polynomials used in the NTRUSign signature scheme 1 is determined by the parameter N described above.
- X ⁇ a shall denote the “a th” power of X.
- a public key h and a polynomial s which is a part of the signature vector are both expressed as polynomials of degree N ⁇ 1 or lower.
- a private key is a set of four polynomials (f, g, F, G) of degree (N ⁇ 1) or lower. In other words, f, g, F and G are all polynomials of degree N ⁇ 1 or lower.
- a set of (f, g, F, G) made up of four polynomials may be represented as ⁇ (f, g), (F, G) ⁇ , in some cases, regarding the set to be made up of two pairs of (f, g) and (F, G).
- N presents a product of a polynomial and a polynomial
- ⁇ presents a product of an integer and a polynomial (or a product of an integer and an integer)
- a — 0, a — 1, a — 2, . . . , a_(N ⁇ 1) are coefficients of the polynomial a, and are integer numbers.
- a parameter q which is an integer number of 2 or greater is used.
- the coefficients in a polynomial that appears in the improved NTRUSign signature scheme 1 obtain a remainder modulo q.
- the method for selecting the polynomial f which is a part of the private keys used in the improved NTRUSign signature scheme, 1 as well as the polynomial g to be used together with the polynomial f in the generation of the public key polynomial h is determined by the parameters df and dg.
- the polynomial f is selected so that df coefficients indicate 1, and other coefficients indicate 0.
- the polynomial f is a polynomial of degree (N ⁇ 1) or lower, having N coefficients that range from coefficients of degree 0 (constant term) to degree (N ⁇ 1), and the polynomial f is selected so that df coefficients indicate 1, and (N ⁇ df) coefficients indicate 0 out of such N coefficients.
- the polynomial g is selected so that dg coefficients indicate “1”, and other coefficients indicate “0”.
- a distance between a 2 ⁇ N-degree vector (signature vector) made up of the polynomials s and t, and a 2 ⁇ N-degree vector which is a hash value of message data (hereinafter simply referred to as “message”) is calculated, and whether or not a signature is authorized is checked based on the distance.
- Normbound is a threshold to be used for such a judgment. That is to say, in the case where the distance is smaller than Normbound, the signature is accepted as authorized, whereas in the case where the distance is equal to or greater than Normbound, the signature is denied as unauthorized.
- the improved NTRUSign signature scheme 1 the same parameters as shown in the above-mentioned example may be used.
- the improved NTRUSign signature scheme 1 a signature for a hash value of a message is created.
- the hash value of a message is a pair of polynomials of degree N, and is identified as a 2 ⁇ N-degree vector.
- the Non-Patent Reference 1 describes in detail hash function for obtaining a hash value based on a message.
- a distance between vectors is used in the signature verification, as in the conventional NTRUSign signature scheme, and a norm (Centered norm) is used for the calculation of such a distance.
- a norm Centered norm
- ⁇ a ⁇ sqrt (( a — 0 ⁇ ) ⁇ 2+( a _ ⁇ ) ⁇ 2+ . . . +( a _( N ⁇ 1) ⁇ ) ⁇ 2)
- ⁇ (1 /N ) ⁇ ( a — 0 +a — 1 +a — 2 + . . . +a _( N ⁇ 1))
- sqrt (x) denotes square root of x.
- a norm ⁇ (a, b) ⁇ of the pair (a, b) for the polynomials a and b is defined as below.
- ⁇ ( a,b ) ⁇ sqrt ( ⁇ a ⁇ 2 + ⁇ b ⁇ 2)
- a distance (inter-vector distance) between the pair (a, b) of the polynomials a and b and the pair (c, d) of the polynomials c and d is defined as ⁇ (c ⁇ a, d ⁇ b) ⁇ .
- the polynomials f and g are generated at random using the parameters df and dg, as described above.
- ⁇ (f, g), (F, G) ⁇ denotes a private key and h denotes a public key.
- the private key is a key for generating a signature and is also called a signature generation key.
- signatures sl, sh and th of a message m for which a signature is to be generated are calculated.
- a 2 ⁇ N-degree vector (m1, m2) (m1 and m2 are polynomials of degree N) which is a hash value for the message m is calculated.
- the polynomials a, b, A and B are calculated so as to satisfy the expression below using the 2 ⁇ N-degree vector (m1, m2) and a private key ⁇ (f, g), (F, G) ⁇ .
- G ⁇ m 1 ⁇ F ⁇ m 2 A+q ⁇ B (Expression 1)
- ⁇ g ⁇ m 1 +f ⁇ m 2 a+q ⁇ b (Expression 2)
- each of the coefficients in the polynomials A and a is a remainder obtained when divided by q so that the remainder indicates a value ranging from “ ⁇ q/2+1>” to “ ⁇ q/2>”.
- the remainder obtained when divided by q indicates a value ranging from “ ⁇ q/2>” to “q ⁇ 1”
- the remainder is adjusted through the subtraction of q so as to fall within the above-mentioned range.
- each of the coefficients (each of the elements) in the polynomials sl and tl are non-negative integer numbers indicating q or smaller.
- the polynomials sl and sh are respectively a remainder and a quotient obtained when the polynomial s is divided by q
- the polynomials tl and th are respectively a remainder and a quotient when the polynomial t is divided by q.
- the polynomials sl, sh and th are regarded to represent a signature.
- FIG. 3 is a block diagram showing a configuration of a digital signature system 100 according to the present embodiment.
- the digital signature system 100 generates a signature using the above-mentioned improved NTRUSign signature scheme 1 and verifies the generated signature.
- a digital signature 100 is comprised of a signature generation apparatus 110 , a signature verification apparatus 120 , and a communication path 130 .
- the signature generation apparatus 110 generates, based on the improved NTRUSign signature scheme 1 , a signature data set SS which includes signature data S (data indicating the polynomials sl, sh and th) for an inputted message m, and transmits the signature data set SS to the signature verification apparatus 120 via the communication path 130 .
- a signature generation apparatus 110 also includes a transmission unit 111 , a private key storage unit 112 , a public key certificate storage unit 113 , a signature generation unit 114 and a signature data set generation unit 115 .
- the signature verification apparatus 120 receives the signature data set SS from the signature generation apparatus 110 via the communication path 130 , and verifies the signature data S included in the signature data set SS, based on the improved NTRUSign signature scheme 1 .
- Such a signature verification apparatus 120 also includes a reception unit 121 , a CA public key storage unit 122 , a signature data set storage unit 123 , and a signature verification unit 124 .
- the transmission unit 111 of the signature generation apparatus 110 transmits the signature data set SS to the signature verification apparatus 120 via the communication path 130 .
- the private key storage unit 112 stores a private key KS for generating the polynomial s for the message m.
- the private key KS shall be previously provided.
- the public key certificate storage unit 113 stores a public key certificate CP of the public key KP (public key h) indicated by the polynomial h as indicated above.
- the public key certificate CP is made up of a public key KP, signature data SP of a public key KP issued by Certificate Authority.
- the signature data SP is also generated using the improved NTRUSign signature scheme 1 .
- the public key certificate CP shall be previously provided.
- the public key certificate CP may include data other than the public key KP and the signature data SP.
- the public key certificate CP may include a user identifier and validity of the public key certificate CP.
- the signature generation unit 114 generates the polynomials and t for the message m using the private key KS stored in the private key storage unit 112 , and further, generates signature data S (polynomials sl, sh and th) for verifying the polynomials s and t by decrypting them.
- FIG. 4 is a block diagram showing a configuration of the signature generation unit 114 according to the present embodiment.
- the signature generation unit 114 includes a hash value generation unit 1141 , a signature vector generation unit 1142 , and a signature data generation unit 1143 .
- the hash value generation unit 1141 calculates a 2 ⁇ N-degree vector (m1, m2) (m1 and m2 are polynomials of N-degree), indicating a hash value for the message m.
- FIG. 5 is a flowchart showing an operation of the signature generation unit 114 .
- the hash value generation unit 1141 of the signature generation unit 114 calculates the 2 ⁇ N-degree vector (m1, m2) indicating the hash value H for the message m (Step S 100 ).
- the signature vector generation unit 1142 of the signature generation unit 114 calculates the polynomials a, b, A and B so as to satisfy the expressions (Expression 1) and (Expression 2) indicated above (Step S 102 ). In addition, the signature vector generation unit 1142 calculates the polynomials s and t using the expressions (Expression 3) and (Expression 4) indicated above (Step S 104 ).
- FIG. 6 is a flowchart showing an overall operation of the signature generation apparatus 110 .
- the signature generation unit 114 of the signature generation apparatus 110 generates the polynomials s and t for the message m, using the private key KS stored in the private key storage unit 112 , as well as generates the signature data S (data indicating the polynomials sl, sh and th) based on the polynomials s and t (Step S 120 ).
- the signature data set generation unit 115 of the signature generation apparatus 110 generates signature data set SS made up of a message m, signature data S and the public key certificate CP stored in the public key certificate storage unit 113 (S step 122 ).
- the transmission unit 111 of the signature generation apparatus 110 transmits the signature data set SS to the signature verification apparatus 120 via the communication path 130 (Step S 124 ).
- the reception unit 121 of the signature verification apparatus 120 receives the signature data set SS transmitted from the signature generation apparatus 110 via the communication path 130 .
- the CA public key storage unit 122 stores the CA public key KCP for verifying the public key certificate CP included in the signature data set SS.
- the signature data set storage unit 123 stores the signature data set SS received by the reception unit 121 .
- the signature verification unit 124 verifies the signature data S included in the signature data set SS as well as the signature data SP included in the public key certificate CP.
- FIG. 7 is a block diagram showing a configuration of the signature verification unit 124 according to the present embodiment.
- the signature verification unit 124 includes a hash value generation unit 1241 , a signature vector generation unit 1243 and a distance judgment unit 1244 .
- the signature verification unit 124 includes a hash value generation unit 1241 , a signature vector generation unit 1243 and a distance judgment unit 1244 .
- the signature vector generation unit 1243 generates, as the signature vector SV, the 2 ⁇ N-degree vector (s, t) for the respective signature data S and signature data SP.
- the distance judgment unit 1244 calculates a distance between the hash value H and the signature vector SV for the message m and the signature data S as well as for the public key KP and the signature data SP, and judges whether or not the distance is smaller than Normbound. In other words, in the case where the distance between the hash value and the signature vector SV for the message m and the signature data S is smaller than Normbound, the distance judgment unit 1244 judges that the signature data S is authorized and accepts the signature data S. On the other hand, in the case where the distance is equal to or greater than Normbound, the distance judgment unit 1244 judges that the signature data S is unauthorized and denies the signature data S.
- the distance judgment unit 1244 judges that the signature data SP is authorized and accepts the signature data SP. On the other hand, in the case where the distance is equal to or greater than Normbound, the distance judgment unit 1244 judges that the signature data SP is unauthorized and denies the signature data SP.
- FIG. 8 is a flowchart showing an operation of the signature verification unit 124 .
- the signature verification unit 124 verifies the signature data S by carrying out the operation shown in FIG. 8 for the message m and the signature data S, using the public key KP. Note that the signature verification unit 124 verifies the signature data SP by performing the operation shown in FIG. 8 for the public key KP and the signature data SP, using the public key KCP before the verification of the signature data S.
- the signature vector generation unit 1243 calculates the polynomial tl by substituting, into the expression (Expression 6) indicated above, the polynomial sl indicated by the signature data S and the polynomial h indicated by the public key KP (Step S 142 ).
- the signature vector generation unit 1243 generates 2 ⁇ N-degree vector as the signature vector SV for the signature data S.
- FIG. 9 is a flowchart showing an overall operation of the signature verification apparatus 120 .
- the reception unit 121 of the signature verification apparatus 120 receives the signature data set SS from the signature generation apparatus 110 via the communication path 130 , and stores the signature data set SS in the signature data set storage unit 123 (Step S 170 ).
- the signature verification unit 124 verifies, for the public key KP and the signature data SP included in the public key certificate CP within the signature data set SS, whether or not the signature data SP is an authorized signature of the public key KP, using the CA public key KCP stored in the CA public key storage unit 122 . In other words, the signature verification unit 124 judges whether or not the signature data SP is an authorized signature (Step S 172 ). Here, in the case of judging that the signature data SP is not authorized, the signature verification unit 124 denies the signature data SP (Step S 174 ).
- the signature verification unit 124 accepts the signature data SP. In addition, the signature verification unit 124 verifies, for the message m and the signature data S included in the signature data set SS, whether or not the signature data S is an authorized signature of the message m, using the public key KP. In other words, the signature verification unit 124 judges whether or not the signature data S is an authorized signature (Step S 176 ).
- Step S 176 the signature verification unit 124 denies the signature data S (Step S 174 ), whereas in the case of judging that the signature data S is authorized (Y in Step S 176 ), accepts the signature data S (Step S 178 ). That is to say, in Step S 178 , the signature verification unit 124 recognizes that the signature data set SS is data provided with an authorized signature.
- the signature verification apparatus 120 when a public key is used by the signature generation apparatus 110 , the polynomials sl, sh and th by which the signature vector (s, t) can be decrypted are included in the signature data. Therefore, the signature verification apparatus 120 , having obtained such signature data and message, can properly decrypt the signature vector (s, t) based on the signature data, and perform signature verification using the signature vector (s, t). For example, the signature verification apparatus 120 can properly decrypt the polynomial s which is a part of the signature vector, by multiplying, with q, the polynomial sh included in the signature data and adding the polynomial sl to the result of the multiplication.
- the signature verification apparatus 120 can properly decrypt the polynomial t which is a part of the signature vector, by adding a product of the polynomial th and q to a remainder, modulo q, of a product of the polynomial sl included in the signature data and the public key (polynomial h).
- signature data by which the signature verification apparatus 120 can properly decrypt the signature vector (s, t) is generated without performing (mod q) operation on the signature vector (s, t). Therefore, it is possible to prevent the lack of information due to the (mod q) operation and to surely prevent the occurrence of inappropriate signature verification error as caused in the conventional examples. Consequently, even in the case where a difference between the largest value and the smallest value of each of the elements in the signature vector (s, t) exceeds q, it is possible to properly decrypt the signature vector (s, t) in the verification of the signature.
- the improved NTRUSign signature scheme 2 according to the second embodiment of the present invention is an improved version of the conventional NTRUSign signature scheme, for generating a signature in such a manner that the occurrence of inappropriate signature verification error can be prevented, and verifying the generated signature, as in the case of the first embodiment. Moreover, compared with the first embodiment, the improved NTRUSign signature scheme 2 according to the present invention allows reduction in the information amount of the signature data.
- the non-negative integer parameters such as N, q, df, dg and Normbound are used.
- the definitions of these parameters are as same as those given by the conventional NTRUSign signature scheme. The following describes the meanings of these parameters.
- the improved NTRUSign signature scheme 2 is a digital signature scheme which performs signature generation and signature verification using polynomial operations.
- the degree of polynomials used in the improved NTRUSign signature scheme 2 is determined by the parameter N described above.
- X ⁇ a shall denote the “a th” power of X.
- a public key h and a polynomial s which is a part of the signature vector are both expressed as polynomials of degree N ⁇ 1 or lower.
- a private key is a set of four polynomials (f, g, F, G) of degree (N ⁇ 1) or lower. In other words, f, g, F and G are all polynomials of degree N ⁇ 1 or lower.
- a set of (f, g, F, G) made up of four polynomials may be represented as ⁇ (f, g), (F, G) ⁇ , in some cases, regarding the set to be made up of two pairs of (f, g) and (F, G).
- N presents a product of a polynomial and a polynomial
- N presents a product of an integer and a polynomial (or a product of an integer and an integer)
- a — 0, a — 1, a — 2, . . . , a_(N ⁇ 1) are coefficients of the polynomial a, and are integer numbers.
- a parameter q which is an integer number of 2 or greater is used.
- the coefficients in a polynomial that appears in the improved NTRUSign signature scheme 2 obtain a remainder modulo q.
- the method for selecting a polynomial f which is a part of the private key used in the improved NTRUSign signature scheme 2 as well as a polynomial g to be used together with the polynomial f for generating a public key polynomial h is determined based on the parameters df and dg.
- the polynomial f is selected so that df coefficients indicate “1” and other coefficients indicate “0”.
- the polynomial f is a polynomial of degree (N ⁇ 1) or lower, having N coefficients that range from coefficients of degree 0 (constant term) to degree (N ⁇ 1), and the polynomial f is selected so that df coefficients indicate 1, and (N-df) coefficients indicate 0 out of such N coefficients.
- the polynomial g is selected so that dg coefficients indicate “1”, and other coefficients indicate “0”.
- a distance between a 2 ⁇ N-degree vector created from the signature s, and a 2 ⁇ N-degree vector which is a hash value of message data (hereinafter simply referred to as “message”) is calculated, and whether or not the signature is authorized is judged based on the distance.
- Normbound is a threshold value to be used for the judgment. That is to say, in the case where the distance is smaller than Normbound, the signature is accepted as authorized, while in the case where the distance equals to or greater than Normbound, the signature is denied as an unauthorized signature.
- the improved NTRUSign signature scheme 2 the same parameters as shown in the above-mentioned example may be used.
- a signature is created for a hash value of a message.
- the hash value of a message is a pair of polynomials of degree N, and is identified as a 2 ⁇ N-degree vector.
- the Non-Patent Reference 1 describes in detail hash function for deriving a hash value based on a message.
- a distance between vectors is used for signature verification, and a norm (Centered norm) is used for the calculation of such a distance, as in the conventional NTRUSign signature scheme.
- the following defines a distance between a norm and a vector.
- ⁇ a ⁇ sqrt (( a — 0 ⁇ ) ⁇ 2+( a — 1 ⁇ ) ⁇ 2+ . . . +( a _( N ⁇ 1) ⁇ ) ⁇ 2)
- ⁇ (1 /N ) ⁇ ( a — 0 +a — 1 +a — 2 + . . . +a _( N ⁇ 1))
- sqrt (x) denotes square root of x.
- a norm ⁇ (a, b) ⁇ of the pair (a, b) of the polynomials a and b is defined as indicated below.
- ⁇ ( a,b ) ⁇ sqrt ( ⁇ a ⁇ 2 + ⁇ b ⁇ 2)
- a distance (inter-vector distance) between the pair (a, b) of the polynomials a and b and the pair (c, d) of the polynomials c and d is defined as ⁇ (c ⁇ a, d ⁇ b) ⁇ .
- the polynomials f and g are generated at random using the parameters df and dg.
- ⁇ (f, g), (F, G) ⁇ denotes a private key and h denotes a public key.
- the private key is a key for generating a signature and is also called a signature generation key.
- the public key is a key for verifying a signature and is also called a signature verification key.
- a 2 ⁇ N-degree vector (m1, m2) (m1 and m2 are polynomials of degree N) which is a hash value for the message m is calculated.
- the polynomials a, b, A and B are calculated so as to satisfy the following expressions (Expression 11) and (Expression 12) using the 2 ⁇ N-degree vector (m1, m2) and the private key ⁇ (f, g), (F, G) ⁇ .
- G ⁇ m 1 ⁇ F ⁇ m 2 A+q ⁇ B (Expression 11)
- ⁇ g ⁇ m 1 +f ⁇ m 2 a+q ⁇ b (Expression 12)
- each of the coefficients in the polynomials A and a is a remainder obtained when divided by q so that the remainder indicates a value ranging from “ ⁇ q/2>+1” to “ ⁇ q/2>”.
- the remainder obtained when divided by q indicates a value ranging from “ ⁇ q/2>” to “q ⁇ 1”
- the remainder is adjusted through the subtraction of q so as to fall within the above-mentioned range.
- a polynomial v0 is a polynomial whose coefficients are all 1.
- the polynomials s′ and t′ are calculated using the following expressions (Expression 15) and (Expression 16).
- m1 — 0 denotes a coefficient of 0th term (first term) of the polynomial m1
- hs denotes a sum of all the coefficients in the public key polynomial h.
- all the coefficients (elements) in the polynomial tl′ are non-negative integer numbers of q or smaller.
- the polynomials sl′ and th′ are regarded to represent a signature.
- the polynomial s′ is calculated so that the first element of the polynomial s′ equals to the first element of the polynomial m1, through addition or subtraction of a vector having a norm of 0. Therefore, the first element of the polynomial sl′ that is to become a signature becomes 0, and a value of each of the other elements can me made closer to 0, so that it is possible to further reduce the information amount of the polynomial sl′, namely, the information amount of the signature data. Also, the value of the first element of the polynomial s′ is adjusted through addition or subtraction of a vector having a norm of 0.
- the adjustment can be made without changing the norm of the polynomial s once calculated, and the distance between (s, t) and (m1, m2) as well as the distance between (s′, t′) and (m1, m2) can be maintained for the adjustment.
- a distance between the 2 ⁇ N-degree vectors (s′, t′) and (m1, m2) is obtained, and whether or not the distance is smaller than Normbound is checked. In the case where the distance is smaller than Normbound, the signature s is judged to be authorized and then accepted. In the case where the distance is equal to or greater than Normbound, the signature s is judged to be unauthorized and then denied.
- FIG. 10 is a block diagram which shows a configuration of a digital signature system 200 according to the present embodiment.
- the digital signature system 200 generates a signature using the above-mentioned improved NTRUSign signature scheme 2 , and verifies the generated signature.
- a digital signature system 200 is comprised of a signature generation apparatus 210 , a signature verification apparatus 220 , and a communication path 230 .
- the signature generation apparatus 210 generates, based on the improved NTRUSign signature scheme 2 , a signature data set SS which includes signature data S (data indicating the polynomials sl, and th′) for an inputted message m, and transmits the signature data set SS to the signature verification apparatus 220 via the communication path 230 .
- a signature generation apparatus 210 also includes a transmission unit 211 , a private key storage unit 212 , a public key certificate storage unit 213 , a signature generation unit 214 and a signature data set generation unit 215 .
- the signature verification apparatus 220 receives the signature data set SS from the signature generation apparatus 210 via the communication path 230 , and verifies the signature data S included in the signature data set SS, based on the improved NTRUSign signature scheme 2 .
- Such a signature verification apparatus 220 also includes a reception unit 221 , a CA public key storage unit 222 , a signature data set storage unit 223 , and a signature verification unit 224 .
- the transmission unit 211 of the signature generation apparatus 210 transmits the signature data set SS to the signature verification apparatus 220 via the communication path 230 .
- the private key storage unit 212 stores a private key KS for generating the polynomial s for the message m.
- the private key KS shall be previously provided.
- the public key certificate storage unit 213 stores a public key certificate CP of the public key KP (public key h) indicated by the polynomial h as indicated above.
- the public key certificate CP is made up of a public key KP, signature data SP of a public key KP issued by Certificate Authority.
- the signature data SP is also generated using the improved NTRUSign signature scheme 2 .
- the public key certificate CP shall be previously provided.
- the public key certificate CP may include data other than the public key KP and the signature data SP.
- the public key certificate CP may include a user identifier and validity of the public key certificate CP.
- the signature generation unit 214 generates the polynomials and t for the message m using the private key KS stored in the private key storage unit 212 , and further generates signature data S (polynomials sl′ and th′) for verifying the polynomials s′ and t′, which are equivalent to the polynomials s and t, by decrypting them.
- FIG. 11 is a block diagram showing a configuration of the signature generation unit 214 according to the present embodiment.
- the signature generation unit 214 includes a hash value generation unit 2141 , a signature vector generation unit 2142 , and a signature data generation unit 2143 .
- the hash value generation unit 2141 calculates a 2 ⁇ N-degree vector (m1, m2) (m1 and m2 are polynomials of N-degree), indicating a hash value for the message m.
- the signature vector generation unit 2142 generates the polynomials s and t by the above-mentioned expressions (Expression 1) through (Expression 14), using the private key KS and the hash value H. In addition, unlike the signature vector generation unit 1142 of the first embodiment, the signature vector generation unit 2142 according to the present embodiment calculates the polynomials s′ and t′ by the expressions (Expression 15) and (Expression 16) using the generated polynomials s and t.
- FIG. 12 is a flowchart showing an operation of the signature generation unit 214 .
- the hash value generation unit 2141 of the signature generation unit 214 calculates the 2 ⁇ N-degree vector (m1, m2) indicating the hash value H for the message m (Step S 200 ).
- the signature vector generation unit 2142 of the signature generation unit 214 calculates the polynomials a, b, A and B so as to satisfy the expressions (Expression 11) and (Expression 12) indicated above (Step S 202 ). In addition, the signature vector generation unit 2142 calculates the polynomials s and t using the expressions (Expression 3) and (Expression 4) indicated above (Step S 204 ). Then, the signature vector generation unit 2142 calculates the polynomials s′ and t′ by the expressions (Expression 15) and (Expression 16) using the polynomials s and t. (Step S 206 ).
- the signature generation unit 214 of the signature generation apparatus 210 generates the polynomials s and t for the message m, using the private key KS stored in the private key storage unit 212 , as well as generates the signature data S (data indicating the polynomials sl′ and th′) based on the polynomials s and t (Step S 120 ).
- the signature data set generation unit 215 of the signature generation apparatus 210 generates signature data set SS made up of a message m, signature data S and the public key certificate CP stored in the public key certificate storage unit 213 (S step 122 ).
- the transmission unit 211 of the signature generation apparatus 210 transmits the signature data set SS to the signature verification apparatus 220 via the communication path 230 (Step S 124 ).
- the reception unit 221 of the signature verification apparatus 220 receives the signature data set SS transmitted from the signature generation apparatus 210 via the communication path 230 .
- the CA public key storage unit 222 stores the CA public key KCP for verifying the public key certificate CP included in the signature data set SS.
- the signature data set storage unit 223 stores the signature data set SS received by the reception unit 221 .
- the signature verification unit 224 verifies the signature data S included in the signature data set SS as well as the signature data SP included in the public key certificate CP.
- FIG. 13 is a block diagram showing a configuration of the signature verification unit 224 according to the present embodiment.
- the signature verification unit 224 includes a hash value generation unit 2241 , a signature vector generation unit 2243 and a distance judgment unit 2244 .
- the signature vector generation unit 2243 generates, as the signature vector SV, the 2 ⁇ N-degree vector (s′, t′) for the respective signature data S and signature data SP.
- the distance judgment unit 2244 calculates a distance between a hash value H and a signature vector SV for the message m and the signature data S as well as for the public key KP and the signature data SP, and judges whether or not the distance is smaller than Normbound. In other words, in the case where the distance between the hash value and the signature vector SV for the message m and the signature data S is smaller than Normbound, the distance judgment unit 2244 judges that the signature data S is authorized and accepts the signature data S. On the other hand, in the case where the distance is equal to or greater than Normbound, the distance judgment unit 2244 judges that the signature data S is unauthorized and denies the signature data S.
- the distance judgment unit 2244 judges that the signature data SP is authorized and accepts the signature data SP. On the other hand, in the case where the distance is equal to or greater than Normbound, the distance judgment unit 2244 judges that the signature data SP is unauthorized and denies the signature data SP.
- FIG. 14 is a flowchart showing an operation of the signature verification unit 224 .
- the signature verification unit 224 verifies the signature data S by carrying out the operation shown in FIG. 14 for the message m and the signature data S, using the public key KP. Note that the signature verification unit 224 verifies the signature data SP by performing the operation shown in FIG. 14 for the public key KP and the signature data SP, using the public key KCP before the verification of the signature data S.
- the following describes a detailed operation performed by the signature verification unit 224 for verifying the signature data S with reference to FIG. 14 .
- the signature vector generation unit 2243 calculates the polynomial tl′ by substituting, into the expression (Expression 17) indicated above, the calculated polynomial s′ and the polynomial h indicated by the public key KP (Step S 244 ).
- the signature vector generation unit 2243 generates 2 ⁇ N-degree vector (s′, t′) as the signature vector SV for the signature data S.
- the signature verification apparatus 220 according to the present embodiment will be described with reference to the flowchart shown in FIG. 9 of the first embodiment.
- the reception unit 221 of the signature verification apparatus 220 receives the signature data set SS from the signature generation apparatus 210 via the communication path 230 , and stores the signature data set SS in the signature data set storage unit 223 (Step S 170 ).
- the signature verification unit 224 verifies, for the public key KP and the signature data SP included in the public key certificate CP within the signature data set SS, whether or not the signature data SP is an authorized signature of the public key KP, using the CA public key KCP stored in the CA public key storage unit 222 . In other words, the signature verification unit 224 judges whether or not the signature data SP is an authorized signature (Step S 172 ). Here, in the case of judging that the signature data SP is not an authorized signature (N in Step S 172 ), the signature verification unit 224 denies the signature data SP (Step S 174 ).
- the signature verification unit 224 accepts the signature data SP.
- the signature verification unit 224 verifies, for the message m and the signature data S included in the signature data set SS, whether or not the signature data S is an authorized signature of the message m, using the public key KP. In other words, the signature verification unit 224 judges whether or not the signature data S is an authorized signature (Step S 176 ).
- the signature verification unit 224 denies the signature data S (Step S 174 ), whereas in the case of judging that the signature data S is an authorized signature (Y in Step S 176 ), accepts the signature data S (Step S 178 ). That is to say, in Step S 178 , the signature verification unit 224 recognizes that the signature data set SS is data provided with an authorized signature.
- the signature verification apparatus 220 can properly decrypt the polynomial t′ which is a part of the signature vector, by adding a product of the polynomial th′ and q to a remainder, modulo q, of a product of the polynomial s′ and the public key (polynomial h).
- signature data by which the signature verification apparatus 220 can properly decrypt the signature vector (s′, t′) is generated without performing (mod q) operation on the signature vector (s′, t′). Therefore, it is possible to prevent the lack of information due to the (mod q) operation and thus, to surely prevent the occurrence of inappropriate signature verification error as caused in the conventional examples.
- a is an integer number ranging from “1” to “q ⁇ 1”
- ( ⁇ , ⁇ , . . . , ⁇ ) is a vector whose elements are all ⁇ , that is, a vector having a norm of 0.
- the first element (coefficient of a term of degree 0) of the polynomial s′ is made equal to the first element of the polynomial m1.
- any of the other elements, namely, any of the second to the N th elements may be set equal.
- a vector having a norm of 0 is added to the polynomial s so that the third element (a coefficient of a term of second degree) of the polynomial s′ equals to the third element of the polynomial m1.
- ( ⁇ , ⁇ , . . . , ⁇ ) is a vector whose elements are all ⁇ .
- the signature generation apparatus and the signature verification apparatus are a computer system comprised of a microprocessor, a Read Only Memory (ROM), a Random Access Memory (RAM), a hard disk unit, a display unit, a keyboard, a mouse and the like.
- a computer program is stored in the RAM or the hard disk unit. With the operation of the micro processor in accordance with the computer program, the signature generation apparatus and the signature verification apparatus achieve their respective functions.
- the computer program here is configured by combining plural instruction codes, each code indicating a command to a computer for achieving a predetermined function.
- a part or all of the components composing the signature generation apparatus and the signature verification apparatus according to the first and second embodiments may be configured by one system Large Scale Integration (LSI).
- the system LSI is a hyper-multifunctional LSI manufactured by integrating plural components on one chip.
- the system LSI is a computer system comprised of a micro processor, a ROM and a RAM.
- a computer program is stored in the RAM. With the operation of the micro processor in accordance with the computer program, the system LSI achieves its functions.
- a part or all of the components composing the signature generation apparatus and the signature verification apparatus according to the first and second embodiments may be configured by a single module or by an Integrated Circuit (IC) card attachable to and detachable from the signature generation apparatus or the signature verification apparatus.
- the IC card or the module is a computer system comprised of a micro processor, a ROM, a RAM and the like.
- the IC card or the module may include the hyper-multifunctional LSI as described above. With the operation of the micro processor in accordance with the computer program, the IC card or the module achieves its functions.
- the IC card or the module may be anti-tamper.
- the present invention can be realized not only as a system or an apparatus in the digital signature system according to the first and second embodiments, but also as a processing method. Moreover, the present invention may be realized as a computer program that causes a computer to execute the operation of such a processing method, or as a digital signal made up of the computer program.
- the present invention may also be realized as a computer-readable storage medium, such as a flexible disk, a hard disk, a Compact Disk Read Only Memory (CR-ROM), a Magneto-optical disk (MO), a Digital Versatile Disk (DVD), a DVD-RAM, a Blu-ray Disc (BD) and a semiconductor memory, in which the computer program or the digital signal is stored.
- a computer-readable storage medium such as a flexible disk, a hard disk, a Compact Disk Read Only Memory (CR-ROM), a Magneto-optical disk (MO), a Digital Versatile Disk (DVD), a DVD-RAM, a Blu-ray Disc (BD) and a semiconductor memory, in which the computer program or the digital signal is stored.
- the present invention may be realized as the digital signal stored in such a storage medium.
- the present invention may be realized as something that transfers the computer program or the digital signal via an electrical communication line, a wireless or wired communication line, a network represented by the Internet, data broadcast, or the like.
- the present invention may also be realized as a computer system comprised of a microprocessor and a memory.
- the computer program is stored in the memory and the microprocessor operates according to the computer program.
- the present invention may be realized by another independent computer system by recording the digital signal in the storage medium and transporting the recorded signal or transporting the digital signal via the network or the like.
- the present invention may be realized by combining the embodiments 1 and 2 described above.
- the signature generation apparatus and the signature verification apparatus according to the present invention produce an effect of surely preventing the occurrence of inappropriate signature verification error, and is suitable for a digital signature system, for instance.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-120095 | 2005-04-18 | ||
JP2005120095 | 2005-04-18 | ||
PCT/JP2006/307533 WO2006115021A1 (ja) | 2005-04-18 | 2006-04-10 | 署名生成装置及び署名検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090235078A1 US20090235078A1 (en) | 2009-09-17 |
US7792286B2 true US7792286B2 (en) | 2010-09-07 |
Family
ID=37214646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/578,978 Active 2028-09-10 US7792286B2 (en) | 2005-04-18 | 2006-04-10 | Signature generation device and signature verification device |
Country Status (5)
Country | Link |
---|---|
US (1) | US7792286B2 (zh) |
EP (1) | EP1873965A1 (zh) |
JP (1) | JP4620669B2 (zh) |
CN (1) | CN1954548B (zh) |
WO (1) | WO2006115021A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070285581A1 (en) * | 2006-04-07 | 2007-12-13 | Mun Seok Kang | Electron emission display device and video data revision method |
US20110238510A1 (en) * | 2004-06-14 | 2011-09-29 | 20/20 Ventures, LLC | Reduction of transaction fraud through the use of automatic centralized signature/sign verification combined with credit and fraud scoring during real-time payment card authorization processes |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4988448B2 (ja) * | 2007-06-25 | 2012-08-01 | 株式会社日立製作所 | 一括検証装置、プログラム及び一括検証方法 |
US8458479B2 (en) * | 2008-02-20 | 2013-06-04 | Mitsubishi Electric Corporation | Verification apparatus |
DE102008015865B4 (de) * | 2008-03-26 | 2011-03-31 | Technische Universität Darmstadt | Verfahren zur Erzeugung einer digitalen Signatur |
ATE547855T1 (de) * | 2008-10-01 | 2012-03-15 | Sap Ag | Kontextfreie und kontextsensitive digitale xml- signaturen für soap botschaften |
JP5593850B2 (ja) * | 2010-05-31 | 2014-09-24 | ソニー株式会社 | 認証装置、認証方法、プログラム、及び署名生成装置 |
US8677135B2 (en) | 2010-12-17 | 2014-03-18 | Microsoft Corporation | Digital signatures with error polynomials |
JP5606344B2 (ja) * | 2011-01-25 | 2014-10-15 | 三菱電機株式会社 | 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム |
JP2013042315A (ja) * | 2011-08-12 | 2013-02-28 | Sony Corp | 情報処理装置、及び情報処理方法 |
US9942031B2 (en) * | 2014-09-03 | 2018-04-10 | Research Foundation Of The City University Of New York | System and method for private-key fully homomorphic encryption and private search between rings |
KR102444193B1 (ko) * | 2020-04-29 | 2022-09-19 | 국방과학연구소 | Ring-LWR기반 양자내성 서명 방법 및 그 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081597A (en) | 1996-08-19 | 2000-06-27 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
WO2003050998A1 (en) | 2001-12-07 | 2003-06-19 | Ntru Cryptosystems, Inc. | Digital signature and authentication method and apparatus |
US20040078414A1 (en) * | 2000-06-01 | 2004-04-22 | Geiringer Felix Egmont | Decryption of cipher polynomials |
US20040151309A1 (en) * | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
US20070274518A1 (en) * | 2004-05-12 | 2007-11-29 | Yuichi Futa | Encryption System, Encryption Device, Decryption Device, Program, And Integrated Circuit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1268086C (zh) * | 2001-05-04 | 2006-08-02 | 株式会社Ntt都科摩 | 基于环的签名方案 |
CN1260664C (zh) * | 2003-05-30 | 2006-06-21 | 武汉理工大学 | 一种用户计算机之间交换密钥的方法 |
-
2006
- 2006-04-10 US US11/578,978 patent/US7792286B2/en active Active
- 2006-04-10 EP EP06731480A patent/EP1873965A1/en not_active Withdrawn
- 2006-04-10 JP JP2006527181A patent/JP4620669B2/ja active Active
- 2006-04-10 CN CN2006800001667A patent/CN1954548B/zh active Active
- 2006-04-10 WO PCT/JP2006/307533 patent/WO2006115021A1/ja active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081597A (en) | 1996-08-19 | 2000-06-27 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
JP2000516733A (ja) | 1996-08-19 | 2000-12-12 | エヌティーアールユー クリプトシステムズ,インコーポレーテッド | 公開鍵暗号システム方法および装置 |
US6298137B1 (en) | 1996-08-19 | 2001-10-02 | Ntru Cryptosystems, Inc. | Ring-based public key cryptosystem method |
US20040078414A1 (en) * | 2000-06-01 | 2004-04-22 | Geiringer Felix Egmont | Decryption of cipher polynomials |
WO2003050998A1 (en) | 2001-12-07 | 2003-06-19 | Ntru Cryptosystems, Inc. | Digital signature and authentication method and apparatus |
US20030120929A1 (en) | 2001-12-07 | 2003-06-26 | Ntru Cryptosystems, Incorporated | Digital signature and authentication method and apparatus |
JP2005515659A (ja) | 2001-12-07 | 2005-05-26 | エヌティーアールユー・クリプトシステムズ・インコーポレーテッド | ディジタル署名、認証方法及び装置 |
US20040151309A1 (en) * | 2002-05-03 | 2004-08-05 | Gentry Craig B | Ring-based signature scheme |
US20070274518A1 (en) * | 2004-05-12 | 2007-11-29 | Yuichi Futa | Encryption System, Encryption Device, Decryption Device, Program, And Integrated Circuit |
Non-Patent Citations (8)
Title |
---|
"Efficient Embedded Security Standards (EESS) EESS#1: Implementation Aspects of NTRUENCRYPT and NTRUSIGN" Ver. 2.0, Jun. 20, 2003. |
Gentry et al., "Cryptanalysis of the Revised NTRU Signature Scheme", 2002, pp. 299-320, Advances in Cryptology-EUROCRYPT 2002. * |
Howgrave-Graham et al., "The Impact of Decryption Failures on the Security of NTRU Encryption", 2003, Advances in Cryptology-CRYPTO 2003, pp. 226-246. * |
J. Hoffstein, J. Pipher, and J. H. Silverman, "NSS: An NTRU Lattice Based Signature Scheme", Advances in Cryptology-Eurocrypt'01, LNCS, vol. 2045, pp. 123-137, Springer-Verlag, 2001. |
J. Hoffstein, J. Pipher, and J.H. Silverman, "NTRU: A Ring Based Public Key Cryptosystem", Lecture Notes in Computer Science, 1423, pp. 267-288, Springer-Verlag, 1998. |
J. Hoffstein, N. Graham, J. Pipher, J. Silverman and W Whyte, "NTRUSIGN: Digital Signatures Using the NTRU Lattice", CT-RSA'03, LNCS, vol. 2612, pp. 122-140, Springer-Verlag, 2003. |
Min et al., "On the security of NTRUSign signature scheme", 2004, Symposium on Cryptography and Information Security, The Institute of Electronics, Information and Communication Engineers. * |
Stam, "A Key Encapsulation Mechanism for NTRU", 2005, Cryptography and Coding, pp. 410-427. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238510A1 (en) * | 2004-06-14 | 2011-09-29 | 20/20 Ventures, LLC | Reduction of transaction fraud through the use of automatic centralized signature/sign verification combined with credit and fraud scoring during real-time payment card authorization processes |
US8885894B2 (en) | 2004-06-14 | 2014-11-11 | Michael John Rowen | Reduction of transaction fraud through the use of automatic centralized signature/sign verification combined with credit and fraud scoring during real-time payment card authorization processes |
US20070285581A1 (en) * | 2006-04-07 | 2007-12-13 | Mun Seok Kang | Electron emission display device and video data revision method |
US7884780B2 (en) * | 2006-04-07 | 2011-02-08 | Samsung Sdi Co., Ltd. | Electron emission display device and video data revision method |
Also Published As
Publication number | Publication date |
---|---|
WO2006115021A1 (ja) | 2006-11-02 |
US20090235078A1 (en) | 2009-09-17 |
CN1954548A (zh) | 2007-04-25 |
JPWO2006115021A1 (ja) | 2008-12-18 |
CN1954548B (zh) | 2010-07-21 |
EP1873965A1 (en) | 2008-01-02 |
JP4620669B2 (ja) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7792286B2 (en) | Signature generation device and signature verification device | |
US7773746B2 (en) | Encryption system, encryption device, decryption device, program, and integrated circuit | |
US11394525B2 (en) | Cryptography device having secure provision of random number sequences | |
US6480605B1 (en) | Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon | |
US11201725B2 (en) | Cryptography device having improved security against side-channel attacks | |
EP1710952B1 (en) | Cryptographic Applications of the Cartier Pairing | |
US7574596B2 (en) | Cryptographic method and apparatus | |
US8654975B2 (en) | Joint encryption of data | |
US7739504B2 (en) | Signature generation apparatus and signature verification apparatus | |
US7986778B2 (en) | Cryptographic method and apparatus | |
EP3068066A1 (en) | Private computation on encrypted biometric data using homomorphic encryption | |
JPWO2009125537A1 (ja) | 署名及び検証方法、署名生成装置並びに署名検証装置 | |
JPWO2006077701A1 (ja) | 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置 | |
US9544144B2 (en) | Data encryption | |
US7103775B2 (en) | Signature calculation system by use of mobile agent | |
US8331556B2 (en) | Asymmetrical method of encryption or signature verification | |
KR100395158B1 (ko) | 유한 비가환군을 이용한 공개키 암호 시스템 | |
KR100431047B1 (ko) | Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치 | |
JP5596616B2 (ja) | 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム | |
JP5912281B2 (ja) | 復号結果検証装置、方法、システム及びプログラム | |
US20240106639A1 (en) | Method of Calculating Cipher and Electronic Device Performing the Method | |
Hankerson et al. | Cryptographic protocols | |
JP2001222218A (ja) | 暗号化装置、方法、復号装置、方法、暗号システム及びプログラムを記憶した記憶媒体 | |
EP1605626A1 (en) | Cryptographic method and apparatus | |
Kwon | Robust Software Tokens—Yet another method for securing user’s digital identity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TOHOKU TECHNO ARCH CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOHOKU UNIVERSITY;REEL/FRAME:019409/0115 Effective date: 20070423 Owner name: TOHOKU TECHNO ARCH CO., LTD.,JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOHOKU UNIVERSITY;REEL/FRAME:019409/0115 Effective date: 20070423 |
|
AS | Assignment |
Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOHOKU TECHNO ARCH CO., LTD.;REEL/FRAME:019423/0192 Effective date: 20070524 Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.,JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOHOKU TECHNO ARCH CO., LTD.;REEL/FRAME:019423/0192 Effective date: 20070524 |
|
AS | Assignment |
Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FUTA, YUICHI;HASEGAWA, SHINGO;ISOBE, SHUJI;AND OTHERS;REEL/FRAME:021106/0274;SIGNING DATES FROM 20060824 TO 20061004 Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FUTA, YUICHI;HASEGAWA, SHINGO;ISOBE, SHUJI;AND OTHERS;SIGNING DATES FROM 20060824 TO 20061004;REEL/FRAME:021106/0274 |
|
AS | Assignment |
Owner name: PANASONIC CORPORATION,JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.;REEL/FRAME:021832/0197 Effective date: 20081001 Owner name: PANASONIC CORPORATION, JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.;REEL/FRAME:021832/0197 Effective date: 20081001 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |