WO2025074851A1 - Information processing method, information processing system, and program - Google Patents
Information processing method, information processing system, and program Download PDFInfo
- Publication number
- WO2025074851A1 WO2025074851A1 PCT/JP2024/033035 JP2024033035W WO2025074851A1 WO 2025074851 A1 WO2025074851 A1 WO 2025074851A1 JP 2024033035 W JP2024033035 W JP 2024033035W WO 2025074851 A1 WO2025074851 A1 WO 2025074851A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- electronic signature
- verifier
- hash value
- public key
- information processing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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
Definitions
- This disclosure relates to an information processing method, an information processing system, and a program, and in particular to an information processing method, an information processing system, and a program that enable the realization of practical electronic signatures that are highly secure and quantum-resistant.
- Electronic signatures are used to identify the creator of an electronic document. For this reason, if an electronic signature is forged by a malicious third party, there is a risk that the electronic document may be forged, so a high level of security is required.
- signature methods have been proposed that make use of difficult mathematical problems that do not have efficient algorithms that computers can solve, such as the prime factorization problem or the discrete logarithm problem, which pose a high degree of computational complexity.
- An information processing method is an information processing method including the steps of setting s ⁇ Rq as a private key, setting F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key, generating a digital signature based on the private key, and verifying whether the digital signature is authentic using the public key.
- s ⁇ Rq is set as a private key
- F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function is set as a public key
- a digital signature is generated based on the private key, and whether or not the digital signature is authentic is verified using the public key.
- FIG. 1 is a diagram illustrating an overview of the present disclosure.
- FIG. 11 is a diagram for explaining a Ring-MQ function calculation process.
- 3 is a flowchart illustrating the Ring-MQ function calculation process of FIG. 2;
- FIG. 2 is a diagram illustrating an example of an authentication protocol configuration used in the electronic signature system of the present disclosure.
- 5 is a diagram illustrating an example of the configuration of the prover side information processing device in FIG. 4;
- FIG. 5 is a diagram illustrating an example of the configuration of the verifier side information processing device in FIG. 4.
- 5 is a flowchart illustrating an authentication information verification process according to the authentication protocol of FIG. 4.
- Figure 1 shows an electronic signature system for implementing a general electronic signature method.
- an electronic mechanism that has the same effect as stamping or signing a paper document is required.
- This mechanism is called an electronic signature.
- a mechanism in which signature data known only to the creator of the data is associated with the data and provided to the recipient, and the signature data is then verified on the recipient's side, is called an electronic signature method.
- the electronic signature system 1 that realizes the electronic signature method is composed of, for example, a signer-side information processing device 2 and a verifier-side information processing device 3.
- the signer's information processing device 2 and the verifier's information processing device 3 are information processing devices used by the signer and the verifier, respectively, and are configured to be able to communicate with each other.
- the signer side information processing device 2 has a key generation unit Gen and an electronic signature generation unit Sig.
- the key generation unit Gen generates a signer-specific private key (signature key) sk and a public key (verification key) pk, and transmits and outputs only the public key pk to the verifier-side information processing device 3.
- the electronic signature generation unit Sig applies a hash function to the document M to generate a hash value h.
- the electronic signature generation unit Sig generates an electronic signature ⁇ based on the hash value h using the private key sk.
- the electronic signature generation unit Sig then transmits the document M and the electronic signature ⁇ to the verifier-side information processing device 3.
- the verifier side information processing device 3 is equipped with an electronic signature verification unit Ver.
- the electronic signature verification unit Ver acquires the public key pk, the document M, and the electronic signature ⁇ , it verifies the electronic signature ⁇ using the public key pk.
- the verifier proves that the signer has the private key sk, while keeping the private key sk completely secret from anyone other than the signer.
- the private key sk could be derived from the public key pk by performing a certain calculation, the confidentiality of the private key sk would be lost, making it possible for a third party to tamper with the document M.
- the specific function used to generate the public key pk from the private key sk has until now been a method that uses functions that are difficult to solve even with a computer, such as the prime factorization problem or the discrete logarithm problem. This prevents the private key sk from being derived from the public key pk, and maintains the confidentiality of the private key sk.
- an electronic signature scheme in which it is difficult to derive a private key sk from a public key pk even using a quantum computer will be referred to as a highly quantum-resistant electronic signature scheme or an electronic signature scheme using a quantum-resistant encryption scheme.
- LWE Learning with Error
- Fq is expressed as a finite field of order q.
- s and ai written in bold are vectors.
- ( Fq ) n is expressed by adding subscript q and superscript n to the bold F in (1).
- Fq is expressed as a finite field of order q.
- a is not a vector but a polynomial.
- s is also not a vector but a polynomial.
- the number of multiplications required is O(n 2 ).
- the challenge space in the challenge-and-response based protocol used in the interactive protocol changes from Fq to Rq , thereby reducing soundness errors.
- the electronic signature method using the Ring-LWE problem requires less calculations than the electronic signature method using the LWE problem, can increase the calculation speed, and can reduce soundness errors.
- the LWE problem is not the only difficult problem that has been proposed; other problems have also been proposed, and in recent years, an electronic signature method using the multivariate quadratic problem (MQ) has also been proposed.
- MQ multivariate quadratic problem
- An MQ function is, for example, m n-variable quadratic polynomials f1(x1, ..., xn), ..., fm(x1, ..., xn) defined over a ring K.
- a function that deals with the MQ problem is, for example, a function as shown in the following formula (3).
- the "T" in the upper right of s and b is a transposition symbol.
- equation (3) s and b written in bold are vectors, and A is a matrix.
- a i s is the product of a matrix and a vector, so the number of multiplications is n 2.
- the Ring-MQ problem is a problem of finding s from the value of a public key F( s ) associated with a Ring- MQ function F, which includes two sequential multiplications, one of which is composed of a multiply-and-accumulate operation on Fq and the other of which is composed of a multiplication on Rq , where s ⁇ Rq is a private key.
- the Ring-MQ function calculation process is realized by a product-sum calculation process C1 that executes a product-sum calculation on Fq between an input private key s and a parameter A, and a multiplication process C2 that performs a multiplication (product) on Rq between the calculation result of the product-sum calculation process C1 and the private key s.
- the Ring-MQ function calculation process in Figure 2 derives the public key F(s) from the input private key s by the process shown in the flowchart in Figure 3.
- step S1 the product-sum calculation process C1 sets parameter A.
- step S2 the product-sum calculation process C1 accepts input of the private key s.
- step S3 the product-sum calculation process C1 calculates the product-sum of the parameter A and the private key s in Fq , and outputs the result to the multiplication process C2.
- step S4 the multiplication process C2 multiplies the result of the product-sum calculation of the parameter A and the private key s in Fq by the private key s to obtain the product.
- step S5 the multiplication process C2 multiplies the product-sum calculation result of the parameter A and the private key s in Fq by the private key s, and outputs the multiplication result as the public key F(s).
- the public key F(s) is obtained from the private key s.
- the problem of obtaining the private key s from the public key F(s) is the Ring-MQ problem.
- the Ring-MQ problem is, for example, the problem of finding the private key s from the value of the public key F(s) shown in the following equation (4).
- an instance can be expressed by O(n 2 ) elements of Fq .
- the number of multiplications of Fq by FFT/NTT is O(n 2 ), which is smaller than the number of multiplications in the MQ problem (O(n 3 )).
- the private key s is composed of a vector, but in an electronic signature method using the Ring-MQ problem, the private key s is a polynomial rather than a vector.
- the private key s is a polynomial rather than a vector.
- a verifier verifies that a prover holds a private key, without knowing the prover's private key, based on signature information (electronic signature) generated using a private key held only by the prover.
- the authentication protocol 11 is composed of a prover-side information processing device 31 used by the prover, and a verifier-side information processing device 32 used by the verifier.
- the prover information processing device 31 returns a response to a challenge from the verifier information processing device 32, and the verifier information processing device 32 verifies the contents of the response, thereby executing an authentication protocol that verifies that the prover holds the private key.
- the prover-side information processing device 31 is included in the signer-side information processing device 2 in FIG. 1, and has a key generation unit 51 and an authentication information generation unit 52.
- the part that receives the hash values h1 and h2 of the verifier-side information processing device 32 and generates challenges ⁇ and ch accordingly is also included in the signer-side information processing device 2 in FIG. 1.
- the key generation unit 51 generates the private key sk and public key pk used for the electronic signature, and supplies the public key pk to the verifier side information processing device 32 to share it.
- the authentication information generation unit 52 generates hash values h1 and h2 and supplies them to the verifier-side information processing device 32. At this time, after supplying the hash value h1 to the verifier-side information processing device 32, the authentication information generation unit 52 acquires a challenge ⁇ selected and supplied (returned) by the verifier, generates a hash value h2 using the challenge ⁇ , and transmits it to the verifier-side information processing device 32.
- the authentication information generation unit 52 After transmitting the hash value h2, the authentication information generation unit 52 generates a response ⁇ ', which is signature information, based on the challenge ch provided by the verifier-side information processing device 32, and provides it to the verifier-side information processing device 32 together with the document M.
- the authentication information verification unit 71 acquires the hash values h1 and h2 supplied from the prover side information processing device 31, and generates a challenge using an algorithm related to the Fiat-Shamir transformation and supplies it to the prover side information processing device 31.
- the input unit 102 is made up of input devices such as a keyboard, mouse, and touch panel through which the user inputs operation commands, and supplies various input signals to the control unit 101.
- the output unit 103 is controlled by the control unit 101, and includes a display unit and an audio output unit.
- the output unit 103 outputs and displays images of the operation screen and processing results on the display unit, which is made up of a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence).
- the output unit 103 also controls the audio output unit, which is made up of an audio output device, to play various types of audio, music, sound effects, etc.
- the memory unit 104 consists of a HDD (Hard Disk Drive), SSD (Solid State Drive), or semiconductor memory, and is controlled by the control unit 101 to write and read various data and programs.
- HDD Hard Disk Drive
- SSD Solid State Drive
- the communication unit 105 is controlled by the control unit 101, and realizes wired or wireless communications such as LAN (Local Area Network) or Bluetooth (registered trademark), and transmits and receives various data and programs to and from the verifier's information processing device 32 and various other devices via the network as necessary.
- LAN Local Area Network
- Bluetooth registered trademark
- the drive 106 reads and writes data to a removable storage medium 107 such as a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor memory.
- a removable storage medium 107 such as a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor memory.
- the verifier information processing device 32 is composed of a control unit 131, an input unit 132, an output unit 133, a storage unit 134, a communication unit 135, a drive 136, and a removable storage medium 137, which are interconnected via a bus 138 and can transmit and receive data and programs.
- the control unit 131 is composed of a processor and a memory, and controls the overall operation of the verifier side information processing device 32.
- the control unit 131 also includes an authentication information verification unit 71. Note that the authentication information verification unit 71 has been described with reference to FIG. 4, so its description will be omitted.
- step S31 the key generation unit 51 of the prover side information processing device 31 generates a private key sk.
- step S32 the key generation unit 51 generates a public key pk based on the private key sk, and supplies both the private key sk and the public key pk to the authentication information generation unit 52, and controls the communication unit 105 to distribute and share the public key pk with the verifier-side information processing device 32.
- step S33 the authentication information generation unit 52 calculates the hash value h1 by calculating the following formula (7) and transmits it to the verifier side information processing device 32.
- step S52 the authentication information verification unit 71 obtains the hash value h1 provided by the prover side information processing device 31.
- step S53 the authentication information verification unit 71 selects one challenge ⁇ from an element of the ring Rq having qn ways, as shown in the following formula (8). Then, the authentication information verification unit 71 transmits the selected challenge ⁇ to the prover side information processing device 31.
- step S34 the authentication information generation unit 52 obtains the challenge ⁇ from the verifier side information processing device 32.
- step S35 the authentication information generation unit 52 calculates the hash value h2 by calculating the following equation (9) and transmits it to the verifier side information processing device 32.
- step S54 the authentication information verification unit 71 obtains the hash value h2 provided by the prover side information processing device 31.
- step S36 the authentication information generation unit 52 acquires the challenge ch from the verifier side information processing device 32.
- step S37 the authentication information generation unit 52 generates a response ⁇ ' by calculating the following formula (11) and transmits it as a response together with the document M to the verifier side information processing device 32.
- the authentication information generation unit 52 generates a value path called a seed tree path for calculating a seed value seed i other than seed ch , based on the seed value seed i and the challenge ch.
- the authentication information generation unit 52 generates a value view according to the challenge ch. If the challenge ch is N, the value view is the value path itself. Otherwise (if the challenge ch is other than N), the value view is ⁇ path, [s] N , [c] N ⁇ .
- step S56 the authentication information verification unit 71 obtains the response ⁇ ' and the document M.
- step S57 the authentication information verification unit 71 calculates the following formula (12) to analyze the response ⁇ ' and calculate the hash values h1' and h2' in the challenge ch that correspond to the hash values h1 and h2 in the challenge ch.
- the authentication information verification unit 71 calculates hash values h1' and h2' corresponding to hash values h1 and h2 from the public key pk and response ⁇ '.
- step S58 the authentication information verification unit 71 determines whether the hash values h1 and h2 obtained before generating the challenge ch match the corresponding hash values h1' and h2', as shown in formula (13).
- step S58 If the two match in step S58, the process proceeds to step S59, and the authentication information verification unit 71 determines that the response ⁇ ' is valid.
- step S60 If the two do not match in step S60, the process proceeds to step S60, and the authentication information verification unit 71 determines that the response ⁇ ' is not valid.
- step S61 the authentication information verification unit 71 transmits the verification result to the prover side information processing device 31.
- step S38 the authentication information generation unit 52 obtains the verification result.
- the electronic signature verification process disclosed herein can reduce the amount of calculations and improve the calculation speed, while also reducing the probability of false positives, making it possible to achieve more accurate electronic signature verification.
- the amount of communication when converting the above-mentioned MPC (Multi-Party Computation) to ZKP using MPCitH (Sacrificing) is expressed by the following formula (16).
- ⁇ is a security parameter
- ⁇ is the number of parallel repetitions
- N is the number of parties in MPC
- cost MPC is the part of the MPC protocol that depends on the communication volume.
- cost MPC is expressed as shown in Fig. 8.
- Fig. 8 from the top of the figure, a partial cost MPC that depends on the communication volume of the MPC protocol and a soundness error are described from the left side of the figure for each of an electronic signature scheme that handles the MQ problem without using an extension field, an electronic signature scheme that handles the MQ problem using an extension field, and an electronic signature scheme that handles the Ring-MQ problem of the present disclosure.
- the portion of the MPC protocol that depends on the amount of communication, cost MPC is ((2n+1) ⁇ log q), and the soundness error is (1/N+(1 ⁇ 1/N) ⁇ (2/q ⁇ 1/q 2 )).
- the partial cost MPC that depends on the communication volume of the MPC protocol is ((n+n ⁇ + ⁇ ) ⁇ log q) using the parameter ⁇ used in the reference literature, and the soundness error is (1/N+(1-1/N) ⁇ (2/q ⁇ -1/q 2 ⁇ )).
- the portion of the MPC protocol that depends on the communication volume, cost MPC is ((3deg f) ⁇ log q), and the soundness error is (1/N+(1 ⁇ 1/N) ⁇ (2/q deg f )).
- the number of MPC parties N is 256
- q is 256
- ⁇ is 1
- n 40
- the number of parallel repetitions ⁇ is 39
- the signature length is 9463B.
- the number of MPC parties N is 256
- q is 256
- ⁇ is 2
- n is 40
- the number of parallel repetitions ⁇ is 25
- the signature length (Signature Size) is 7114B.
- the number of MPC parties N is 256
- q is 256
- ⁇ is -
- n 40
- the number of parallel repetitions ⁇ is 16
- the signature length is 4544B.
- the electronic signature method disclosed herein that addresses the Ring-MQ problem makes it possible to improve communication speeds and processing speeds related to calculations.
- the electronic signature method disclosed herein uses a function that deals with the Ring-MQ problem, making it possible to reduce the amount of calculations, improve the calculation speed, and reduce the load associated with the calculations.
- Example of execution by software>> The above-mentioned series of processes can be executed by hardware, but can also be executed by software.
- the programs constituting the software are installed from a recording medium into a computer built into dedicated hardware, or into, for example, a general-purpose computer capable of executing various functions by installing various programs.
- FIG 10 shows an example of the configuration of a general-purpose computer.
- This computer has a built-in CPU (Central Processing Unit) 1001.
- An input/output interface 1005 is connected to the CPU 1001 via a bus 1004.
- a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004.
- an input unit 1006 consisting of input devices such as a keyboard and mouse through which the user inputs operation commands
- an output unit 1007 which outputs a processing operation screen and images of the processing results to a display device
- a storage unit 1008 consisting of a hard disk drive for storing programs and various data
- a communication unit 1009 consisting of a LAN (Local Area Network) adapter and the like, which executes communication processing via a network such as the Internet.
- LAN Local Area Network
- a drive 1010 which reads and writes data to removable storage media 1011 such as a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor memory.
- removable storage media 1011 such as a magnetic disk (including a flexible disk), an optical disk (including a CD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital Versatile Disc)), a magneto-optical disk (including an MD (Mini Disc)), or a semiconductor memory.
- the CPU 1001 executes various processes according to a program stored in the ROM 1002, or a program read from a removable storage medium 1011 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory and installed in the storage unit 1008, and loaded from the storage unit 1008 to the RAM 1003.
- the RAM 1003 also stores data necessary for the CPU 1001 to execute various processes, as appropriate.
- the CPU 1001 loads a program stored in the storage unit 1008, for example, into the RAM 1003 via the input/output interface 1005 and the bus 1004, and executes the program, thereby performing the above-mentioned series of processes.
- a program can be installed in the storage unit 1008 via the input/output interface 1005 by inserting the removable storage medium 1011 into the drive 1010.
- the program can also be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008.
- the program can be pre-installed in the ROM 1002 or storage unit 1008.
- the program executed by the computer may be a program in which processing is performed chronologically in the order described in this specification, or a program in which processing is performed in parallel or at the required timing, such as when called.
- the CPU 1001 in FIG. 10 realizes the functions of the control unit 101 in FIG. 5 and the control unit 131 in FIG. 6.
- a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all the components are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device in which multiple modules are housed in a single housing, are both systems.
- the present disclosure can be configured as a cloud computing system in which a single function is shared and processed collaboratively by multiple devices over a network.
- each step described in the above flowchart can be executed by a single device, or can be shared and executed by multiple devices.
- one step includes multiple processes
- the multiple processes included in that one step can be executed by one device, or can be shared and executed by multiple devices.
- the present disclosure can also be configured as follows.
- s ⁇ R q is set as a private key
- F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function is set as a public key, generating a digital signature based on the private key; verifying, by using the public key, whether the electronic signature is authentic.
- the private key is kept private by the certifier;
- the public key is publicly available and is shared with a verifier who verifies whether the electronic signature is authentic; a prover device operated by the prover generates the digital signature based on a challenge provided by a verifier device operated by the verifier, the private key, and the public key;
- the information processing method according to ⁇ 1> wherein the verifier device verifies the electronic signature based on the challenge and the public key.
- the challenge is generated by an algorithm based on the Fiat-Shamir transformation.
- the challenge is information selected by the verifier by operating the verifier side device.
- the information processing method described in ⁇ 3> further comprising: calculating a value corresponding to the first hash value from the electronic signature based on the pattern selected as the challenge, the public key, and information contained in the electronic signature; and verifying the electronic signature based on whether or not it matches the first hash value received from the prover device.
- the prover side device generating a first hash value based on a plurality of random numbers based on the seed value having the pattern of 1, . . .
- the verifier device includes: receiving the first hash value; transmitting the selected random number to the prover device; receiving the second hash value transmitted from the prover device; sending said pattern as a challenge to said prover device;
- a key generation unit that sets s ⁇ Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key; an electronic signature generating unit that generates an electronic signature based on the private key; and an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
- a key generation unit that sets s ⁇ Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key; an electronic signature generating unit that generates an electronic signature based on the private key; A program that causes a computer to function as an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
本開示は、情報処理方法、および情報処理システム、並びにプログラムに関し、特に、耐量子性を備えた安全性の高い実用的な電子署名を実現できるようにした情報処理方法、および情報処理システム、並びにプログラムに関する。 This disclosure relates to an information processing method, an information processing system, and a program, and in particular to an information processing method, an information processing system, and a program that enable the realization of practical electronic signatures that are highly secure and quantum-resistant.
情報処理技術や通信技術の急速な発展に伴い、公文書、私文書を問わず、文書の電子化が急速に進んでいる。これに伴い、電子文書を安全に管理するため、電子署名が利用されている。 With the rapid development of information processing and communication technologies, documents, both public and private, are being digitized at a rapid pace. As a result, electronic signatures are being used to safely manage electronic documents.
電子署名は、電子文書の作成者を特定するために利用される。そのため、電子署名は、悪意ある第三者により偽造されると、電子文書が偽造される恐れがあり、安全性の高さが求められる。 Electronic signatures are used to identify the creator of an electronic document. For this reason, if an electronic signature is forged by a malicious third party, there is a risk that the electronic document may be forged, so a high level of security is required.
これまで、電子署名の安全性を高めるため、コンピュータにおいて効率的に解くアルゴリズムが存在しない、例えば、素因数分解問題や離散対数問題などの、計算量の困難性を生じさせるような、数学的な難問を利用した署名方式が提案されてきた。 In order to increase the security of electronic signatures, signature methods have been proposed that make use of difficult mathematical problems that do not have efficient algorithms that computers can solve, such as the prime factorization problem or the discrete logarithm problem, which pose a high degree of computational complexity.
しかしながら、これらの数学的な問題は、量子コンピュータが実用化された場合、十分に実用的な速さで解くことが可能となるので、これまでの電子署名方式では、安全性が十分に確保されないことになる。 However, when quantum computers are put into practical use, these mathematical problems will be able to be solved quickly enough for practical purposes, meaning that current electronic signature methods will no longer be able to provide sufficient security.
そこで、素因数分解問題や離散対数問題など、量子コンピュータでは解くことが可能とされる問題とは異なる耐量子性を備えた問題として、多次多変数問題を用いた電子署名方式が提案されている(特許文献1参照)。 In response, a digital signature method has been proposed that uses multi-order, multivariate problems as quantum-resistant problems that differ from problems that can be solved by quantum computers, such as the prime factorization problem and the discrete logarithm problem (see Patent Document 1).
しかしながら、特許文献1に記載の技術のように、多次多変数問題を利用した電子署名方式は、耐量子性は高められるものの、電子署名のデータサイズが増大する点や、計算速度が遅くなることが知られており、実用的ではない側面がある。
However, electronic signature methods that use multi-order multivariate problems, such as the technology described in
このため、耐量子性が損なわれてしまうことを認識した上で、多次多変数問題以外の問題を利用した電子署名方式が採用され続けているという実態がある。 For this reason, electronic signature methods that use problems other than multi-order, multivariate problems continue to be adopted, even though they are aware that quantum resistance will be compromised.
本開示は、このような状況に鑑みてなされたものであり、特に、耐量子性を備えた安全性の高い実用的な電子署名を実現できるようにするものである。 This disclosure has been made in light of these circumstances, and in particular makes it possible to realize practical electronic signatures that are quantum-resistant and highly secure.
本開示の一側面の情報処理方法は、s∈Rqを秘密鍵に設定し、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)を公開鍵に設定し、前記秘密鍵に基づいて、電子署名を生成し、前記電子署名が正規か否かを前記公開鍵により検証するステップを含む情報処理方法である。 An information processing method according to one aspect of the present disclosure is an information processing method including the steps of setting s∈Rq as a private key, setting F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key, generating a digital signature based on the private key, and verifying whether the digital signature is authentic using the public key.
本開示の一側面の情報処理システムおよびプログラムは、s∈Rqを秘密鍵に設定し、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)を公開鍵に設定する鍵生成部と、前記秘密鍵に基づいて、電子署名を生成する電子署名生成部と、前記電子署名が正規か否かを前記公開鍵により検証する電子署名検証部とを備える情報処理システム、および前記鍵生成部と、前記電子署名生成部と、前記電子署名検証部としてコンピュータを機能させるプログラムである。 An information processing system and program according to one aspect of the present disclosure is an information processing system including a key generation unit that sets s∈Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial that forms a Ring-MQ (Multivariate Quadratic) function as a public key, an electronic signature generation unit that generates an electronic signature based on the private key, and an electronic signature verification unit that verifies whether the electronic signature is genuine using the public key, and a program that causes a computer to function as the key generation unit, the electronic signature generation unit, and the electronic signature verification unit.
本開示の一側面においては、s∈Rqが秘密鍵に設定され、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)が公開鍵に設定され、前記秘密鍵に基づいて、電子署名が生成され、前記電子署名が正規か否かが前記公開鍵により検証される。 In one aspect of the present disclosure, s∈Rq is set as a private key, F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function is set as a public key, a digital signature is generated based on the private key, and whether or not the digital signature is authentic is verified using the public key.
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Below, a preferred embodiment of the present disclosure will be described in detail with reference to the attached drawings. Note that in this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals to avoid redundant description.
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.本開示の概要
2.好適な実施の形態
3.ソフトウェアにより実行させる例
Hereinafter, an embodiment of the present technology will be described in the following order.
1. Overview of the
<<1.本開示の概要>>
<一般的な電子署名方式>
本開示は、特に、耐量子性を備えた安全性の高い実用的な電子署名を実現できるようにするものである。そこで、まず、一般的な電子署名方式について簡単に説明する。
<<1. Overview of the Disclosure>>
<Common electronic signature methods>
In particular, the present disclosure is directed to realizing a practical electronic signature that is quantum-resistant and highly secure. First, a general electronic signature method will be briefly described.
図1は、一般的な電子署名方式を実現するための電子署名システムを示している。 Figure 1 shows an electronic signature system for implementing a general electronic signature method.
紙文書とは異なり、電子化されたデータに対して押印したり署名を記載したりすることはできない。そのため、電子化されたデータの作成者を証明するには、紙文書に押印したり署名を記載したりするのと同等の効果を奏する電子的な仕組みが必要とされる。このような仕組みが電子署名である。例えば、データの作成者しか知らない署名データをデータに関連付けて受領者に提供し、その署名データを受領者側で検証する仕組みのことを電子署名方式と呼ぶ。 Unlike paper documents, it is not possible to stamp or sign digitized data. Therefore, to prove the creator of digitized data, an electronic mechanism that has the same effect as stamping or signing a paper document is required. This mechanism is called an electronic signature. For example, a mechanism in which signature data known only to the creator of the data is associated with the data and provided to the recipient, and the signature data is then verified on the recipient's side, is called an electronic signature method.
電子署名方式を実現する電子署名システム1は、例えば、署名者側情報処理装置2、および検証者側情報処理装置3から構成される。
The
署名者側情報処理装置2、および検証者側情報処理装置3は、それぞれ署名者および検証者により使用される情報処理装置であり、相互に通信可能な構成とされている。
The signer's
署名者側情報処理装置2は、鍵生成部Genおよび電子署名生成部Sigを備えている。
The signer side
鍵生成部Genは、署名者固有の秘密鍵(署名鍵)skと公開鍵(検証鍵)pkとを生成し、公開鍵pkのみを検証者側情報処理装置3に送信して出力する。 The key generation unit Gen generates a signer-specific private key (signature key) sk and a public key (verification key) pk, and transmits and outputs only the public key pk to the verifier-side information processing device 3.
電子署名生成部Sigは、文書Mにハッシュ関数を適用してハッシュ値hを生成する。電子署名生成部Sigは、秘密鍵skを用いてハッシュ値hに基づいて電子署名σを生成する。そして、電子署名生成部Sigは、文書M、および電子署名σを検証者側情報処理装置3に送信する。 The electronic signature generation unit Sig applies a hash function to the document M to generate a hash value h. The electronic signature generation unit Sig generates an electronic signature σ based on the hash value h using the private key sk. The electronic signature generation unit Sig then transmits the document M and the electronic signature σ to the verifier-side information processing device 3.
一方、検証者側情報処理装置3は、電子署名検証部Verを備えている。 On the other hand, the verifier side information processing device 3 is equipped with an electronic signature verification unit Ver.
電子署名検証部Verは、公開鍵pk、文書M、および電子署名σを取得すると、公開鍵pkを用いて電子署名σを検証する。 When the electronic signature verification unit Ver acquires the public key pk, the document M, and the electronic signature σ, it verifies the electronic signature σ using the public key pk.
このため、秘密鍵skについては、署名者以外の人物に対して、一切秘匿した状態のまま、検証者側において、署名者が秘密鍵skを持っていることが証明される。 As a result, the verifier proves that the signer has the private key sk, while keeping the private key sk completely secret from anyone other than the signer.
(LWE問題を用いた電子署名方式)
ところで、以上においては、文書Mから生成されたハッシュ値hが、秘密鍵skを用いて署名生成される際、文書Mから生成されたハッシュ値hが秘密鍵skで署名生成されることで、電子署名σが生成される。このとき、電子署名σは、公開鍵pkでなければ検証できず、また、公開鍵pkから秘密鍵skが求めることができないことを前提とする。
(Digital signature method using the LWE problem)
In the above description, when a hash value h generated from a document M is signed using a private key sk, an electronic signature σ is generated by signing the hash value h generated from the document M with the private key sk. At this time, it is assumed that the electronic signature σ can be verified only by the public key pk, and that the private key sk cannot be derived from the public key pk.
これは、公開鍵pkが、所定の関数に秘密鍵skを入力することで生成されるものであるからである。すなわち、これが故に、秘密鍵skで署名生成した情報については、対応する公開鍵pkでのみ検証可能とされる。 This is because the public key pk is generated by inputting the private key sk into a specified function. That is, for this reason, information signed with the private key sk can only be verified with the corresponding public key pk.
このため、万が一、公開鍵pkから所定の計算を行うことで、秘密鍵skが求められるような場合、秘密鍵skの秘匿性が失われることになり、第三者による文書Mの改ざんが可能になってしまう。 Therefore, if the private key sk could be derived from the public key pk by performing a certain calculation, the confidentiality of the private key sk would be lost, making it possible for a third party to tamper with the document M.
このように秘密鍵skは、秘匿性が必要とされるため、秘密鍵skから公開鍵pkを生成するための所定の関数は、これまで、素因数分解問題や離散対数問題などのコンピュータを利用しても解くことが難しい問題となる関数を用いた方式が採用されており、これにより公開鍵pkから秘密鍵skが求められることが防止され、秘密鍵skの秘匿性が維持されていた。 Because the private key sk needs to be kept secret, the specific function used to generate the public key pk from the private key sk has until now been a method that uses functions that are difficult to solve even with a computer, such as the prime factorization problem or the discrete logarithm problem. This prevents the private key sk from being derived from the public key pk, and maintains the confidentiality of the private key sk.
しかしながら、量子コンピュータの登場により、素因数分解問題や離散対数問題などの、これまでは解くことが難しいとされてきた問題に係る関数でも、解法のアルゴリズムが存在するため、容易に解くことが可能になった。すなわち、量子コンピュータの登場により、公開鍵pkから秘密鍵skを求めることが可能となってしまったため、秘密鍵skの秘匿性の確保が困難になりつつある。 However, with the advent of quantum computers, it has become possible to easily solve functions related to problems that were previously considered difficult to solve, such as the prime factorization problem and the discrete logarithm problem, because solution algorithms exist. In other words, with the advent of quantum computers, it has become possible to derive the private key sk from the public key pk, and it is becoming increasingly difficult to ensure the confidentiality of the private key sk.
このような経緯から、量子コンピュータを用いても、公開鍵pkから秘密鍵skを求めることが困難な電子署名方式が求められている。 In light of this, there is a demand for an electronic signature method that makes it difficult to derive the private key sk from the public key pk, even when using a quantum computer.
尚、以降において、量子コンピュータを用いても、公開鍵pkから秘密鍵skを求めることが困難な電子署名方式を、耐量子性の高い電子署名方式、または、耐量子暗号化方式を用いた電子署名方式とも称する。 In the following, an electronic signature scheme in which it is difficult to derive a private key sk from a public key pk even using a quantum computer will be referred to as a highly quantum-resistant electronic signature scheme or an electronic signature scheme using a quantum-resistant encryption scheme.
そこで、耐量子性の高い電子署名方式の一つとして、LWE(Learning with Error)問題を用いた電子署名方式が提案されている。以下の式(1)に、LWE問題を用いた場合の秘密鍵と公開鍵とを生成する関数の例を示す。 As a result, an electronic signature method using the LWE (Learning with Error) problem has been proposed as one of the highly quantum-resistant electronic signature methods. The following formula (1) shows an example of a function for generating a private key and a public key when using the LWE problem.
ここで、式(1)は、秘密鍵をs∈(Fq)nとしたとき、(ai,bi)が、公開鍵となる。すなわち、式(1)においては、i=1乃至mまでの一次方程式から構成されているが、各一次方程式には、ei(誤差項)が付されており、容易に行列計算ができない形態となっている。このことから、LWE(Learning with Error)問題を用いた電子署名方式では、量子コンピュータにおいても、公開鍵から秘密鍵を求めることはできないと言われている。 Here, in formula (1), when the private key is s∈( Fq ) n , (a i , b i ) is the public key. That is, formula (1) is composed of linear equations from i=1 to m, but each linear equation has e i (error term) added, making it difficult to perform matrix calculations. For this reason, it is said that in electronic signature methods using the LWE (Learning with Error) problem, even quantum computers cannot derive the private key from the public key.
尚、式(1)において、Fqについては、位数qの有限体であることが表現されている。また、太字で表記されたs,aiは、ベクトルである。また、(Fq)nは、(1)における太字のFに下付き文字qと上付き文字nが付されて表現されたものである。 In addition, in formula (1), Fq is expressed as a finite field of order q. Also, s and ai written in bold are vectors. Also, ( Fq ) n is expressed by adding subscript q and superscript n to the bold F in (1).
式(1)のLWE問題を用いた電子署名方式では、インスタンス数が、m=nのものが良く使われ、Fqの元O(n2)個で表現される。またベクトルのドット積演算により、式(1)の演算における乗算は、O(n2)回必要とされる。 In a digital signature scheme using the LWE problem in formula (1), the number of instances is often m=n, and is expressed as O(n 2 ) elements of Fq . In addition, due to the vector dot product operation, the multiplication in the operation of formula (1) is required O(n 2 ) times.
しかしながら、式(1)で示される電子署名方式の場合、電子署名のデータサイズが長大化すると共に、計算に係る時間的なコストが大きいことが知られており、計算の難問性が高いが故に、安全性を確保することが可能ではあるが、実用的ではないと言われている。 However, in the case of the electronic signature method shown in formula (1), it is known that the data size of the electronic signature becomes large and the time required for calculation is high. Due to the high difficulty of the calculation, it is said that although it is possible to ensure security, it is not practical.
(Ring-LWE問題を用いた電子署名方式)
そこで、以下の式(2)で示されるようなRing-LWE問題を用いた電子署名方式が提案されている。
(Digital signature method using the Ring-LWE problem)
Therefore, a digital signature scheme using the Ring-LWE problem as shown in the following equation (2) has been proposed.
ここで、式(2)は、秘密鍵をs∈Rqとしたとき、(ai,bi)が、公開鍵となる。すなわち、式(2)においては、i=1乃至mまでの一次方程式から構成されている。しかしながら、Ring-LWE問題を用いた電子署名方式においては、m=1のみを使用することが前提となる。 Here, in formula (2), when the private key is s∈Rq , (a i , b i ) is the public key. That is, formula (2) is composed of linear equations from i=1 to m. However, in the electronic signature method using the Ring-LWE problem, it is assumed that only m=1 is used.
尚、式(2)において、Fqについては、位数qの有限体であることが表現されている。aは、ベクトルではなく、多項式である。また、sもベクトルではなく、多項式である。 In addition, in formula (2), Fq is expressed as a finite field of order q. a is not a vector but a polynomial. s is also not a vector but a polynomial.
また、f(X)には、XN+1(N:べき数2)がよく用いられる。さらに、m=1で利用されることが多い。 For f(X), XN +1 (N: power of 2) is often used. Furthermore, m=1 is often used.
すなわち、Ring-LWE問題を用いる場合においては、インスタンス数m=1であるので、Fqの元O(n)個で表現可能とされる。 That is, when the Ring-LWE problem is used, the number of instances is m=1, so that Fq can be expressed with O(n) elements.
また、上述したように、LWE問題を用いる電子署名方式の場合、乗算回数がO(n2)回必要とされていた。 As described above, in the case of a digital signature scheme using the LWE problem, the number of multiplications required is O(n 2 ).
これに対して、Ring-LWEを用いる電子署名方式の場合、インスタンス(a,a・s+e)となるFFT(Fast Fourier Transform)/NTT(Number-Theoretic Transform)によるFqの乗算回数は、O(n log n)回となり、計算量そのものを小さくすることができる。なお、Ring-LWEを用いる電子署名方式では、a,sは、多項式である。 In contrast, in the case of a digital signature scheme using Ring-LWE, the number of multiplications of Fq by FFT (Fast Fourier Transform)/NTT (Number-Theoretic Transform) to obtain an instance (a, a·s+e) is O(n log n), which reduces the amount of calculation. Note that in the digital signature scheme using Ring-LWE, a and s are polynomials.
ただし、Ring-LWE問題を用いた電子署名方式の場合、実用上はインスタンスがseedから導出されることが多いため、電子署名のデータサイズを小さくすることより得られる効果よりも、演算速度面での改善による効果が大きい。 However, in the case of digital signature methods using the Ring-LWE problem, in practice, instances are often derived from a seed, so the benefits of improving calculation speed are greater than those of reducing the data size of the digital signature.
さらに、対話型プロトコルにFiat-Shamir変換を施すことで得られる電子署名方式の場合、対話プロトコル内で利用されているチャレンジアンドレスポンスに基づいたプロトコルにおけるチャレンジ用空間がFqからRqとなるため、健全性エラー(Soundness Error)が減少する。 Furthermore, in the case of a digital signature scheme obtained by applying the Fiat-Shamir transformation to an interactive protocol, the challenge space in the challenge-and-response based protocol used in the interactive protocol changes from Fq to Rq , thereby reducing soundness errors.
すなわち、Ring-LWE問題を用いた電子署名方式は、LWE問題を用いた電子署名方式よりも、計算量も少なく、演算速度の高速化も図ることができる上、健全性エラーを低減させることが可能となる。 In other words, the electronic signature method using the Ring-LWE problem requires less calculations than the electronic signature method using the LWE problem, can increase the calculation speed, and can reduce soundness errors.
(多次多変数問題(MQ問題)を用いた電子署名方式)
以上においては、耐量子性の高い電子署名方式の例として、LWE(Learning with Error)問題や、Ring-LWE問題を用いた電子署名方式について説明してきた。
(Electronic signature method using multivariate problem (MQ problem))
Above, we have explained electronic signature schemes that use the LWE (Learning with Error) problem and the Ring-LWE problem as examples of highly quantum-resistant electronic signature schemes.
しかしながら、難解な問題はLWE問題のみならず、他にも提案されているものがあり、近年においては、多次多変数問題(MQ(Multivariate Quadratic)問題)を用いた電子署名方式も提案されている。 However, the LWE problem is not the only difficult problem that has been proposed; other problems have also been proposed, and in recent years, an electronic signature method using the multivariate quadratic problem (MQ) has also been proposed.
MQ問題は、MQ関数を用いた問題であり、長年困難性が認識されている問題であることから、MQ問題を用いた電子署名方式は、安全性が高いことが知られていた。しかしながら、MQ問題を用いた電子署名方式は、電子署名のサイズが増大する、および、計算速度が遅くなるといった現実的には扱い難い点が指摘されている。このため、安全性についての信頼性が高いことが認識されているにも拘らず、MQ問題を用いた電子署名方式は、採用が敬遠されており、MQ問題を用いた電子署名方式ほどの耐量子性を備えていない他の問題を用いた電子署名方式が選択されてしまっている。 The MQ problem is a problem that uses the MQ function, and has long been recognized as being difficult, so electronic signature methods that use the MQ problem have been known to be highly secure. However, it has been pointed out that electronic signature methods that use the MQ problem are difficult to use in practice, as the size of the electronic signature increases and the calculation speed slows down. For this reason, despite the recognition that it is highly reliable in terms of security, electronic signature methods that use the MQ problem have been avoided, and electronic signature methods that use other problems that do not have the same quantum resistance as electronic signature methods that use the MQ problem have been selected.
MQ関数とは、例えば、環K上で定義されるm本のn変数二次多項式f1(x1,…,xn),…,fm(x1,…,xn)である。 An MQ function is, for example, m n-variable quadratic polynomials f1(x1, ..., xn), ..., fm(x1, ..., xn) defined over a ring K.
例えば、ベクトルs=(s1,…,sn)∈Knを、このMQ関数に代入することで、y=(y1,…,ym)=(f1(s),…,fm(s))を計算する場合について考える。 For example, consider the case where y = (y1, ..., ym) = (f1(s), ..., fm(s)) is calculated by substituting vector s = (s1, ..., sn) ∈ Kn into this MQ function.
この場合、MQ関数の特性上、f1(x1,…,xn),…,fm(x1,…,xn)が既知であっても、yからベクトルsを復元することは困難な処理となる。 In this case, due to the characteristics of the MQ function, even if f1(x1, ..., xn), ..., fm(x1, ..., xn) are known, it is a difficult process to restore vector s from y.
そこで、このMQ関数の特性を利用して、MQ関数に秘密鍵となるベクトルsを代入して求められる値yを、公開鍵とすることで、秘匿性の高い秘密鍵と公開鍵とを生成するようにしたものが、MQ問題を用いた電子署名方式である。 Then, by taking advantage of the characteristics of the MQ function and substituting the vector s, which serves as the private key, into the MQ function to obtain the value y, which is used as the public key, a highly confidential private key and public key can be generated. This is the electronic signature method using the MQ problem.
より具体的には、MQ問題を扱った関数は、例えば、以下の式(3)で示されるような関数である。 More specifically, a function that deals with the MQ problem is, for example, a function as shown in the following formula (3).
ここで、式(3)は、秘密鍵をs∈(Fq)nとしたとき、F(s)は、F(s)=sTAis+bi Ts+ciからなる二次多項式であり、公開鍵となる。尚、式(3)において、s,biの右上の「T」は、転置記号である。 Here, in formula (3), when the private key is s∈( Fq ) n , F(s) is a quadratic polynomial consisting of F(s)= sTAis + bTs + c , and is the public key. In formula (3), the "T" in the upper right of s and b is a transposition symbol.
すなわち、式(3)においては、i=1乃至mまでのm個の二次方程式から構成されているが、次数が高くなることにより、量子コンピュータにおいても、高速で解くことはできないと言われている。 In other words, equation (3) is composed of m quadratic equations, where i = 1 to m, but because the degree is so high, it is said that even a quantum computer cannot solve it quickly.
尚、式(3)において、太字で表記されたs,bはベクトル,Aは、行列である。 In addition, in equation (3), s and b written in bold are vectors, and A is a matrix.
また、式(3)で示されるMQ問題を用いた電子署名方式では、インスタンス数が、m=nのものが良く使われる。さらに、インスタンスは、Fqの元O(n3)個で表現可能であり、Fqの乗算回数がO(n3)回必要となる。 In addition, in a digital signature scheme using the MQ problem shown in formula (3), the number of instances m = n is often used. Furthermore, an instance can be expressed by O(n 3 ) elements of Fq , and the number of multiplications of Fq required is O(n 3 ).
また、各iに対してAisは、行列とベクトルの積となるため、乗算回数がn2となる。また、sTと、(Ais+bi)との積(=sTAis+bi Ts)は、ベクトルとベクトルの積のためn回となり、iの範囲が、1≦i≦mであるので、全体の乗算回数は、mn2×mnとなる。すなわち、パラメータとして用いられることが多い、m=nの場合、全体の乗算回数はn3+n2回となる。 Furthermore, for each i, A i s is the product of a matrix and a vector, so the number of multiplications is n 2. Furthermore, the product of s T and (A i s + b i ) (= s T A i s + b i T s) is the product of a vector and a vector, so the number of multiplications in total is mn 2 ×mn, since the range of i is 1≦i≦m. That is, when m=n, which is often used as a parameter, the total number of multiplications is n 3 +n 2 .
このように、MQ問題を用いた電子署名方式は、安全性の高さが知られているが、計算量が多く、また、計算速度の高速化も実現できないことから、現実的に利用することが難しい電子署名方式とされている。 Thus, electronic signature methods using the MQ problem are known to be highly secure, but because they require a large amount of calculations and it is not possible to increase the calculation speed, they are considered to be difficult to use in practice.
(Ring-MQ問題を用いた電子署名方式)
そこで、本開示においては、LWE問題をRing-LWE問題に置き換えて用いるようにすることで、電子署名方式の計算量や計算速度を高速化させることを可能にさせた場合と同様に、MQ問題をRing-MQ問題に置き換えた電子署名方式を提案する。
(Digital signature method using the Ring-MQ problem)
Therefore, in this disclosure, we propose an electronic signature method in which the MQ problem is replaced with the Ring-MQ problem, in a manner similar to the case in which the LWE problem is replaced with the Ring-LWE problem, thereby making it possible to increase the computational complexity and computational speed of the electronic signature method.
Ring-MQ問題は、秘密鍵をs∈Rqとしたときに2回の順に行われる乗算を含み内1回はFqの積和演算から構成され,1回はRq上の乗算で構成されるRing-MQ関数Fに係る公開鍵F(s)の値からsを求める問題である。 The Ring-MQ problem is a problem of finding s from the value of a public key F( s ) associated with a Ring- MQ function F, which includes two sequential multiplications, one of which is composed of a multiply-and-accumulate operation on Fq and the other of which is composed of a multiplication on Rq , where s∈Rq is a private key.
より具体的には、図2で示されるように、Ring-MQ関数計算処理は、入力となる秘密鍵sとパラメータAとのFq上の積和演算を実行する積和計算処理C1、および、積和計算処理C1の計算結果と秘密鍵sとの、Rq上の乗算(積)を行う乗算処理C2から実現される。 More specifically, as shown in FIG. 2, the Ring-MQ function calculation process is realized by a product-sum calculation process C1 that executes a product-sum calculation on Fq between an input private key s and a parameter A, and a multiplication process C2 that performs a multiplication (product) on Rq between the calculation result of the product-sum calculation process C1 and the private key s.
図2のRing-MQ関数計算処理は、図3のフローチャートで示される処理により、入力となる秘密鍵sから、公開鍵F(s)を求める。 The Ring-MQ function calculation process in Figure 2 derives the public key F(s) from the input private key s by the process shown in the flowchart in Figure 3.
すなわち、ステップS1において、積和計算処理C1は、パラメータAをセットする。 That is, in step S1, the product-sum calculation process C1 sets parameter A.
ステップS2において、積和計算処理C1は、秘密鍵sの入力を受け付ける。 In step S2, the product-sum calculation process C1 accepts input of the private key s.
ステップS3において、積和計算処理C1は、パラメータAと秘密鍵sとのFqにおける積和を計算し、乗算処理C2に出力する。 In step S3, the product-sum calculation process C1 calculates the product-sum of the parameter A and the private key s in Fq , and outputs the result to the multiplication process C2.
ステップS4において、乗算処理C2は、パラメータAと秘密鍵sとのFqにおける積和計算結果と、秘密鍵sとを乗算して積を求める。 In step S4, the multiplication process C2 multiplies the result of the product-sum calculation of the parameter A and the private key s in Fq by the private key s to obtain the product.
ステップS5において、乗算処理C2は、パラメータAと秘密鍵sとのFqにおける積和計算結果と、秘密鍵sとを乗算することで得られる乗算結果を公開鍵F(s)として出力する。 In step S5, the multiplication process C2 multiplies the product-sum calculation result of the parameter A and the private key s in Fq by the private key s, and outputs the multiplication result as the public key F(s).
以上の処理により、秘密鍵sから公開鍵F(s)が求められることになる。また、このとき、公開鍵F(s)から秘密鍵sを求める問題がRing-MQ問題である。 By the above process, the public key F(s) is obtained from the private key s. At this point, the problem of obtaining the private key s from the public key F(s) is the Ring-MQ problem.
より具体的には、Ring-MQ問題は、例えば、以下の式(4)で示される公開鍵F(s)の値から秘密鍵sを求める問題である。 More specifically, the Ring-MQ problem is, for example, the problem of finding the private key s from the value of the public key F(s) shown in the following equation (4).
ここで、式(4)は、秘密鍵をs∈Rqとしたとき、F(s)=s・Ai(s)+bis+ciが、公開鍵となる。sは、ベクトルではなく、多項式である。また、式(4)においては、i=1乃至mの二次方程式から構成されているが、インスタンス数については、m=1を想定している。 Here, in formula (4), when the private key is s∈Rq , F(s)=s·A i (s)+b i s+c i is the public key. s is not a vector but a polynomial. In formula (4), the formula is composed of quadratic equations with i=1 to m, but the number of instances is assumed to be m=1.
このため、式(4)のRing-MQ問題を用いた電子署名方式では、インスタンスは、Fqの元O(n2)個で表現可能である。また、FFT/NTTによるFqの乗算回数がO(n2)回となり、MQ問題における場合の乗算回数O(n3)回と比較しても小さくなる。 Therefore, in the digital signature scheme using the Ring-MQ problem of formula (4), an instance can be expressed by O(n 2 ) elements of Fq . Also, the number of multiplications of Fq by FFT/NTT is O(n 2 ), which is smaller than the number of multiplications in the MQ problem (O(n 3 )).
さらに、Ring-MQ問題における関数に対応するインスタンス数は、m=1を想定しているため、A(s)のFq上の乗算回数は、以下のように計算される。 Furthermore, since the number of instances corresponding to the function in the Ring-MQ problem is assumed to be m=1, the number of multiplications of A(s) on Fq is calculated as follows.
すなわち、Rqの元をベクトルに対応させる操作を、以下の式(5)で示されるように、vecとする。 In other words, the operation of corresponding the elements of Rq to a vector is called vec, as shown in the following equation (5).
また、Aの定義から対応するaij∈Fq(位数qの有限体)を用いると、以下の式(6)で示されるように計算することが可能となる。 Furthermore, by using a ij εF q (a finite field of order q) corresponding to the definition of A, it becomes possible to perform calculation as shown in the following formula (6).
式(6)で示されるように、乗算が現れるのは、行列演算のみであるので、乗算回数は、n2回となる。 As shown in equation (6), multiplication appears only in matrix operations, so the number of multiplications is n 2 .
さらに、sと(A(s)+b)とのRq上の乗算(=s・Ai(s)+bis)は、sのn個の係数を2n-1までゼロ詰めした上でFFTを用いれば、Fq上の乗算回数は、3n log 2n+4n回となる。 Furthermore, if the multiplication of s and (A(s) + b) on Rq (= s · A i (s) + b i s) is performed using FFT after zero-padding the n coefficients of s up to 2n-1, the number of multiplications on Fq will be 3n log 2n + 4n.
すなわち、MQ問題を用いた電子署名方式の場合、秘密鍵sは、ベクトルで構成されるが、Ring-MQ問題を用いた電子署名方式の場合、秘密鍵sは、ベクトルではなく多項式とされる。このため、Ring-MQ問題を用いた電子署名方式においては、MQ問題を用いた場合と同等の安全性を確保しながら、処理に必要とされる計算量を低減させることが可能になる。 In other words, in an electronic signature method using the MQ problem, the private key s is composed of a vector, but in an electronic signature method using the Ring-MQ problem, the private key s is a polynomial rather than a vector. As a result, in an electronic signature method using the Ring-MQ problem, it is possible to reduce the amount of calculations required for processing while ensuring the same level of security as when the MQ problem is used.
また、LWE問題をRing-LWE問題にした場合と同様に、MQ問題をRing-MQ問題にした場合についても、対話型プロトコルにFiat-Shamir変換を施すことで得られる電子署名方式のときには、チャレンジ空間がFqからRqとなるため、健全性エラー(Soundness Error)が減少する。 In addition, similarly to the case where the LWE problem is transformed into the Ring-LWE problem, when the MQ problem is transformed into the Ring-MQ problem, in the case of an electronic signature scheme obtained by applying the Fiat-Shamir transformation to an interactive protocol, the challenge space changes from Fq to Rq , and the soundness error is reduced.
以上のように、MQ問題に代えて、Ring-MQ問題を用いた電子署名方式にすることで、MQ問題を用いることで得られる安全性を低下させることなく、計算量を低減させ、計算速度の高速化を実現することが可能となり、さらに、健全性エラーも低減することが可能となる。 As described above, by using the Ring-MQ problem instead of the MQ problem in an electronic signature method, it is possible to reduce the amount of calculations and increase the calculation speed without reducing the security obtained by using the MQ problem, and it is also possible to reduce soundness errors.
これにより、Ring-MQ問題を用いることで、実用的なMQ問題を用いた電子署名方式を実現させることが可能となる。 As a result, by using the Ring-MQ problem, it is possible to realize a practical electronic signature method using the MQ problem.
結果として、耐量子性を備えた安全性の高い実用的な電子署名方式を実現することが可能となる。 As a result, it will be possible to realize a practical electronic signature method that is quantum-resistant and highly secure.
そこで、以降においては、本開示において提案する、Ring-MQ問題を用いた電子署名方式を適用した電子署名システムについて説明する。 Then, we will explain the electronic signature system proposed in this disclosure that applies the electronic signature method using the Ring-MQ problem.
<<2.好適な実施の形態>>
次に、図1の一般的な電子署名システムに、本開示の技術を適用したときの電子署名システムの構成例について説明する。この構成例は、Ring-MQ問題を用いた認証プロトコルの構成例に対し、認証プロトコルを電子署名システムに変換する既知の手法(Fiat-Shamir変換など)を用いて得られる。そのため以下の説明では図4を用いてRing-MQ問題を用いた認証プロトコルの構成例について説明する。認証プロトコルから電子署名システムへの変換についてはFiat-Shamir変換を利用した例を認証プロトコルの説明の後で述べる。
<<2. Preferred embodiment>>
Next, a configuration example of an electronic signature system when the technology of the present disclosure is applied to the general electronic signature system of Fig. 1 will be described. This configuration example is obtained by applying a known method (such as Fiat-Shamir transformation) to convert an authentication protocol into an electronic signature system for a configuration example of an authentication protocol using the Ring-MQ problem. Therefore, in the following description, an example of an authentication protocol using the Ring-MQ problem will be described with reference to Fig. 4. Regarding the conversion from an authentication protocol to an electronic signature system, an example using the Fiat-Shamir transformation will be described after the description of the authentication protocol.
図4の認証プロトコル11は、証明者のみが保持する秘密鍵が用いられて生成された署名情報(電子署名)に基づいて、検証者が、証明者の秘密鍵を知ることなく、証明者が秘密鍵を保持していることを検証するものである。
In the
認証プロトコル11は、証明者により利用される証明者側情報処理装置31、および検証者により利用される検証者側情報処理装置32より構成される。
The
認証プロトコル11においては、検証者側情報処理装置32からのチャレンジに対して証明者側情報処理装置31によりレスポンスが返され、検証者側情報処理装置32により、レスポンスの内容が検証されることで、証明者が秘密鍵を保持していることを検証する認証プロトコルが実行される。
In
認証プロトコル11における認証プロトコルは、二者間のやり取りの回数に応じて3パスおよび5パスなどの奇数回のパスによって構成される対話プロトコルとされる。尚、本開示においては、以降において、5パスの例について説明するものとするが、パスの数は、奇数回であれば、3パスはもちろんのこと、7パス以上でもよい。
The authentication protocol in
証明者側情報処理装置31は、図1の署名者側情報処理装置2に含まれる構成であり、鍵生成部51および認証情報生成部52を備えている。検証者側情報処理装置32のハッシュ値h1,h2を受け取り、それに応じてチャレンジε,chを生成する部分もまた図1の署名者側情報処理装置2に含まれる。
The prover-side
鍵生成部51は、電子署名に用いる秘密鍵skおよび公開鍵pkを生成すると共に、公開鍵pkを検証者側情報処理装置32に供給し共有する。尚、ここでは、秘密鍵sk=s、および、公開鍵pk=(A,b,y)とし、yは、Ring-MQ問題を扱った関数として、y=s・A(s)+b・sであるものとする。また、Ring-MQ問題を扱った関数であるので、秘密鍵sk=sは、多項式であり、MQ問題を扱場合のように、秘密鍵sは、ベクトルではない。
The
認証情報生成部52は、ハッシュ値h1,h2を生成して、検証者側情報処理装置32に供給する。この際、認証情報生成部52は、ハッシュ値h1を検証者側情報処理装置32に供給した後、検証者により選択されて供給(返送)されるチャレンジεを取得して、チャレンジεを用いてハッシュ値h2を生成し、検証者側情報処理装置32に送信する。
The authentication
認証情報生成部52は、ハッシュ値h2を送信した後、検証者側情報処理装置32より供給されるチャレンジchに基づいて、署名情報であるレスポンスσ’を生成し、文書Mと共に検証者側情報処理装置32に供給する。
After transmitting the hash value h2, the authentication
検証者側情報処理装置32は、認証情報検証部71を備えている。認証情報検証部71は、文書Mおよびレスポンスσ’を受け取り、レスポンスσ’の検証を実行する。尚、認証情報検証部71に相当する機能を実現する構成は、図1の検証者側情報処理装置3が含む構成である。
The verifier-side
認証情報検証部71は、証明者側情報処理装置31より供給されるハッシュ値h1,h2を取得すると共に、Fiat-Shamir変換に係るアルゴリズムによりチャレンジを生成して、証明者側情報処理装置31に供給する。
The authentication
より詳細には、認証情報検証部71は、証明者側情報処理装置31よりハッシュ値h1が供給されると取得し、その後、チャレンジεを選択して、証明者側情報処理装置31に供給する。そして、認証情報検証部71は、チャレンジεに基づいて生成されるハッシュ値h2を取得し、ハッシュ値h2を取得した後、チャレンジchを生成し、証明者側情報処理装置31に供給する。
More specifically, the authentication
認証情報検証部71は、チャレンジchに基づいて、証明者側情報処理装置31より供給されるレスポンスσ’を文書Mと共に取得すると、事前に共有されている公開鍵pkとレスポンスσ’に含まれる情報と共に用いて、ハッシュ値h1,h2と対応するハッシュ値h1’,h2’を求めて、チャレンジの生成において供給されてきたハッシュ値h1,h2との比較により、レスポンスσ’が正規であるか否かを検証する。
When the authentication
尚、図4においては、認証情報生成部52がハッシュ値h1を供給するパスが、第1パスであり、認証情報検証部71がチャレンジεを供給するパスが第2パスであり、認証情報生成部52がハッシュ値h2を供給するパスが、第3パスであり、認証情報検証部71がチャレンジchを供給するパスが第4パスであり、認証情報生成部52が文書Mとレスポンスσ’を供給するパスが、第5パスである。
In FIG. 4, the path along which the authentication
すなわち、第1パス乃至第5パスまでの5個のパスが、上述した奇数回数の5パスの処理となる。尚、鍵生成部51が、公開鍵pkを認証情報検証部71に供給する処理は、5パス以前の処理となる。また、別途、検証者側情報処理装置32が、レスポンスσ’の検証結果を証明者側情報処理装置31に送信するようにしてもよい。
In other words, the first through fifth passes are the five passes, which is an odd number of passes as described above. The process in which the
<証明者側情報処理装置の構成例>
次に、図5を参照して、証明者側情報処理装置31の構成例について説明する。
<Configuration Example of Prover Side Information Processing Device>
Next, a configuration example of the prover side
証明者側情報処理装置31は、制御部101、入力部102、出力部103、記憶部104、通信部105、ドライブ106、およびリムーバブル記憶媒体107より構成されており、相互にバス108を介して接続されており、データやプログラムを送受信することができる。
The prover
制御部101は、プロセッサやメモリから構成されており、証明者側情報処理装置31の動作の全体を制御する。また、制御部101は、鍵生成部51、および認証情報生成部52を備えている。尚、鍵生成部51、および認証情報生成部52については、図4を参照して説明したので、その説明は省略する。
The
入力部102は、ユーザが操作コマンドを入力するキーボード、マウス、タッチパネルなどの入力デバイスより構成され、入力された各種の信号を制御部101に供給する。
The
出力部103は、制御部101により制御され、表示部、および音声出力部を備えている。出力部103は、操作画面や処理結果の画像を、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)などからなる表示デバイスからなる表示部に出力して表示する。また、出力部103は、音声出力デバイスからなる音声出力部を制御して、各種の音声や音楽、効果音などを再生する。
The
記憶部104は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、または、半導体メモリなどからなり、制御部101により制御され、各種のデータおよびプログラムを書き込む、または、読み出す。
The
通信部105は、制御部101により制御され、有線または無線により、LAN(Local Area Network)やブルートゥース(登録商標)等に代表される通信を実現し、必要に応じてネットワークを介して、検証者側情報処理装置32の他、各種の装置との間で各種のデータやプログラムを送受信する。
The
ドライブ106は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体107に対してデータを読み書きする。
The
<検証者側情報処理装置の構成例>
次に、図5を参照して、検証者側情報処理装置32の構成例について説明する。
<Configuration example of verifier side information processing device>
Next, a configuration example of the verifier side
検証者側情報処理装置32は、制御部131、入力部132、出力部133、記憶部134、通信部135、ドライブ136、およびリムーバブル記憶媒体137より構成されており、相互にバス138を介して接続されており、データやプログラムを送受信することができる。
The verifier
制御部131は、プロセッサやメモリから構成されており、検証者側情報処理装置32の動作の全体を制御する。また、制御部131は、認証情報検証部71を備えている。尚、認証情報検証部71については、図4を参照して説明したので、その説明は省略する。
The
また、入力部132乃至バス138については、図5を参照して説明した入力部102乃至バス108と対応する構成であるので、その説明は省略する。
Furthermore, the
<認証情報検証処理>
次に、図7のフローチャートを参照して、図4の認証プロトコル11による認証情報検証処理について説明する。
<Authentication Information Verification Process>
Next, the authentication information verification process according to the
ステップS31において、証明者側情報処理装置31の鍵生成部51は、秘密鍵skを生成する。尚、この例においては、上述したように、秘密鍵skは、秘密鍵sk=sとする。
In step S31, the
ステップS32において、鍵生成部51は、秘密鍵skに基づいて、公開鍵pkを生成し、秘密鍵skおよび公開鍵pkを併せて、認証情報生成部52に供給すると共に、通信部105を制御して、検証者側情報処理装置32に公開鍵pkを配布して共有する。
In step S32, the
尚、公開鍵pkは、公開鍵pk=(A,b,y)とし、yは、Ring-MQ問題を扱った多次多変数多項式からなる関数y=s・A(s)+b・sであるものとする。 The public key pk is defined as pk = (A, b, y), where y is a function consisting of a multi-degree multivariate polynomial that deals with the Ring-MQ problem: y = s A(s) + b s.
ステップS51において、検証者側情報処理装置32の認証情報検証部71は、通信部135を制御して、証明者側情報処理装置31より供給される公開鍵pkを取得する。
In step S51, the authentication
ステップS33において、認証情報生成部52は、以下の式(7)を演算することにより、ハッシュ値h1を演算し、検証者側情報処理装置32に送信する。
In step S33, the authentication
すなわち、式(7)の「Generate seed tree{seedi}i=1,…,N [s]i,[a]i,[c]i←seedi」で示されるように、認証情報生成部52は、i=1,・・・N-1について、シード値seediを生成し、シード値seediに基づいて、乱数[s]i,[a]i,[c]iを生成する。
That is, as shown in equation (7) “Generate seed tree {seed i } i = 1, ..., N [s] i , [a] i , [c] i ← seed i ,” the authentication
また、認証情報生成部52は、乱数[s]i,[a]i,[c]iに基づいて、a=[a]1+・・・+[a]N,c=-a・s,[s]N=s-[s]1-・・・-[s]N-1、および[c]N=c-[c]1-・・・-[c]N-1を計算する。
In addition, the authentication
さらに、認証情報生成部52は、i=1,・・・N-1について、シード値seediに関数Commを掛けて、コミットメント値commi=Comm(seedi)を計算すると共に、i=Nについては、コミットメント値commN=Comm(seedN,[s]N,[c]N)を計算する。
Furthermore, the authentication
そして、認証情報生成部52は、i=1,・・・Nのコミットメント値commiにハッシュ関数Hashを掛けることで、ハッシュ値h1=Hash(M,comm1,・・・,commN)を生成し、検証者側情報処理装置32に送信する。
Then, the authentication
ステップS52において、認証情報検証部71は、証明者側情報処理装置31より供給されるハッシュ値h1を取得する。
In step S52, the authentication
ステップS53において、認証情報検証部71は、以下の式(8)で示されるように、qn通り存在する環Rqの元から1つのチャレンジεを選択する。そして、認証情報検証部71は、選択したチャレンジεを証明者側情報処理装置31に送信する。
In step S53, the authentication
ステップS34において、認証情報生成部52は、検証者側情報処理装置32からのチャレンジεを取得する。
In step S34, the authentication
ステップS35において、認証情報生成部52は、以下の式(9)を演算することにより、ハッシュ値h2を演算し、検証者側情報処理装置32に送信する。
In step S35, the authentication
すなわち、認証情報生成部52は、i=1,・・・,Nについて、[z]i=y-b・[s]i,[w]i=A([s]i),[α]i=ε・[w]i+[a]i,α=[α]1+…+[α]Nを計算する。
That is, the authentication
また、認証情報生成部52は、i=1,・・・,Nについて、[v]i=α・[s]i-[c]i-ε・[z]iを計算する。
Furthermore, the authentication
さらに、認証情報生成部52は、i=1,・・・Nについて、所定の組broadi=([α]i,[v]i)を作成する。
Furthermore, the authentication
そして、認証情報生成部52は、i=1,・・・Nの組broadiにハッシュ関数Hashを掛けることで、ハッシュ値h2=Hash(M,broad1,・・・,broadN)を生成し、検証者側情報処理装置32に送信する。
Then, the authentication
ステップS54において、認証情報検証部71は、証明者側情報処理装置31より供給されるハッシュ値h2を取得する。
In step S54, the authentication
ステップS55において、認証情報検証部71は、以下の式(10)で示されるように、N通り存在する検証パターンのいずれを利用するのか選択する。すなわち、シード値seediのiのパターンとなる、i=1,…,Nのいずれを利用するのかが選択される。そして、認証情報検証部71は、選択した検証パターンを、チャレンジchとして発行し、証明者側情報処理装置31に送信する。
In step S55, the authentication
ステップS36において、認証情報生成部52は、検証者側情報処理装置32からのチャレンジchを取得する。
In step S36, the authentication
ステップS37において、認証情報生成部52は、以下の式(11)を演算することにより、レスポンスσ’を生成し、文書Mと共に、レスポンスとして検証者側情報処理装置32に送信する。
In step S37, the authentication
すなわち、式(11)の「Generate path from{seedi}i and ch」で示されるように、認証情報生成部52は、シード値seediとチャレンジchに基づいて、seedch以外のシード値seediを計算するためのseed tree pathと呼ばれる値pathを生成する。
That is, as shown by “Generate path from {seed i } i and ch” in equation (11), the authentication
また、認証情報生成部52は、チャレンジchに応じて、値viewを生成し、チャレンジchがNである場合、値viewを、値pathそのものとし、そうでなければ(チャレンジchがN以外である場合)、値viewを、{path,[s]N,[c]N}とする。
In addition, the authentication
そして、認証情報生成部52は、値view、および[α]ch,commchに基づいて、レスポンスσ’={view,[α]ch,commch}を生成して、文書Mと共に検証者側情報処理装置32に送信する。
Then, the authentication
ステップS56において、認証情報検証部71は、レスポンスσ’および文書Mを取得する。
In step S56, the authentication
ステップS57において、認証情報検証部71は、以下の式(12)を演算して、レスポンスσ’を解析し、チャレンジchにおけるハッシュ値h1,h2と対応する、チャレンジchにおけるハッシュ値h1’,h2’を算出する。
In step S57, the authentication
すなわち、式(12)の「For i≠ch seedi←view commi=comm(seedi) [s]i,[a]i,[c]i←seedi」で示されるように、認証情報検証部71は、i=ch以外のiについて、シード値seediをviewとし、関数commi=comm(seedi)(ただし、i=Nについては、comm(seedN,[s]N,[c]N)とする)を計算すると共に、乱数[s]i,[a]i,[c]iを生成する。
That is, as shown in formula (12) "For i ≠ ch seed i ← view comm i = comm(seed i ) [s] i , [a] i , [c] i ← seed i ", the authentication
また、認証情報検証部71は、i=ch以外のiについて、[z]i=y-b・[s]i,[w]i=A([s]i),[α]i=ε・[w]i+[a]iを計算する。また、認証情報検証部71は、α=[α]1+…+[α]Nを計算する。すなわち、認証情報検証部71は、公開鍵pkを用いて導出したi=ch以外の[α]iの総和と、レスポンスσに含まれる[α]chとを加算することで、αを算出する。
Furthermore, the authentication
さらに、認証情報検証部71は、i=ch以外のiについて、[v]i=α・[s]i-[c]i-ε・[z]iを計算する。
Furthermore, the authentication
また、認証情報検証部71は、[v]ch=-[v]1-・・・-[v]Nを計算する。すなわち、認証情報検証部71は、i=ch以外の[v]iを全て減算することで[v]chを計算する。
Furthermore, the authentication
そして、認証情報検証部71は、i=ch以外のiについて、組broadi=([α]i,[v]i)を演算する。認証情報検証部71は、i=1,・・・Nのコミットメント値commiにハッシュ関数Hashを掛けることで、ハッシュ値h1’=Hash(M,comm1,・・・,commN)を生成する。認証情報検証部71は、i=1,・・・Nの組broadiにハッシュ関数Hashを掛けることで、ハッシュ値h2’=Hash(M,broad1,・・・,broadN)を生成する。
Then, the authentication
つまり、認証情報検証部71は、文書M、公開鍵pkを用いて導出したi=ch以外のコミットメント値commi、およびレスポンスσ’に含まれるi=chのコミットメント値commchを用いて、ハッシュ値h1’を生成する。
That is, the authentication
また、認証情報検証部71は、文書M、公開鍵pkを用いて導出したi=ch以外の組broadi(=([α]i,[v]i))、および、レスポンスσ’に含まれるi=chの[α]chと、導出した[v]chとから得られる組broadch(=([α]ch,[v]ch))を用いて、ハッシュ値h2’を生成する。
In addition, the authentication
すなわち、認証情報検証部71は、公開鍵pkおよびレスポンスσ’からハッシュ値h1,h2と対応するハッシュ値h1’,h2’を計算する。
In other words, the authentication
ステップS58において、認証情報検証部71は、式(13)で示されるように、チャレンジchを生成するまでに取得したハッシュ値h1,h2と、対応するハッシュ値h1’,h2’とが一致するか否かを判定する。
In step S58, the authentication
ステップS58において、両者が一致する場合、処理は、ステップS59に進み、認証情報検証部71は、レスポンスσ’が正規であると認定する検証結果とする。
If the two match in step S58, the process proceeds to step S59, and the authentication
ステップS60において、両者が一致しない場合、処理は、ステップS60に進み、認証情報検証部71は、レスポンスσ’が正規ではないと認定する検証結果とする。
If the two do not match in step S60, the process proceeds to step S60, and the authentication
ステップS61において、認証情報検証部71は、検証結果を証明者側情報処理装置31に送信する。
In step S61, the authentication
ステップS38において、認証情報生成部52は、検証結果を取得する。
In step S38, the authentication
ここでFiat-Shamir変換を利用した認証プロトコルから電子署名システムへの変換について示す。以上の一連の処理により、Ring-MQ問題を扱った関数により、証明者側情報処理装置31により生成されるハッシュ値h1,h2と、検証者側情報処理装置32において、ハッシュ値h1,h2に基づいたレスポンスσ’から生成されるハッシュ値h1’,h2’との比較により、レスポンスσ’が正規であるか否かを検証することが可能となる。以上の認証プロトコル11において、検証者からチャレンジε,chを受け取る代わりに、証明者がチャレンジを受け取る直前に生成したハッシュ値(例えばh1,h2)を用いてチャレンジε,chを生成し、電子署名σ=(h1,h2,σ’)とし、証明者を署名者とみなすことで図1の電子署名システム1に本開示の技術を適用することができる。
Here, we will show the conversion from an authentication protocol using the Fiat-Shamir transformation to an electronic signature system. Through the above series of processes, it becomes possible to verify whether the response σ' is legitimate or not by comparing the hash values h1, h2 generated by the prover side
また、本開示の技術を適用することにより、ハッシュ値h2を演算する際の式(9),式(12)における[z]を求める以下の式(14)の演算においては、Fqに係る乗算がO(n log n)回とされる。 Furthermore, by applying the technology of the present disclosure, in the calculation of the following equation (14) for finding [z] in equations (9) and (12) when calculating the hash value h2, the number of multiplications related to Fq is O(n log n).
一方、従来のMQ問題を扱った関数を用いた電子署名検証処理では、上述した式(14)の計算は、以下の式(15)で示されるような計算とされる。 On the other hand, in a digital signature verification process that uses a function that handles the conventional MQ problem, the calculation of the above-mentioned formula (14) is calculated as shown in the following formula (15).
すなわち、式(15)においては、i=1,・・・Nについて、γiと(yi-bi[s]i)との積和が計算されることになる。 That is, in equation (15), for i=1, . . . N, the sum of products of γ i and (y i −b i [s] i ) is calculated.
これにより、式(15)の演算におけるFqに係る乗算回数は、O(n2)回とされる。したがって、本開示のRing-MQ問題を扱った関数を用いた電子署名検証処理におけるFqに係る乗算回数O(n log n)回は、従来のMQ問題を扱った関数を用いた乗算回数であるO(n2)回よりも少ない回数となり、計算量を低減させ、計算速度を向上させることが可能となる。 As a result, the number of multiplications related to Fq in the calculation of formula (15) is O(n 2 ). Therefore, the number of multiplications related to Fq in the digital signature verification process using the function dealing with the Ring-MQ problem of the present disclosure, O(n log n), is smaller than the number of multiplications using a conventional function dealing with the MQ problem, O(n 2 ), making it possible to reduce the amount of calculation and improve the calculation speed.
尚、従来のMQ問題を扱った関数を用いた電子署名方式については、"BuildingMPCitH-basedSignatures fromMQ,MinRank,RankSDandPKP ThibauldFeneuil1,2 1CryptoExperts,Paris,France 2SorbonneUniversit´e,CNRS,INRIA,InstitutdeMath´ematiques deJussieu-ParisRiveGauche,Ouragan,Paris,France"を参照されたい。また、以降においては、"BuildingMPCitH-basedSignatures fromMQ,MinRank,RankSDandPKP ThibauldFeneuil1,2 1CryptoExperts,Paris,France 2SorbonneUniversit´e,CNRS,INRIA,InstitutdeMath´ematiques deJussieu-ParisRiveGauche,Ouragan,Paris,France"は、単に、参考文献と称する。 For information on an electronic signature method using functions that deal with the traditional MQ problem, please refer to "Building MPCitH-based Signatures from MQ, MinRank, RankSD and PKP Thibauld Feneuil1,2 1CryptoExperts, Paris, France 2Sorbonne Universit´e, CNRS, INRIA, Institut de Math´ematiques de Jussieu-Paris Rive Gauche, Ouragan, Paris, France". In addition, hereafter, "Building MPCitH-based Signatures from MQ, MinRank, RankSD and PKP Thibauld Feneuil1,2 1CryptoExperts, Paris, France 2Sorbonne Universit´e, CNRS, INRIA, Institut de Math´ematiques de Jussieu-Paris Rive Gauche, Ouragan, Paris, France" will be simply referred to as the reference.
また、i=1,・・・Nについて、γiが不要となることにより、それぞれのサンプリングそのものが不要となることからも計算負荷の低減を図ることが可能となる。 In addition, since γ i is unnecessary for i=1, . . . N, each sampling is unnecessary, so that the calculation load can be reduced.
これにより、例えば、False-positive(偽陰性)確率について、Ring-MQ問題(Rqが体の場合)を用いた本開示の電子署名検証処理ではRq:=Fq[X]/(f(X))と定義した際に利用した多項式fの次数deg fを用いて(1/(qdeg f))であるのに対して、従来のMQ問題を扱った関数を用いた電子署名検証処理では、(2/q-1/q2)となり、より小さくすることが可能となる。 As a result, for example, with regard to the false positive probability, in the electronic signature verification process of the present disclosure using the Ring-MQ problem (where Rq is a field), where the degree deg f of the polynomial f used when defining Rq := Fq [X]/(f(X)) is (1/(q deg f )), whereas in the electronic signature verification process using a function dealing with the conventional MQ problem, the probability becomes (2/q-1/ q2 ), making it possible to make it smaller.
すなわち、本開示の電子署名検証処理においては、計算量を低減させ、計算速度を向上させることが可能になると共に、False-positive(偽陰性)確率を低減させ、より高精度な電子署名検証処理を実現することが可能となる。 In other words, the electronic signature verification process disclosed herein can reduce the amount of calculations and improve the calculation speed, while also reducing the probability of false positives, making it possible to achieve more accurate electronic signature verification.
<Ring-MQ問題とMQ問題とを使った電子署名方式の通信量の比較>
次に、Ring-MQ問題とMQ問題とを使った電子署名方式の通信量の比較について説明する。
<Comparison of communication volume between digital signature methods using the Ring-MQ problem and the MQ problem>
Next, a comparison of communication volumes between digital signature schemes using the Ring-MQ problem and the MQ problem will be described.
上述したMPC(Multi-Party Computation)をMPCitH (Sacrificing)でZKPに変換した際の通信量は、上述した参考文献によれば、以下の式(16)で表現される。 According to the above reference, the amount of communication when converting the above-mentioned MPC (Multi-Party Computation) to ZKP using MPCitH (Sacrificing) is expressed by the following formula (16).
ここで、λは、セキュリティパラメータであり、τは、parallel repetitionの回数であり、Nは、MPCのパーティ数であり、costMPCは、MPCプロトコルの通信量に依存する部分である。 Here, λ is a security parameter, τ is the number of parallel repetitions, N is the number of parties in MPC, and cost MPC is the part of the MPC protocol that depends on the communication volume.
尚、costMPCについては、図8で示されるように表現される。図8においては、図中上から、拡大体を利用しないMQ問題を扱った電子署名方式、拡大体を利用したMQ問題を扱った電子署名方式、および、本開示のRing-MQ問題を扱った電子署名方式のそれぞれについて、図中左側から順に、MPCプロトコルの通信量に依存する部分costMPCと、健全性エラー(Soundness Error)とが記載されている。 Incidentally, cost MPC is expressed as shown in Fig. 8. In Fig. 8, from the top of the figure, a partial cost MPC that depends on the communication volume of the MPC protocol and a soundness error are described from the left side of the figure for each of an electronic signature scheme that handles the MQ problem without using an extension field, an electronic signature scheme that handles the MQ problem using an extension field, and an electronic signature scheme that handles the Ring-MQ problem of the present disclosure.
すなわち、拡大体を利用しないMQ問題を扱った電子署名方式の場合、MPCプロトコルの通信量に依存する部分costMPCは、((2n+1)・log q)であり、健全性エラー(Soundness Error)が、(1/N+(1-1/N)・(2/q-1/q2))である。 That is, in the case of a digital signature scheme that handles the MQ problem without using an extension field, the portion of the MPC protocol that depends on the amount of communication, cost MPC , is ((2n+1)·log q), and the soundness error is (1/N+(1−1/N)·(2/q−1/q 2 )).
また、拡大体を利用したMQ問題を扱った電子署名方式の場合、MPCプロトコルの通信量に依存する部分costMPCは参考文献において用いられるパラメータηを用いて、((n+nη+η)・log q)であり、健全性エラー(Soundness Error)が、(1/N+(1-1/N)・(2/qη-1/q2η))である。 In addition, in the case of a digital signature scheme dealing with the MQ problem using an extension field, the partial cost MPC that depends on the communication volume of the MPC protocol is ((n+nη+η)·log q) using the parameter η used in the reference literature, and the soundness error is (1/N+(1-1/N)·(2/q η -1/q 2η )).
さらに、本開示のRing-MQ問題を扱った電子署名方式の場合、MPCプロトコルの通信量に依存する部分costMPCは、((3deg f)・log q)であり、健全性エラー(Soundness Error)が、(1/N+(1-1/N)・(2/qdeg f))である。 Furthermore, in the case of the electronic signature method that deals with the Ring-MQ problem of the present disclosure, the portion of the MPC protocol that depends on the communication volume, cost MPC , is ((3deg f)·log q), and the soundness error is (1/N+(1−1/N)·(2/q deg f )).
これらの比較から、本開示のRing-MQ問題を扱った電子署名方式は、拡大体を利用しないMQ問題を扱った電子署名方式、および拡大体を利用したMQ問題を扱った電子署名方式との比較により、通信量を低減させることが可能となることが明らかである。 From these comparisons, it is clear that the electronic signature method that deals with the Ring-MQ problem disclosed herein can reduce the amount of communication when compared with electronic signature methods that deal with the MQ problem without using extension fields, and electronic signature methods that deal with the MQ problem using extension fields.
<電子署名の署名長の比較>
次に、図9を参照して、Ring-MQ問題とMQ問題とを使った電子署名方式の電子署名の署名長の比較について説明する。
<Comparison of digital signature lengths>
Next, a comparison of the signature lengths of digital signatures in digital signature schemes using the Ring-MQ problem and the MQ problem will be described with reference to FIG.
図9は、図中右上から拡大体を利用しないMQ問題を扱った電子署名方式、拡大体を利用したMQ問題を扱った電子署名方式、および、本開示のRing-MQ問題を扱った電子署名方式のそれぞれについての署名長に係る情報が示されている。 In Figure 9, from the top right, information on the signature length for an electronic signature method that deals with the MQ problem without using an extension field, an electronic signature method that deals with the MQ problem using an extension field, and an electronic signature method that deals with the Ring-MQ problem disclosed herein is shown.
また、図9においては、図中右から順にMPCのパーティ数N、体Fqの位数q、参考文献において用いられるパラメータη、Rqの法多項式fの次数n(=deg f)、parallel repetitionの回数τ、および署名長(Signature Size)である。 In FIG. 9 , from the right, there are the number of parties N of MPC, the order q of the field Fq , the parameter η used in the reference literature, the degree n (=deg f) of the modulus polynomial f of Rq , the number of parallel repetitions τ, and the signature length.
すなわち、拡大体を利用しないMQ問題を扱った電子署名方式の場合、MPCのパーティ数Nが256、qが256、ηが1、nが40、parallel repetitionの回数τが39、署名長(Signature Size)が9463Bである。 In other words, in the case of an electronic signature method that deals with the MQ problem without using an extension field, the number of MPC parties N is 256, q is 256, η is 1, n is 40, the number of parallel repetitions τ is 39, and the signature length (Signature Size) is 9463B.
また、拡大体を利用したMQ問題を扱った電子署名方式の場合、MPCのパーティ数Nが256、qが256、ηが2、nが40、parallel repetitionの回数τが25、署名長(Signature Size)が7114Bである。 In addition, in the case of an electronic signature method that uses an extension field to deal with the MQ problem, the number of MPC parties N is 256, q is 256, η is 2, n is 40, the number of parallel repetitions τ is 25, and the signature length (Signature Size) is 7114B.
そして、本開示のRing-MQ問題を扱った電子署名方式の場合、MPCのパーティ数Nが256、qが256、ηが-、nが40、parallel repetitionの回数τが16、署名長(Signature Size)が4544Bである。 In the case of the electronic signature method that deals with the Ring-MQ problem disclosed herein, the number of MPC parties N is 256, q is 256, η is -, n is 40, the number of parallel repetitions τ is 16, and the signature length (Signature Size) is 4544B.
図9で示されるように、本開示のRing-MQ問題を扱った電子署名方式の場合、他の電子署名方式よりも最大で半分程度にまで低減させることが可能となっていることが明らかである。 As shown in Figure 9, it is clear that the electronic signature method disclosed herein that addresses the Ring-MQ problem can reduce the number of signatures by up to half compared to other electronic signature methods.
これにより、本開示のRing-MQ問題を扱った電子署名方式によれば、通信速度や演算に係る処理速度を向上させることが可能となる。 As a result, the electronic signature method disclosed herein that addresses the Ring-MQ problem makes it possible to improve communication speeds and processing speeds related to calculations.
以上の如く、本開示のRing-MQ問題を扱った関数を用いた電子署名方式によれば、計算量を低減させることが可能となり、計算速度を向上させると共に、計算に係る負荷を低減させることが可能となる。 As described above, the electronic signature method disclosed herein uses a function that deals with the Ring-MQ problem, making it possible to reduce the amount of calculations, improve the calculation speed, and reduce the load associated with the calculations.
また、通信量および署名長を低減させることが可能となるので、通信速度を向上させ、通信に係る負荷を低減させることが可能となる。 In addition, it is possible to reduce communication volume and signature length, improving communication speed and reducing the load associated with communication.
これにより、Ring-MQ問題を扱った関数を用いることにより、計算量および通信量を低減させることで、計算および通信に係る負荷を低減させることが可能となり、MQ問題における電子署名方式の安全性を確保しつつ、実用的な電子署名方式にすることが可能となる。 By using a function that handles the Ring-MQ problem, it is possible to reduce the amount of calculation and communication, thereby reducing the load related to calculation and communication, and it is possible to make a practical electronic signature method while ensuring the security of the electronic signature method for the MQ problem.
結果として、耐量子性を備えた安全性の高い実用的な電子署名システムを実現することが可能となる。 As a result, it will be possible to realize a practical, quantum-resistant, and highly secure electronic signature system.
尚、以上においては、電子署名方式に係る例について説明してきたが、ストリーム暗号に適用するようにしてもよい。 Note that although the above has been described as an example related to a digital signature scheme, it may also be applied to stream encryption.
<<3.ソフトウェアにより実行させる例>>
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のコンピュータなどに、記録媒体からインストールされる。
<<3. Example of execution by software>>
The above-mentioned series of processes can be executed by hardware, but can also be executed by software. When the series of processes are executed by software, the programs constituting the software are installed from a recording medium into a computer built into dedicated hardware, or into, for example, a general-purpose computer capable of executing various functions by installing various programs.
図10は、汎用のコンピュータの構成例を示している。このコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
Figure 10 shows an example of the configuration of a general-purpose computer. This computer has a built-in CPU (Central Processing Unit) 1001. An input/
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
Connected to the input/
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
The
以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
In a computer configured as described above, the
コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
The program executed by the computer (CPU 1001) can be provided, for example, by recording it on a
コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
In a computer, a program can be installed in the
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program in which processing is performed chronologically in the order described in this specification, or a program in which processing is performed in parallel or at the required timing, such as when called.
尚、図10におけるCPU1001が、図5の制御部101、および図6の制御部131の機能を実現させる。
Note that the
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 In addition, in this specification, a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all the components are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device in which multiple modules are housed in a single housing, are both systems.
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。 Note that the embodiments of this disclosure are not limited to the above-described embodiments, and various modifications are possible without departing from the spirit of this disclosure.
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 For example, the present disclosure can be configured as a cloud computing system in which a single function is shared and processed collaboratively by multiple devices over a network.
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。 In addition, each step described in the above flowchart can be executed by a single device, or can be shared and executed by multiple devices.
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。 Furthermore, when one step includes multiple processes, the multiple processes included in that one step can be executed by one device, or can be shared and executed by multiple devices.
尚、本開示は、以下のような構成も取ることができる。
<1> s∈Rqを秘密鍵に設定し、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)を公開鍵に設定し、
前記秘密鍵に基づいて、電子署名を生成し、
前記電子署名が正規か否かを前記公開鍵により検証する
ステップを含む情報処理方法。
<2> 前記公開鍵は、前記Ring-MQ関数を形成する多次多変数多項式からなるF(s)=(A,b,y)であり、y=s・A(s)+b・sである
<1>に記載の情報処理方法。
<3> 前記秘密鍵は、証明者により非公開に保持され、
前記公開鍵は、公開されており前記電子署名が正規か否かを検証する検証者にも共有され、
前記証明者により操作される証明者側装置が、前記検証者により操作される検証者側装置より供給されるチャレンジ、前記秘密鍵、および前記公開鍵に基づいて、前記電子署名を生成し、
前記検証者側装置が、前記チャレンジと前記公開鍵とに基づいて、前記電子署名を検証する
<1>に記載の情報処理方法。
<4> 前記チャレンジは、Fiat-Shamir変換に基づいたアルゴリズムにより生成される
<3>に記載の情報処理方法。
<5> 前記チャレンジは、前記検証者側装置が操作されることで、前記検証者により選択される情報である
<3>に記載の情報処理方法。
<6> 前記証明者側装置は、
1,…,Nのパターンからなるシード値に基づいた複数の乱数、および前記秘密鍵から計算される第1の計算結果に基づいて、第1のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者側装置より供給される、前記1,…,Nのパターンのうち、前記検証者により選択されたパターンをチャレンジとして受信し、
前記チャレンジとしてのパターンと対応する乱数、および前記第1の計算結果に基づいて、前記電子署名を生成し、前記検証者側装置に送信し、
前記検証者側装置は、
前記証明者側装置からの前記第1のハッシュ値を受信し、
前記1,…,Nのパターンのうち、前記検証者により選択されたパターンをチャレンジとして前記証明者側装置に送信し、
前記チャレンジとして選択された前記パターン、前記公開鍵、および前記電子署名に含まれる情報に基づいて、前記電子署名より前記第1のハッシュ値と対応する値を計算し、前記証明者側装置より受信した前記第1のハッシュ値と一致するか否かにより前記電子署名を検証する
<3>に記載の情報処理方法。
<7> 前記証明者側装置は、
前記1,…,Nのパターンからなるシード値に基づいた複数の乱数、および前記秘密鍵から計算される第1の計算結果に基づいて、第1のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者側装置より供給される、qn通り存在する環Rqの元から前記検証者により選択される乱数を選択乱数として受信し、
前記複数の乱数、前記選択乱数、および前記公開鍵から計算される第2の計算結果に基づいて、前記第1のハッシュ値と異なる第2のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者により選択されたパターンをチャレンジとして受信し、
前記チャレンジとしてのパターンと対応する乱数、前記第1の計算結果、および前記第2の計算結果に基づいて、前記電子署名を生成し、前記検証者側装置に送信し、
前記検証者側装置は、
前記第1のハッシュ値を受信し、
前記選択乱数を前記証明者側装置に送信し、
前記証明者側装置から送信される前記第2のハッシュ値を受信し、
前記パターンをチャレンジとして前記証明者側装置に送信し、
前記チャレンジとして選択された前記パターン、前記公開鍵、および前記電子署名に含まれる情報に基づいて、前記電子署名より前記第1のハッシュ値および前記第2のハッシュ値と対応する値を計算し、前記証明者側装置より受信した前記第1のハッシュ値および前記第2のハッシュ値とがいずれも一致するか否かにより前記電子署名を検証する
<6>に記載の情報処理方法。
<8> s∈Rqを秘密鍵に設定し、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)を公開鍵に設定する鍵生成部と、
前記秘密鍵に基づいて、電子署名を生成する電子署名生成部と、
前記電子署名が正規か否かを前記公開鍵により検証する電子署名検証部と
を備える情報処理システム。
<9> s∈Rqを秘密鍵に設定し、Ring-MQ(Multivariate Quadratic)関数を形成する多次多変数多項式からなるF(s)を公開鍵に設定する鍵生成部と、
前記秘密鍵に基づいて、電子署名を生成する電子署名生成部と、
前記電子署名が正規か否かを前記公開鍵により検証する電子署名検証部と
してコンピュータを機能させるプログラム。
The present disclosure can also be configured as follows.
<1> s∈R q is set as a private key, and F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function is set as a public key,
generating a digital signature based on the private key;
verifying, by using the public key, whether the electronic signature is authentic.
<2> The information processing method according to <1>, wherein the public key is F(s)=(A, b, y) consisting of a multi-degree multivariate polynomial that forms the Ring-MQ function, where y=s·A(s)+b·s.
<3> The private key is kept private by the certifier;
The public key is publicly available and is shared with a verifier who verifies whether the electronic signature is authentic;
a prover device operated by the prover generates the digital signature based on a challenge provided by a verifier device operated by the verifier, the private key, and the public key;
The information processing method according to <1>, wherein the verifier device verifies the electronic signature based on the challenge and the public key.
<4> The information processing method according to <3>, wherein the challenge is generated by an algorithm based on the Fiat-Shamir transformation.
<5> The information processing method according to <3>, wherein the challenge is information selected by the verifier by operating the verifier side device.
<6> The prover device,
generating a first hash value based on a plurality of random numbers based on a seed value having a pattern of 1, . . . , N and a first calculation result calculated from the private key, and transmitting the first hash value to the verifier device;
receiving a pattern selected by the verifier from the
generating the digital signature based on the random number corresponding to the challenge pattern and the first calculation result, and transmitting the digital signature to the verifier device;
The verifier device includes:
receiving the first hash value from the prover device;
transmit a pattern selected by the verifier from the
The information processing method described in <3>, further comprising: calculating a value corresponding to the first hash value from the electronic signature based on the pattern selected as the challenge, the public key, and information contained in the electronic signature; and verifying the electronic signature based on whether or not it matches the first hash value received from the prover device.
<7> The prover side device,
generating a first hash value based on a plurality of random numbers based on the seed value having the pattern of 1, . . . , N and a first calculation result calculated from the private key, and transmitting the first hash value to the verifier device;
receiving a random number selected by the verifier from an element of the ring Rq having q n ways, the selected random number being supplied from the verifier side device;
generating a second hash value different from the first hash value based on a second calculation result calculated from the plurality of random numbers, the selected random number, and the public key, and transmitting the second hash value to the verifier device;
receiving a pattern selected by the verifier as a challenge;
generating the electronic signature based on a random number corresponding to the challenge pattern, the first calculation result, and the second calculation result, and transmitting the electronic signature to the verifier device;
The verifier device includes:
receiving the first hash value;
transmitting the selected random number to the prover device;
receiving the second hash value transmitted from the prover device;
sending said pattern as a challenge to said prover device;
The information processing method described in <6>, further comprising: calculating values corresponding to the first hash value and the second hash value from the electronic signature based on the pattern selected as the challenge, the public key, and information contained in the electronic signature; and verifying the electronic signature based on whether or not the first hash value and the second hash value received from the prover device match.
<8> A key generation unit that sets s∈Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key;
an electronic signature generating unit that generates an electronic signature based on the private key;
and an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
<9> A key generation unit that sets s∈Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key;
an electronic signature generating unit that generates an electronic signature based on the private key;
A program that causes a computer to function as an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
11 認証プロトコル, 31 証明者側情報処理装置, 32 検証者側情報処理装置, 51 鍵生成部, 52 認証情報生成部, 71 認証情報検証部 11 Authentication protocol, 31 Prover side information processing device, 32 Verifier side information processing device, 51 Key generation unit, 52 Authentication information generation unit, 71 Authentication information verification unit
Claims (9)
前記秘密鍵に基づいて、電子署名を生成し、
前記電子署名が正規か否かを前記公開鍵により検証する
ステップを含む情報処理方法。 s∈Rq is set as a private key, and F(s) consisting of a multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function is set as a public key,
generating a digital signature based on the private key;
verifying, by using the public key, whether the electronic signature is authentic.
請求項1に記載の情報処理方法。 2. The information processing method according to claim 1, wherein the public key is F(s)=(A, b, y) consisting of a multi-degree multivariate polynomial forming the Ring-MQ function, where y=s·A(s)+b·s.
前記公開鍵は、公開されており前記電子署名が正規か否かを検証する検証者にも共有され、
前記証明者により操作される証明者側装置が、前記検証者により操作される検証者側装置より供給されるチャレンジ、前記秘密鍵、および前記公開鍵に基づいて、前記電子署名を生成し、
前記検証者側装置が、前記チャレンジと前記公開鍵とに基づいて、前記電子署名を検証する
請求項1に記載の情報処理方法。 the private key is kept private by the certifier;
The public key is publicly available and is shared with a verifier who verifies whether the electronic signature is authentic;
a prover device operated by the prover generates the digital signature based on a challenge provided by a verifier device operated by the verifier, the private key, and the public key;
The information processing method according to claim 1 , wherein the verifier device verifies the electronic signature based on the challenge and the public key.
請求項3に記載の情報処理方法。 The information processing method according to claim 3 , wherein the challenge is generated by an algorithm based on the Fiat-Shamir transformation.
請求項3に記載の情報処理方法。 The information processing method according to claim 3 , wherein the challenge is information selected by the verifier by operating the verifier side device.
1,…,Nのパターンからなるシード値に基づいた複数の乱数、および前記秘密鍵から計算される第1の計算結果に基づいて、第1のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者側装置より供給される、前記1,…,Nのパターンのうち、前記検証者により選択されたパターンをチャレンジとして受信し、
前記チャレンジとしてのパターンと対応する乱数、および前記第1の計算結果に基づいて、前記電子署名を生成し、前記検証者側装置に送信し、
前記検証者側装置は、
前記証明者側装置からの前記第1のハッシュ値を受信し、
前記1,…,Nのパターンのうち、前記検証者により選択されたパターンをチャレンジとして前記証明者側装置に送信し、
前記チャレンジとして選択された前記パターン、前記公開鍵、および前記電子署名に含まれる情報に基づいて、前記電子署名より前記第1のハッシュ値と対応する値を計算し、前記証明者側装置より受信した前記第1のハッシュ値と一致するか否かにより前記電子署名を検証する
請求項3に記載の情報処理方法。 The prover device includes:
generating a first hash value based on a plurality of random numbers based on a seed value having a pattern of 1, . . . , N and a first calculation result calculated from the private key, and transmitting the first hash value to the verifier device;
receiving a pattern selected by the verifier from the patterns 1, . . . , N provided by the verifier device as a challenge;
generating the digital signature based on the random number corresponding to the challenge pattern and the first calculation result, and transmitting the digital signature to the verifier device;
The verifier device includes:
receiving the first hash value from the prover device;
transmit a pattern selected by the verifier from the patterns 1, . . . , N as a challenge to the prover device;
4. The information processing method according to claim 3, further comprising: calculating a value corresponding to the first hash value from the electronic signature based on the pattern selected as the challenge, the public key, and information contained in the electronic signature; and verifying the electronic signature based on whether or not it matches the first hash value received from the prover device.
前記1,…,Nのパターンからなるシード値に基づいた複数の乱数、および前記秘密鍵から計算される第1の計算結果に基づいて、第1のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者側装置より供給される、qn通り存在する環Rqの元から前記検証者により選択される乱数を選択乱数として受信し、
前記複数の乱数、前記選択乱数、および前記公開鍵から計算される第2の計算結果に基づいて、前記第1のハッシュ値と異なる第2のハッシュ値を生成し、前記検証者側装置に送信し、
前記検証者により選択されたパターンをチャレンジとして受信し、
前記チャレンジとしてのパターンと対応する乱数、前記第1の計算結果、および前記第2の計算結果に基づいて、前記電子署名を生成し、前記検証者側装置に送信し、
前記検証者側装置は、
前記第1のハッシュ値を受信し、
前記選択乱数を前記証明者側装置に送信し、
前記証明者側装置から送信される前記第2のハッシュ値を受信し、
前記パターンをチャレンジとして前記証明者側装置に送信し、
前記チャレンジとして選択された前記パターン、前記公開鍵、および前記電子署名に含まれる情報に基づいて、前記電子署名より前記第1のハッシュ値および前記第2のハッシュ値と対応する値を計算し、前記証明者側装置より受信した前記第1のハッシュ値および前記第2のハッシュ値とがいずれも一致するか否かにより前記電子署名を検証する
請求項6に記載の情報処理方法。 The prover device includes:
generating a first hash value based on a plurality of random numbers based on the seed value having the pattern of 1, . . . , N and a first calculation result calculated from the private key, and transmitting the first hash value to the verifier device;
receiving a random number selected by the verifier from an element of the ring Rq having q n ways, the selected random number being supplied from the verifier side device;
generating a second hash value different from the first hash value based on a second calculation result calculated from the plurality of random numbers, the selected random number, and the public key, and transmitting the second hash value to the verifier device;
receiving a pattern selected by the verifier as a challenge;
generating the electronic signature based on a random number corresponding to the challenge pattern, the first calculation result, and the second calculation result, and transmitting the electronic signature to the verifier device;
The verifier device includes:
receiving the first hash value;
transmitting the selected random number to the prover device;
receiving the second hash value transmitted from the prover device;
sending said pattern as a challenge to said prover device;
7. The information processing method according to claim 6, further comprising: calculating values corresponding to the first hash value and the second hash value from the electronic signature based on the pattern selected as the challenge, the public key, and information contained in the electronic signature; and verifying the electronic signature based on whether or not the first hash value and the second hash value received from the prover device match.
前記秘密鍵に基づいて、電子署名を生成する電子署名生成部と、
前記電子署名が正規か否かを前記公開鍵により検証する電子署名検証部と
を備える情報処理システム。 a key generation unit that sets s∈Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key;
an electronic signature generating unit that generates an electronic signature based on the private key;
and an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
前記秘密鍵に基づいて、電子署名を生成する電子署名生成部と、
前記電子署名が正規か否かを前記公開鍵により検証する電子署名検証部と
してコンピュータを機能させるプログラム。 a key generation unit that sets s∈Rq as a private key and sets F(s) consisting of a multi-degree multivariate polynomial forming a Ring-MQ (Multivariate Quadratic) function as a public key;
an electronic signature generating unit that generates an electronic signature based on the private key;
A program that causes a computer to function as an electronic signature verification unit that verifies whether the electronic signature is authentic using the public key.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023-174487 | 2023-10-06 | ||
| JP2023174487 | 2023-10-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025074851A1 true WO2025074851A1 (en) | 2025-04-10 |
Family
ID=95282954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/033035 Pending WO2025074851A1 (en) | 2023-10-06 | 2024-09-17 | Information processing method, information processing system, and program |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025074851A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013048350A (en) * | 2011-08-29 | 2013-03-07 | Sony Corp | Information processing device, signature generation device, information processing method, signature generation method, and program |
-
2024
- 2024-09-17 WO PCT/JP2024/033035 patent/WO2025074851A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013048350A (en) * | 2011-08-29 | 2013-03-07 | Sony Corp | Information processing device, signature generation device, information processing method, signature generation method, and program |
Non-Patent Citations (3)
| Title |
|---|
| ANONYMOUS: "Developing secure encryption technology that cannot be cracked even by quantum computers", THE UNIVERSITY OF TOKYO, KYUSHU UNIVERSITY, 24 November 2021 (2021-11-24), XP093299651, Retrieved from the Internet <URL:https://www.i.u-tokyo.ac.jp/news/files/5dc4783e57f7775841bccb7b815603d1efa3c27a.pdf> * |
| HIROKI FURUE ; YASUHIKO IKEMATSU ; YUTARO KIYOMURA ; TSUYOSHI TAKAGI: "A New Variant of Unbalanced Oil and Vinegar Using Quotient Ring: QR-UOV", IACR, INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH, vol. 19700101:000000, 5 October 2021 (2021-10-05), International Association for Cryptologic Research, pages 1 - 30, XP061068903 * |
| SATO, KATSUHIRO; YUNTAO, WANG ET AL.: "Proof of Security in pqe-based cryptosystems", IPSJ SIG TECHNICAL REPORT, INFORMATION PROCESSING SOCIETY OF JAPAN, JP, vol. 2023-CSEC-100, no. 48, 27 February 2023 (2023-02-27), JP, pages 1 - 8, XP009562281, ISSN: 2188-8590 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12255988B2 (en) | Computer-implemented system and method for distributing shares of digitally signed data | |
| CN110351096B (en) | Multiple signature method, signature center, program medium, and electronic device | |
| JP7312293B2 (en) | Digital signature method, signature information verification method, related device and electronic device | |
| WO2013031533A1 (en) | Information processing device, information processing method, and program | |
| JP7164672B2 (en) | Digital signature method, signature information verification method, related device and electronic device | |
| WO2013031414A1 (en) | Signature verification device, signature verification method, program, and recording medium | |
| JP2013524263A (en) | System and method for protecting cryptographic assets from white box attacks | |
| KR101467719B1 (en) | Signature generating device, method of generating signature, and recording medium | |
| CN112887081A (en) | SM 2-based signature verification method, device and system | |
| CN117278213B (en) | Polynomial commitment based method, electronic device and readable storage medium | |
| US7587605B1 (en) | Cryptographic pairing-based short signature generation and verification | |
| JP4988448B2 (en) | Batch verification apparatus, program, and batch verification method | |
| JP2014137474A (en) | Tamper detection device, tamper detection method, and program | |
| WO2025074851A1 (en) | Information processing method, information processing system, and program | |
| WO2025107786A1 (en) | Quantum-resistant electronic signature generation method and apparatus, and quantum-resistant electronic signature verification method and apparatus | |
| US20230261872A1 (en) | Universal zero-knowledge succinct non-interactive argument of knowledge proof system for stack-based virtual machine program | |
| Riasi et al. | Privacy-Preserving Verifiable Neural Network Inference Service | |
| EP4024755B1 (en) | Secured performance of an elliptic curve cryptographic process | |
| Ding et al. | Mqdss | |
| WO2011033642A1 (en) | Signature generation device and signature verification device | |
| JP5324875B2 (en) | Multiple signature generation system, multiple signature generation method, and multiple signature generation program | |
| CN118300879B (en) | Communication authentication method, apparatus, computer device, storage medium, and program product | |
| Wen et al. | Post-quantum sigma protocols and signatures from low-rank matrix completions | |
| CN112632636B (en) | Ciphertext data comparison result proving and verifying method and device | |
| US20240195615A1 (en) | Distributed key generation system and key generation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24874460 Country of ref document: EP Kind code of ref document: A1 |