WO2021221243A1 - Ring-lwr기반 양자내성 서명 방법 및 그 시스템 - Google Patents

Ring-lwr기반 양자내성 서명 방법 및 그 시스템 Download PDF

Info

Publication number
WO2021221243A1
WO2021221243A1 PCT/KR2020/013688 KR2020013688W WO2021221243A1 WO 2021221243 A1 WO2021221243 A1 WO 2021221243A1 KR 2020013688 W KR2020013688 W KR 2020013688W WO 2021221243 A1 WO2021221243 A1 WO 2021221243A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
ring
key
value
lwr
Prior art date
Application number
PCT/KR2020/013688
Other languages
English (en)
French (fr)
Inventor
박종환
이광수
박소현
우주
이동환
안명길
Original Assignee
국방과학연구소
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소, 고려대학교 산학협력단 filed Critical 국방과학연구소
Publication of WO2021221243A1 publication Critical patent/WO2021221243A1/ko
Priority to US17/958,314 priority Critical patent/US11909891B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

Definitions

  • the present invention relates to a Ring-LWR-based quantum resistant signature method and a system therefor, and more particularly, to improve the Ring-LWE-based quantum resistant signature method that has been used in the prior art, a quantum resistant signature based on Ring-LWR. It relates to a method and system for doing so.
  • the copied software Since it is software that is updated with a short cycle, unless the structure is capable of determining the authenticity of the product at each update cycle, the copied software has no substantial performance difference from the genuine software.
  • the demand is increasing day by day.
  • a signature or encryption method can be generated based on mathematical techniques, and the most widely used method is the RSA method.
  • the RSA method is a method that can be neutralized within a short time by a quantum computer when the quantum computer currently being researched is put to practical use. This is called a quantum-resistant signature or quantum-resistant modulation technique.
  • a known technique among quantum-resistant signature techniques is a technique for processing public key encryption and signatures based on Ring-Learning with Errors (Ring-LWE). More specifically, in the Ring-LWE-based quantum tolerance signature technique, m, n, q are positive integers, and the cyclotonic ring R is a polynomial Z[X] with integers as coefficients and a cyclotonic polynomial ⁇ m (X) It has the form of Z[X]/ ⁇ m (X) ⁇ as a modular structure.
  • R q is a cyclotonic ring of the form Z[X]/ ⁇ m (X) ⁇ and a randomly chosen polynomial a ⁇ R q , s assuming that D s , D e is any distribution on R q .
  • the Ring-LWE technique-based quantum resistant signature technique uses a protocol that proves with zero knowledge that a legitimate user knows the signature key s, based on the Ring-LWE technique.
  • the verification key is designed in a Ring-LWE structure, so that an unauthorized user without a signing key cannot obtain a signing key from the verification key and cannot generate an arbitrary signature.
  • Bai and Galbraith introduced the technique in 2014, and the following procedure is followed.
  • a security constant 1 ⁇ is input and a verification key and a signature key are output. Then, the signature key and the message M are input and the signature value is output. Finally, the signature is verified by receiving the verification key, the message M, and the signature value.
  • the cyclotonic equation ⁇ m (X) is used as x n +1.
  • the ring generated from the equation has the advantage of being efficient in operation and having a small error propagation rate generated in the multiplication operation.
  • the integer n must be a power of two.
  • the signature structure designed based on LWE needs to extract an error from the Gaussian distribution during the key generation process, the time required for the key generation process becomes excessively long, and there may be a vulnerability to side-channel attacks.
  • the error propagation rate becomes n, which has the advantage of having a small error propagation rate, but the exponent n is a power of 2 It creates a condition that must be in the form of a form, which causes inefficient increase of system parameters.
  • x n +x n-1 +x n-2 ...+1 is selected for the cyclotonic equation, although the degree of freedom for the exponent selection increases, it is relatively error-prone compared to when the cyclotonic equation is selected as x n +1. There is a problem in that the propagation rate increases.
  • the technical problem to be solved by the present invention is to provide a Ring-LWR-based quantum-resistant signature method that can efficiently use system parameter values while having less error propagation than the conventional Ring-LWE-based quantum-resistant signature method. is in
  • a method according to an embodiment of the present invention for solving the above technical problem is a Ring-Learning With Roundings (Ring-LWR)-based quantum tolerance signature method.
  • a system for solving the above technical problem, as a Ring-Learning With Roundings (Ring-LWR)-based quantum-resistant signature system, receives a security constant as an input, and in a cyclotonic equation consisting of three terms a key generator for outputting a signature key and a verification key as an operation for a ring defined by; a signature value output unit for outputting a signature value based on the output signature key; and a signature verification unit that calculates an operation value based on the output verification key and signature value, and verifies the signature based on a result of comparing the output signature value and the calculated operation value.
  • Ring-LWR Ring-Learning With Roundings
  • An embodiment of the present invention may provide a computer-readable recording medium storing a program for executing the method.
  • system parameters including signature values can be efficiently set for various security strengths.
  • FIG. 1 is a block diagram of an example of a quantum-resistant signature system according to the present invention.
  • FIG. 2 is a diagram schematically showing the correlation between the error propagation diagram according to the cyclotonic equation and the truncate function operation applied in the present invention.
  • FIG. 3 is a flowchart of an example of a quantum-resistant signature method according to the present invention.
  • a method according to an embodiment of the present invention for solving the above technical problem is a Ring-Learning With Roundings (Ring-LWR)-based quantum tolerance signature method.
  • the order n of the highest order term of the cyclotonic equation may be in the form of a product of a power of 2 and a power of 3.
  • the step of outputting the signature value may include outputting the signature value by applying a truncate function that selectively extracts only coefficients of terms selected under a preset condition.
  • the signature verification step may be characterized in that the calculated value is calculated by applying a truncate function that selectively extracts only coefficients of terms selected under a preset condition.
  • a system for solving the above technical problem, as a Ring-Learning With Roundings (Ring-LWR)-based quantum-resistant signature system, receives a security constant as an input, and in a cyclotonic equation consisting of three terms a key generator for outputting a signature key and a verification key as an operation for a ring defined by; a signature value output unit for outputting a signature value based on the output signature key; and a signature verification unit that calculates an operation value based on the output verification key and signature value, and verifies the signature based on a result of comparing the output signature value and the calculated operation value.
  • Ring-LWR Ring-Learning With Roundings
  • the order n of the highest order term of the cyclotonic equation may be in the form of a product of a power of 2 and a power of 3.
  • the system further includes a function operator implementing a truncate function that selectively extracts only coefficients of terms selected under a preset condition, wherein the signature value output unit applies the truncate function to the signature value It may be characterized by outputting
  • the system further includes a function operator implementing a truncate function that selectively extracts only coefficients of terms selected under a preset condition, and the signature verification unit applies the truncate function to calculate the calculated value. It may be characterized in that it is calculated.
  • An embodiment of the present invention may provide a computer-readable recording medium storing a program for executing the method.
  • a specific process sequence may be performed differently from the described sequence.
  • two processes described in succession may be performed substantially simultaneously, or may be performed in an order opposite to the order described.
  • Equations 1 to 3 are always interpreted in the same manner.
  • Equation 1 means that s1 and s2 are elements belonging to the set R, respectively.
  • Equation 2 means performing a modular operation with the z element.
  • Equation 3 means rounding the values inside parentheses.
  • FIG. 1 is a block diagram of an example of a quantum-resistant signature system according to the present invention.
  • the quantum resistant signature system 10 includes a key generation unit 110 , a signature value output unit 130 , a signature verification unit 150 , and a function operation unit 170 .
  • the quantum-resistant signature system 10 can implement a Ring-LWR-based quantum-resistant signature technique for improving the known Ring-LWE-based quantum-resistant signature technique.
  • the key generator 110 receives the security constant as an input, and outputs a signature key and a verification key as an operation on a ring defined by a cyclotonic equation composed of three terms.
  • the security constant that the key generator 110 receives as an input value is 1 ⁇
  • the verification key is vk
  • the signature is sk.
  • the parameters generally used in the quantum resistant signature system 10 according to the present invention include n, l, q, p, Ds, B, d, h, L s and L E , and these parameters are the existing Ring- It belongs to the same category as the parameters used in the LWR technique. That is, n, l, B, h, d and modulus q and p are all positive integers, and l is greater than or equal to 1 and less than or equal to n/2. Also, q and p are in the form of powers of 2, and p is less than q. Also, n is a product of a power of 2 and a power of 3.
  • the cyclotonic equation used in the key generator 110 consists of three terms.
  • Equation 4 is an expression showing an example of a cyclotonic equation used in the key generator 110 .
  • Equation 4 is a ternary equation having three terms, and the present invention uses a cyclotonic equation composed of three terms as a modular operation of the ring, thereby ensuring a high degree of freedom in selecting the exponent n and relatively error propagation It also has small features.
  • n is a product of a power of 2 and a power of 3.
  • n may be 512, 648, 768, 864, 972, 1024, or the like.
  • the key generator 110 selects the polynomial a randomly from R q and selects the polynomial s from the distribution D s as an operation for the cyclotonic trinomial.
  • R q means a ring by the cyclotonic equation
  • a ring is a set of polynomials having preset coefficients, in which addition and multiplication are defined between elements, and a set closed with respect to addition and multiplication.
  • a ring generated by the three-term cyclotonic equation x n -x n/2 +1 is Z q [X]/(x n -x n/2 +1).
  • the key generator 110 calculates a polynomial t, and the polynomial t may be calculated through Equation (5).
  • the key generator 110 When the polynomials a, s, and t have been determined, the key generator 110 outputs a verification key vk and a signature key sk, and the output verification key and signature key are determined by Equations 6 and 7.
  • the signature value output unit 130 outputs a signature value based on the signature key output from the key generation unit 110 .
  • the signature value output unit 130 receives the signature key sk and the message M as inputs, and outputs a signature value (z, c).
  • the signature value output unit 130 calculates vtrun by inputting v calculated through Equation 8 into a truncate function.
  • the truncate function is a function that selectively extracts only coefficients of terms selected under a preset condition, and is a function applied to reduce the error propagation degree of a ring generated by a cyclotonic equation composed of three terms.
  • the truncate function is the middle of the coefficients of the input equation. Only coefficients for l terms less than or equal to the next term can be selectively extracted, and the error propagation degree of the ternary expression x n -x n/2 +1 becomes the smallest region by the operation of the truncate function, so that in the ring operation The size of the generated error is effectively limited.
  • create and print Equation 9 is an example of an equation extracted by the truncate function.
  • the signature value output unit 130 may control the truncate function operation to be performed in a separate module called the function operation unit 170 .
  • the function operation unit 170 may receive the equation a and the integer l from the signature value output unit 130 , perform a function, and return the result value to the signature value output unit 130 .
  • the signature value output unit 130 calculates c constituting the signature value by inputting v trun , which is the operation result of the truncate function, into the hash function together with the parameter m.
  • Equation 10 is an example of the equation used by the signature value output unit 130 to calculate the signature value c.
  • [v trun ] d which is the result of cutting the least d bits from v trun , the operation result of the truncate function, is input to the hash function. It has been described as one of the system parameters in
  • the signature value output unit 130 calculates z through Equation 11, and when the condition according to Equation 12 is satisfied, initializes all operations, and the key generation unit 110 uses the verification key and signature Controls to start anew from the process of outputting the key.
  • the signature value output unit 130 calculates w through Equation 13.
  • Equation 13 is an equation for calculating w, and a, z, p, q, t, c, and q constituting Equation 13 are predetermined as system parameters or are calculated through a previous calculation process as already described. have.
  • the signature value output unit 130 calls the truncate function again, inputs the calculated w together with the integer l, and calculates w trun
  • the signature value output unit 130 uses Equation 14 or Equation 14 When the condition according to 15 is satisfied, all operations are initialized, and the process of outputting the verification key and the signature key from the key generator 110 is controlled to start anew.
  • the signature value output unit 130 outputs the signature value (z, c) when neither of the conditions according to Equations 14 and 15 are satisfied.
  • the signature verification unit 150 calculates an operation value based on the verification key vk output from the key generation unit 110 and the signature value (z, c) output from the signature value output unit 130, and the signature value and operation The signature is verified based on the result of comparing the values.
  • the signature verification unit 150 calculates w' through Equation 16, inputs the calculated w' to the truncate function, and calculates w trun .
  • the signature verification unit 150 may transmit the equation and the integer l to the function calculation unit 170 like the signature value output unit 130 , and may return a result value of calculating the truncate function.
  • Equation 16 is similar in overall form to Equation 13, Equation 13 is an expression used in the signature step, and Equation 16 is an expression used in the step of verifying the signature, if a correct signature is input, Equation 16 and Equation 13 becomes substantially the same expression.
  • the signature verification unit 150 calculates c' by inputting the calculated w trun and m to the hash function as in Equation 10, and compares c' constituting the signature value with c' constituting the operation value. verify The signature verification unit 150 considers that c' constituting the signature value and c' constituting the operation value are the same, and when the condition according to Equation 17 is satisfied, it is considered verified.
  • the signature verification unit 150 considers that the verification according to the signature has not been passed, regardless of whether c constituting the signature value and c' constituting the operation value are the same. do. It has already been described that in Equation 17, B is the largest value among the ranges in which the polynomial y can be selected in the signature process, and L s is a value determined by a system parameter.
  • the function operation unit 170 receives the equation and integer from the signature value output unit 130 and the signature verification unit 150, performs a truncate operation, and outputs the result of the signature value output unit 130 or the signature verification unit The function to return to (150) is performed. Since the function operation unit 170 is a module for performing a truncate operation, different from that described in FIG. 1 , according to an embodiment, the function operation unit 170 is a signature value output unit 130 and a signature verification unit 150, respectively. It may be implemented in an included form.
  • FIG. 2 is a diagram schematically showing the correlation between the error propagation diagram according to the cyclotonic equation and the truncate function operation applied in the present invention.
  • FIG. 2 compares a total of three graphs on the same line, and depending on how the cyclotonic equation is set, the system may have the same error propagation rate as any one of the three graphs shown in FIG. .
  • the leftmost graph of FIG. 2 shows the error propagation when the cyclotonic equation is set to x n +1 and the quantum tolerance signature technique is implemented based on the Ring-LWE.
  • the number of sum is fixed to n from 0 to n-1.
  • the rightmost graph of FIG. 2 shows the error propagation rate when the cyclotonic equation is set to x n +x n-1 +...+1 and the quantum resistant signature technique is implemented based on Ring-LWE.
  • the number of sum is fixed to 2n from 0 to n-1 orders, and as described in the background, the cyclotonic equation is x n +x
  • the degree of freedom for index selection increases, but it can be seen that the error propagation degree becomes 2n.
  • the graph located in the center of FIG. 2 shows the error propagation rate when the cyclotonic equation is set as a trinomial and the quantum tolerant signature technique is implemented based on the Ring-LWR.
  • the error propagation degree when the order is 0 is 3n/2, which is higher than the value of the leftmost graph, but it is observed that it gradually decreases as the order increases,
  • the error propagation degree is remarkably reduced by additionally adopting a configuration that extracts only a part whose error propagation degree is much lower than 3n/2 by applying a truncate function in the step of outputting the signature value and verifying the signature.
  • FIG. 3 is a flowchart of an example of a quantum-resistant signature method according to the present invention.
  • the key generator 110 outputs a signature key and a verification key as an operation for a ring defined by a cyclotonic equation composed of three terms (S310).
  • the signature value output unit 130 outputs a signature value based on the signature key (S320).
  • the signature verification unit 150 calculates an operation value based on the verification key and the signature value (S330).
  • the signature verification unit 150 compares whether the signature value and the operation value are the same (S340), and if the signature value and the operation value are the same, it is considered a normal signature. It can be done (S350).
  • step S350 even if the signature value and the operation value are the same, if the condition according to Equation 17 is not satisfied, it can be considered that the signature is not a normal signature.
  • system parameters including signature values can be efficiently set for various security strengths.
  • the efficiency of the entire system including the algorithm implementation speed is remarkably increased.
  • the error range can be strictly set, and the number of repetitions performed in the signature generation algorithm can be reduced.
  • the present invention reduces the size of the private key by half and the size of the public key from Z q to Z p by designing the signature structure based on the existing Ring-LWE based on Ring-LWR. , it is possible to omit the process of generating the secret key from the Gaussian distribution in the key generation process, thereby improving the key generation speed and reducing the risk of side-channel attacks.
  • the embodiment according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium.
  • the medium includes a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floppy disk, and a ROM. , RAM, flash memory, and the like, hardware devices specially configured to store and execute program instructions.
  • the computer program may be specially designed and configured for the present invention, or may be known and used by those skilled in the computer software field.
  • Examples of the computer program may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • connection or connection members of the lines between the components shown in the drawings exemplarily represent functional connections and/or physical or circuit connections, and in an actual device, various functional connections, physical connections that are replaceable or additional may be referred to as connections, or circuit connections.
  • connection or circuit connections unless there is a specific reference such as "essential” or "importantly", it may not be a necessary component for the application of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Electromagnetism (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)
  • Light Receiving Elements (AREA)
  • Semiconductor Lasers (AREA)

Abstract

본 발명의 일 실시 예는, Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 방법으로서, 보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성단계; 상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력단계; 및 상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증단계;를 포함하는 Ring-LWR기반 양자내성 서명 방법을 개시한다.

Description

RING-LWR기반 양자내성 서명 방법 및 그 시스템
본 발명은 Ring-LWR기반 양자내성 서명 방법 및 그 시스템에 관한 것으로서, 보다 구체적으로는, 종래에 사용되어 왔던 Ring-LWE기반 양자내성 서명 방법을 개선하기 위해서 Ring-LWR을 기반으로 양자내성 서명을 수행하는 방법 및 그 시스템에 관한 것이다.
소프트웨어의 고도화가 진행되면서, 누구나 사용하는 범용소프트웨어가 갖는 고유한 가치는 나날이 상승하는 반면, 소프트웨어가 복사, 위조되어 사용될 수 있는 위험성은 지속적으로 늘어나서, 소프트웨어 제작자들은 소프트웨어 제품에 대한 위조 및 해적행위를 방지하기 위해서 다양한 서명(signature) 또는 암호화(modulation)기법을 사용한다.
짧은 주기를 갖고 업데이트가 이루어지는 소프트웨어라서 업데이트 주기마다 제품의 진위를 판별할 수 있는 구조가 아니면, 복사된 소프트웨어도 진품 소프트웨어와 실질적인 성능 차이가 없으므로, 소프트웨어 분야에서 보안이 강화된 서명 또는 암호화 기법에 대한 요구는 날로 증대되고 있는 실정이다. 서명 또는 암호화 기법은 수학적 기교를 기반으로 하여 생성될 수 있으며, 가장 널리 사용되는 방식에는 RSA방식이 있다.
다만, RSA방식은 현재 연구가 진행되고 있는 양자 컴퓨터가 실용화되면, 양자 컴퓨터에 의해서 짧은 시간 내에 무력화될 수 있는 방식이어서, 양자 컴퓨터의 연산 체계로도 무력화시키기 어려운 서명 또는 암호화기법이 활발하게 연구되고 있으며, 이를 양자내성 서명(quantum-resistant signature) 또는 양자내성 암호화(quantum-resistant modulation)기법이라고 호칭한다.
양자내성 서명 기법 중에 알려져 있는 기법은, Ring-LWE(Ring-Learning with Errors)를 기반으로 하여, 공개키 암호와 서명을 처리하는 기법이 있다. 보다 구체적으로, Ring-LWE기반 양자내성 서명 기법에서, m, n, q는 양의 정수이고, 사이클로토믹 링 R은, 정수를 계수로 갖는 다항식 Z[X]와 사이클로토믹 다항식 Φm(X)을 모듈러로 갖는 구조로, Z[X]/{Φm(X)}의 형태를 갖는다. Rq는 Z[X]/{Φm(X)}의 형태를 갖는 사이클로토믹 링이고, Ds, De가 Rq상의 임의의 분포라고 가정하여, 랜덤하게 선택된 다항식 a∈Rq, s∈Ds와 e∈De에 대하여, b=a*s+e를 계산하게 된다.
이때, (a,b)가 주어졌을 때, s를 찾는 것이 Ring-LWE 기반 기법으로 정의되며, Ds는 Rq를, De는 표준편차가 시그마인 가우시안 분포 GDσ를 의미한다. Zq에서 정의된 LWE문제는 2005년 Regev에 의해 처음 소개되었으며, 이와 동시에 Regev에 의해 처음으로 LWE기반의 공개키 암호 기법이 제안되었고, 이후, 2010년 Lyubashevsky에 링 위에서 정의된 Ring-LWE 문제가 제안되었다.
Ring-LWE기법의 문제점 중 하나는 (a, b)가 주어졌을 때, s를 찾는 것이 어렵다는 점이다. Ring-LWE기법 기반 양자내성 서명 기법은, Ring-LWE 기법을 기반으로, 정당한 사용자가 갖고 있는 서명키인 s를 알고 있음을 영지식으로 증명하는 프로토콜을 사용한다. 검증키는 Ring-LWE구조로 설계하여, 서명키가 없는 정당하지 않은 사용자가 검증키로부터 서명키를 얻을 수 없고, 임의의 서명을 생성할 수 없도록 한다. Ring-LWE기반 양자내성 서명 기법의 대표적인 방법으로는, Bai와 Galbraith가 2014년에 소개한 기법이 있으며 다음과 같은 절차를 따른다.
먼저, 키를 생성하는 절차로서, 보안상수 1λ를 입력받아 검증키와 서명키를 출력한다. 이어서, 서명키와 메시지 M을 입력받아 서명값을 출력한다. 마지막으로, 검증키, 메시지 M 및 서명값을 입력받아 서명을 검증한다.
위와 같은, Ring-LWE기반 양자내성 서명 기법에서는 사이클로토믹 방정식 Φm(X)를 xn+1로 사용한다. 해당 방정식에서 생성되는 링은 연산이 효율적이고, 곱 연산에서 발생하는 에러 전파도가 작다는 장점을 갖는다. 이때, 에러 전파도는 다항식 링의 원소인 두 다항식의 곱 연산 시, c(x)=a(x)*b(x)=c0+c1x+...cn-1xn-1을 구성하는 계수들 ci가 각각 몇 개의 aj와 bk의 곱의 합으로 이루어져 있는지에 대한 연산으로 정의된다.
위와 같은 링에서 서명 구조가 안전하기 위해서는, 정수 n이 2의 거듭제곱 꼴이어야만 한다. 또한, 보안 강도를 높이기 위해서, 사이클로토믹 방정식의 지수 n을 증가시켜야 하는데 n이 2배 증가되면서 서명 값을 포함한 전반적인 시스템 파라미터 값이 비효율적으로 증가하게 된다. 또한, LWE기반으로 설계된 서명 구조는 키생성 과정에서, 가우시안 분포에서의 에러를 추출하여야 하므로, 키생성 과정에서 소요되는 시간이 지나치게 길어지고, 부채널 공격에 대한 취약점이 있을 수 있다.
한편, LWE기반 양자내성 서명 기법을 이용할 때, 사이클로토믹 방정식을 xn+1으로 선택할 경우, 에러 전파도는 n이 되어, 작은 에러 전파도를 갖는다는 장점이 있으나, 지수 n이 2의 거듭제곱 형태여야 하는 조건이 생겨 시스템 파라미터를 비효율적으로 증가시키는 원인이 된다. 사이클로토믹 방정식을 xn+xn-1+xn-2...+1가 선택될 경우, 지수 선정에 대한 자유도는 높아지더라도, 사이클로토믹 방정식을 xn+1으로 선택할 때보다 상대적으로 에러 전파도가 커지는 문제점이 있다.
결국, LWE기반 양자내성 서명 기법에 의하면, 사이클로토믹 방정식을 어떤 식으로 채용하더라도 서로 다른 한계점을 갖고 있으므로, 양쪽의 한계점을 모두 극복할 수 있는 새로운 패러다임의 양자내성 서명 기법의 필요하다.
본 발명이 해결하고자 하는 기술적 과제는, 종래 방식인 Ring-LWE 기반 양자내성서명방법보다 더 적은 에러 전파도를 가지면서도 시스템 파라미터 값을 효율적으로 사용할 수 있는 Ring-LWR 기반 양자내성 서명 방법을 제공하는 데에 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 방법은, Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 방법으로서, 보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성단계; 상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력단계; 및 상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증단계;를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 시스템은, Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 시스템으로서,보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성부; 상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력부; 및 상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증부;를 포함한다.
본 발명의 일 실시 예는, 상기 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
본 발명에 따르면, 여러 보안 강도에 대해서 서명값을 비롯한 시스템 파라마터가 효율적으로 설정될 수 있다.
또한, 본 발명에 따르면, 링에서 정의되는 연산인 다항식 곱 연산에서 발생되는 에러 전파도를 낮추기 위한 특수 함수를 채용함으로써, 알고리즘 구현 속도를 비롯한 시스템 전체의 효율성이 현격하게 상승된다.
또한, 본 발명에 따르면, 키 생성 과정에서 가우시안 분포에서 비밀키를 생성하는 과정 자체를 생략할 수 있게 되어, 키 생성 속도가 향상되고, 부채널 공격에 대한 위험성도 감소될 수 있다.
도 1은 본 발명에 따른 양자내성 서명 시스템의 일 예의 블록도이다.
도 2는 사이클로토믹 방정식에 따른 에러 전파도와 본 발명에서 적용한 트렁케이트함수 연산과의 상관관계를 도식적으로 나타내고 있는 도면이다.
도 3은 본 발명에 따른 양자내성 서명 방법의 일 예의 흐름도이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 방법은, Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 방법으로서, 보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성단계; 상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력단계; 및 상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증단계;를 포함한다.
상기 방법에 있어서, 상기 사이클로토믹 방정식의 최고 차항의 차수 n은 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것을 특징으로 할 수 있다.
상기 방법에 있어서, 상기 서명값출력단계는, 기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate) 함수를 적용하여, 상기 서명값을 출력하는 것을 특징으로 할 수 있다.
상기 방법에 있어서, 상기 서명검증단계는, 기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate) 함수를 적용하여, 상기 연산값을 산출하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 시스템은, Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 시스템으로서,보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성부; 상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력부; 및 상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증부;를 포함한다.
상기 시스템에 있어서, 상기 사이클로토믹 방정식의 최고 차항의 차수 n은 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것을 특징으로 할 수 있다.
상기 시스템은, 기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate)함수를 구현하는 함수연산부를 더 포함하고, 상기 서명값출력부는, 상기 트렁케이트함수를 적용하여, 상기 서명값을 출력하는 것을 특징으로 할 수 있다.
상기 시스템은, 기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate)함수를 구현하는 함수연산부를 더 포함하고, 상기 서명검증부는, 상기 트렁케이트함수를 적용하여, 상기 연산값을 산출하는 것을 특징으로 할 수 있다.
본 발명의 일 실시 예는 상기 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시 예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시 예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시 예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
설명의 편의를 위해서, 본 명세서에서 수학식 1 내지 수학식 3과 같은 표기는, 언제나 동일한 방식으로 해석하도록 한다.
Figure PCTKR2020013688-appb-M000001
Figure PCTKR2020013688-appb-M000002
Figure PCTKR2020013688-appb-M000003
수학식 1은 s1, s2가 각각 R집합에 속하는 원소라는 것을 의미한다.
수학식 2는 z원소로 모듈러(modular) 연산을 수행하는 것을 의미한다.
수학식 3은 괄호 내부의 값을 반올림하는 것을 의미한다.
도 1은 본 발명에 따른 양자내성 서명 시스템의 일 예의 블록도이다.
도 1을 참조하면, 본 발명에 따른 양자내성 서명 시스템(10)은 키생성부(110), 서명값출력부(130), 서명검증부(150) 및 함수연산부(170)를 포함하는 것을 알 수 있다.
본 발명에 따른 양자내성 서명 시스템(10)은 기존에 알려진 Ring-LWE기반 양자내성 서명 기법을 개선하기 위한 Ring-LWR기반 양자내성 서명 기법을 구현할 수 있다. 여기서, Ring-LWR(Ring-Learning with Roundings)은 a*s 연산 값에 작은 범위의 에러 e를 더하는 과정을 필수적으로 포함하는 Ring-LWE대신, 라운딩 함수인 [.]p:Zq→Zp를 이용하여, (a,b=[a*s]p)가 주어졌을 때, s를 찾는 문제로 정의되며, 가우시안 분포에서 에러를 뽑는 과정이 생략되어, 키생성 시간이 줄어들고 공개키의 크기가 Zq에서 Zp로 감소하는 장점이 있다.
키생성부(110)는 보안상수를 입력으로 받아서, 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로 서명키와 검증키를 출력한다.
키생성부(110)가 입력값으로 받는 보안상수는 1λ이고, 검증키는 vk이며, 서명는 sk이다. 본 발명에 따른 양자내성 서명 시스템(10)에서 전반적으로 사용되는 파라미터는 n, l, q, p, Ds, B, d, h, Ls 및 LE가 포함되고, 이러한 파라미터들은 기존의 Ring-LWR기법에서 사용되는 파라미터와 동일한 범주에 속한다. 즉, n, l, B, h, d와 모듈러스(modulus) q, p는 모두 양의 정수이고, l은 1보다 크거나 같고 n/2보다 작거나 같은 특징을 갖는다. 또한, q와 p는 2의 거듭제곱 형태이며, p는 q보다 작다. 또한, n은 2의 거듭제곱과 3의 거듭제곱의 곱 형태가 된다.
키생성부(110)에서 사용되는 사이클로토믹 방정식은 3개의 항으로 구성된다.
Figure PCTKR2020013688-appb-M000004
수학식 4는 키생성부(110)에서 사용되는 사이클로토믹 방정식의 일 예를 나타낸 식이다. 수학식 4는 3개의 항을 갖는 3항식으로서, 본 발명은 3개의 항으로 구성된 사이클로토믹 방정식을 링의 모듈러 연산으로 사용함으로써, 지수 n을 선정하는데에 있어서 높은 자유도가 보장되면서도 상대적으로 에러 전파도도 작은 특징을 갖는다. 또한, 수학식 4를 사이클로토믹 방정식으로 사용할 경우, 보안강도를 올리기 위해서, n이 2의 거듭제곱과 3의 거듭제곱의 곱 형태이면 족하다. 예를 들어, 본 발명에서 수학식 4를 사이클로토믹 방정식으로 채택할 경우, n은 512, 648, 768, 864, 972, 1024 등이 될 수 있다.
키생성부(110)는 사이클로토믹 3항식에 대한 연산으로서, 다항식 a를 Rq에서 무작위로 선택하고, 다항식 s를 분포 Ds에서 선택한다. 여기서, Rq란 사이클로토믹 방정식에 의한 링을 의미하고, 링(Ring)이란 기설정된 계수를 가지는 다항식의 집합으로서, 원소들 사이에 덧셈과 곱셈이 정의되어 있으며, 덧셈과 곱셈에 대해서 닫혀 있는 집합을 의미한다. 일 예로서, 3개의 항으로 구성된 사이클로토믹 방정식 xn-xn/2+1으로 생성되는 링은 Zq[X]/(xn-xn/2+1)이다.
또한, 키생성부(110)는 다항식 t를 계산하며, 다항식 t는 수학식 5를 통해 계산될 수 있다.
Figure PCTKR2020013688-appb-M000005
다항식 a, s, t가 각각 결정되었으면, 키생성부(110)는 검증키 vk와 서명키 sk를 출력하게 되며, 출력되는 검증키와 서명키는 수학식 6 및 수학식 7에 의해 결정된다.
Figure PCTKR2020013688-appb-M000006
Figure PCTKR2020013688-appb-M000007
서명값출력부(130)는 키생성부(110)에서 출력된 서명키를 기초로 서명값을 출력한다.
일 예로서, 서명값출력부(130)는 서명키 sk와 메시지 M을 입력으로 받아, 서명값 (z, c)를 출력한다. 서명값출력부(130)는 다항식 y를 Dy=[-B, B]에서 무작위로 선택하고, 수학식 8을 이용하여 v를 계산한다.
Figure PCTKR2020013688-appb-M000008
서명값출력부(130)는 수학식 8을 통해 계산된 v를 트렁케이트(truncate)함수에 입력하여 vtrun을 계산한다. 여기서, 트렁케이트(truncate)함수는 기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 함수로서, 3항식으로 구성된 사이클로토믹 방정식으로 생성되는 링의 에러 전파도를 줄이기 위해 적용되는 함수이다.
본 발명처럼 Ring-LWR을 기반으로 양자내성 서명 기법을 구현하는 경우, 앞서 설명한 것과 같이 시스템 파라미터가 효율적으로 설정되는 장점은 있으나, 수학식 5나 수학식 8과 같이 곱 연산이 반복적으로 이루어지면서 에러 전파도가 커지게 되는데, 트렁케이트 함수가 적용됨으로써, 에러 전파도도 적절하게 낮아지게 된다.
트렁케이트함수는 입력된 방정식의 계수 가운데
Figure PCTKR2020013688-appb-I000001
차항 이하의 l개 항에 대한 계수만 선별적으로 추출할 수 있으며, 트렁케이트함수의 연산에 의해 3항식 xn-xn/2+1의 에러 전파도가 가장 작은 영역이 되어서, 링 연산에서 발생되는 에러의 크기가 효율적으로 제한된다.
트렁케이트함수가 동작하는 일 예는 다음과 같다.
먼저, 트렁케이트함수는 입력값으로 방정식 a=a0+a1x+...+an-1xn-1와 n/2보다 작거나 같은 정수 l을 받는다. 이어서, 트렁케이드함수는 방정식 a로부터 계수 집합 (an/2-l, an/2-l+1, ..., an/2-1)을 추출하고, 추출된 계수들로 방정식을 생성하여 출력한다. 수학식 9는 트렁케이트함수에 의해 추출되는 방정식의 일 예이다.
Figure PCTKR2020013688-appb-M000009
택적 일 실시 예로서, 서명값출력부(130)는 트렁케이트함수 연산을 함수연산부(170)라고 하는 별도의 모듈에서 수행되도록 제어할 수도 있다. 함수연산부(170)는 서명값출력부(130)로부터 방정식 a과 정수 l을 전달받아서 함수를 수행하고, 결과값을 서명값출력부(130)에 리턴할 수 있다.
이하에서는, 서명값출력부(130)에 대해서 이어서 설명하기로 한다.
서명값출력부(130)는 트렁케이트함수의 연산결과인 vtrun을 파라미터 m과 함께 해시함수에 입력하여 서명값을 구성하는 c를 계산한다.
Figure PCTKR2020013688-appb-M000010
수학식 10은 서명값출력부(130)가 서명값 c를 계산하기 위해 사용하는 수학식의 일 예이다. 바람직한 결과를 유도하기 위해서, 트렁케이트함수의 연산결과인 vtrun 에서 최하 d비트를 잘라내는 결과인 [vtrun]d가 해시함수에 입력되며, d값에 대해서는 키생성부(110)에 대한 설명에서 시스템 파라미터 중 하나라고 설명한 바 있다.
서명값출력부(130)는 c가 계산되면, 수학식 11를 통해 z를 계산하며, 수학식 12에 따른 조건이 성립되면, 모든 연산을 초기화하고, 키생성부(110)에서 검증키와 서명키를 출력하는 과정부터 새로 시작하도록 제어한다.
Figure PCTKR2020013688-appb-M000011
Figure PCTKR2020013688-appb-M000012
서명값출력부(130)는 수학식 12에 따른 조건이 성립되지 않으면, 수학식 13을 통해 w를 계산한다.
Figure PCTKR2020013688-appb-M000013
수학식 13은 w를 계산하기 위한 식으로서, 수학식 13을 구성하는 a, z, p, q, t, c 및 q는 시스템 파라미터로서 미리 정해져 있거나, 이전 연산과정을 통해서 산출된다는 것은 이미 설명한 바 있다.
서명값출력부(130)는 w가 산출되면, 트렁케이트함수를 다시 호출하여, 산출된 w를 정수 l과 함께 입력하고 wtrun을 산출한다 서명값출력부(130)는 수학식 14 또는 수학식 15에 따른 조건이 성립되면, 모든 연산을 초기화하고, 키생성부(110)에서 검증키와 서명키를 출력하는 과정부터 새로 시작하도록 제어한다.
Figure PCTKR2020013688-appb-M000014
Figure PCTKR2020013688-appb-M000015
서명값출력부(130)는 수학식 14 및 수학식 15에 따른 조건이 모두 성립되지 않으면, 서명값 (z, c)을 출력한다.
서명검증부(150)는 키생성부(110)에서 출력된 검증키 vk와 서명값출력부(130)에서 출력된 서명값(z, c)을 기초로 연산값을 산출하고, 서명값 및 연산값을 비교한 결과를 기초로 서명을 검증한다.
구체적으로, 서명검증부(150)는 수학식 16을 통해서 w'를 계산하고, 산출된 w'을 트렁케이트함수에 입력하여, wtrun을 계산한다. 이 과정에서 서명검증부(150)는 서명값출력부(130)와 마찬가지로 함수연산부(170)에 방정식과 정수 l을 전달하고, 트렁케이트함수를 연산한 결과값을 리턴받을 수도 있다.
Figure PCTKR2020013688-appb-M000016
수학식 16는 수학식 13과 전체적인 형태는 유사하고, 수학식 13은 서명단계에서 사용되는 식이고, 수학식 16은 서명을 검증하는 단계에서 사용되는 식이므로, 올바른 서명이 입력된다면, 수학식 16 및 수학식 13는 실질적으로 동일한 식이 된다.
이어서, 서명검증부(150)는 산출된 wtrun 및 m을 수학식 10과 같이, 해시 함수에 입력하여 c'을 계산하고, 서명값을 구성하는 c와 연산값을 구성하는 c'을 비교하여 검증한다. 서명검증부(150)는 서명값을 구성하는 c와 연산값을 구성하는 c'가 동일하고, 수학식 17에 따른 조건이 성립되면 검증이 된 것으로 간주한다.
Figure PCTKR2020013688-appb-M000017
반면, 서명검증부(150)는 수학식 17에 따른 조건이 성립되지 않으면, 서명값을 구성하는 c와 연산값을 구성하는 c'이 동일한 것과 상관없이, 서명에 따른 검증이 통과되지 않은 것으로 간주한다. 수학식 17에서 B는 서명과정에서 다항식 y가 선택될 수 있는 범위 중 가장 큰 값, Ls는 시스템 파라미터로 정해지는 값이라는 것은 이미 설명한 바 있다.
함수연산부(170)는 서명값출력부(130) 및 서명검증부(150)로부터 방정식과 정수를 전달받아서, 트렁케이트 연산을 수행하고, 수행한 결과를 서명값출력부(130) 또는 서명검증부(150)에 반환하는 기능을 수행한다. 함수연산부(170)는 트렁케이트연산을 하기 위한 모듈이므로, 도 1에 기재된 것과 다르게, 실시 예에 따라서, 함수연산부(170)는 서명값출력부(130) 및 서명검증부(150) 내부에 각각 포함되는 형태로 구현될 수도 있다.
도 2는 사이클로토믹 방정식에 따른 에러 전파도와 본 발명에서 적용한 트렁케이트함수 연산과의 상관관계를 도식적으로 나타내고 있는 도면이다.
보다 구체적으로, 도 2는 총 3개의 그래프를 동일선상에서 비교하고 있으며, 사이클로토믹 방정식가 어떤 식으로 설정되었지에 따라서 시스템은 도 2에 도시된 세 가지 그래프 중 어느 하나와 동일한 에러 전파도를 가질 수 있다.
먼저, 도 2의 가장 좌측의 그래프는 사이클로토믹 방정식을 xn+1로 설정하고, Ring-LWE기반으로 양자내성 서명 기법을 구현했을 때의 에러전파도를 나타낸 것이다. 도 2를 참조하면, 가장 좌측의 그래프에서는, 0에서 n-1차수까지 걸쳐서 The number of sum이 n으로 고정되어 있는 것을 알 수 있다.
이어서, 도 2의 가장 우측의 그래프는 사이클로토믹 방정식을 xn+xn-1+...+1로 설정하고, Ring-LWE기반으로 양자내성 서명 기법을 구현했을 때의 에러전파도를 나타낸 것이다. 도 2를 참조하면, 가장 우측의 그래프에서는, 0에서 n-1차수까지 걸쳐서 The number of sum이 2n으로 고정되어 있는 것을 알 수 있으며, 배경기술에서 설명한 것과 같이, 사이클로토믹 방정식을 xn+xn-1+...+1로 설정할 경우, 지수 선정에 대한 자유도가 높아지지만, 에러 전파도가 2n이 되는 것을 알 수 있다.
마지막으로, 도 2의 중앙에 위치한 그래프는 사이클로토믹 방정식을 3항식으로 설정하고, Ring-LWR기반으로 양자내성 서명 기법을 구현했을 때의 에러전파도를 나타낸 것이다.
도 2를 참조하면, 가장 중앙에 위치한 그래프에서는, 차수가 0일 때의 에러 전파도가 3n/2으로서, 가장 좌측의 그래프의 값보다 더 높지만, 차수가 올라가면서 점차 감소하는 모습이 관측되는데, 본 발명에서는 서명값을 출력하고 서명을 검증하는 단계에서 트렁케이트함수까지 적용하여, 에러 전파도가 3n/2보다 훨씬 낮은 부분만 추출하는 구성을 추가적으로 채용함으로써, 에러 전파도를 획기적으로 감소시켰다.
도 3은 본 발명에 따른 양자내성 서명 방법의 일 예의 흐름도이다.
도 3에 따른 방법은 도 1에서 설명한 양자내성 서명 시스템(10)에 의해서 구현될 수 있으므로, 이하에서는, 도 1을 참조하여 설명하기로 하고, 도 1에서 설명한 내용과 중복되는 설명은 생략하기로 한다.
키생성부(110)는 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로 서명키와 검증키를 출력한다(S310).
서명값출력부(130)는 서명키를 기초로 서명값을 출력한다(S320).
서명검증부(150)는 검증키와 서명값을 기초로 연산값을 산출한다(S330).
서명검증부(150)는 서명값과 연산값이 동일한지 비교하고(S340), 서명값과 연산값이 동일하면 정상적인 서명이라고 간주하고, 서명값과 연산값이 동일하지 않으면, 정상적인 서명이 아니라고 간주할 수 있다(S350).
일 실시 예로서, 단계 S350에서, 서명값과 연산값이 동일하더라도, 수학식 17에 따른 조건이 성립되지 않으면, 정상적인 서명이 아니라고 간주할 수 있다는 것은 이미 설명한 바 있다.
본 발명에 따르면, 여러 보안 강도에 대해서 서명값을 비롯한 시스템 파라마터가 효율적으로 설정될 수 있다.
또한, 본 발명에 따르면, 링에서 정의되는 연산인 다항식 곱 연산에서 발생되는 에러 전파도를 낮추기 위한 특수 함수를 채용함으로써, 알고리즘 구현 속도를 비롯한 시스템 전체의 효율성이 현격하게 상승된다. 특히, 본 발명은 트렁케이트 함수를 적용하여, 오차 범위를 엄밀하게 설정할 수 있게 되고, 서명 생성 알고리즘에서 반복 수행되는 횟수를 줄일 수 있다.
또한, 본 발명은, 기존의 Ring-LWE 기반으로 설계되던 서명의 구조를 Ring-LWR기반으로 설계함으로써, 비밀키의 크기를 반으로 줄이고, 공개키의 크기도 Zq에서 Zp로 줄임과 동시에, 키생성 과정에서 가우시안 분포에서 비밀키를 생성하는 과정 자체를 생략할 수 있게 되어, 키 생성 속도가 향상되고, 부채널 공격에 대한 위험성도 감소될 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (9)

  1. Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 방법으로서,
    보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성단계;
    상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력단계; 및
    상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증단계;를 포함하는 Ring-LWR기반 양자내성 서명 방법.
  2. 제1항에 있어서,
    상기 사이클로토믹 방정식의 최고 차항의 차수 n은 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 방법.
  3. 제1항에 있어서,
    상기 서명값출력단계는,
    기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate) 함수를 적용하여, 상기 서명값을 출력하는 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 방법.
  4. 제1항에 있어서,
    상기 서명검증단계는,
    기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate) 함수를 적용하여, 상기 연산값을 산출하는 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 방법.
  5. 제1항에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체.
  6. Ring-LWR(Ring-Learning With Roundings)기반 양자내성 서명 시스템으로서,
    보안상수를 입력받고 3개의 항으로 구성된 사이클로토믹 방정식에 의해 정의되는 링에 대한 연산으로, 서명키와 검증키를 출력하는 키생성부;
    상기 출력된 서명키를 기초로 서명값을 출력하는 서명값출력부; 및
    상기 출력된 검증키 및 서명값을 기초로 연산값을 산출하고, 상기 출력된 서명값 및 상기 산출된 연산값을 비교한 결과를 기초로 서명을 검증하는 서명검증부;를 포함하는 Ring-LWR기반 양자내성 서명 시스템.
  7. 제6항에 있어서,
    상기 사이클로토믹 방정식의 최고 차항의 차수 n은 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 시스템.
  8. 제6항에 있어서,
    상기 시스템은,
    기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate)함수를 구현하는 함수연산부를 더 포함하고,
    상기 서명값출력부는,
    상기 트렁케이트함수를 적용하여, 상기 서명값을 출력하는 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 시스템.
  9. 제6항에 있어서,
    상기 시스템은,
    기설정된 조건으로 선택된 항들의 계수만 선택적으로 추출하는 트렁케이트(truncate)함수를 구현하는 함수연산부를 더 포함하고,
    상기 서명검증부는,
    상기 트렁케이트함수를 적용하여, 상기 연산값을 산출하는 것을 특징으로 하는, Ring-LWR기반 양자내성 서명 시스템.
PCT/KR2020/013688 2020-04-29 2020-10-07 Ring-lwr기반 양자내성 서명 방법 및 그 시스템 WO2021221243A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/958,314 US11909891B2 (en) 2020-04-29 2022-09-30 Ring-LWR-based quantum-resistant signature method and system thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200052902A KR102444193B1 (ko) 2020-04-29 2020-04-29 Ring-LWR기반 양자내성 서명 방법 및 그 시스템
KR10-2020-0052902 2020-04-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/958,314 Continuation US11909891B2 (en) 2020-04-29 2022-09-30 Ring-LWR-based quantum-resistant signature method and system thereof

Publications (1)

Publication Number Publication Date
WO2021221243A1 true WO2021221243A1 (ko) 2021-11-04

Family

ID=78332064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/013688 WO2021221243A1 (ko) 2020-04-29 2020-10-07 Ring-lwr기반 양자내성 서명 방법 및 그 시스템

Country Status (3)

Country Link
US (1) US11909891B2 (ko)
KR (1) KR102444193B1 (ko)
WO (1) WO2021221243A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230162328A (ko) * 2022-05-20 2023-11-28 국방과학연구소 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템
KR102637234B1 (ko) * 2023-07-06 2024-02-15 기초과학연구원 격자 기반 공개키 암호 시스템 및 이에 포함된 전자장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071884A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 래티스 기반의 링 서명 방법
US9698986B1 (en) * 2016-09-23 2017-07-04 ISARA Corporation Generating shared secrets for lattice-based cryptographic protocols

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020136401A1 (en) * 2000-07-25 2002-09-26 Jeffrey Hoffstein Digital signature and authentication method and apparatus
US7792286B2 (en) * 2005-04-18 2010-09-07 Panasonic Corporation Signature generation device and signature verification device
US8677135B2 (en) * 2010-12-17 2014-03-18 Microsoft Corporation Digital signatures with error polynomials
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
KR101861089B1 (ko) 2016-07-28 2018-05-25 서울대학교산학협력단 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법
WO2018177905A1 (en) * 2017-03-29 2018-10-04 Koninklijke Philips N.V. Hybrid key exchange
KR102011043B1 (ko) 2017-06-13 2019-08-14 한국과학기술연구원 양자 키 분배 기반 디지털 서명 방법 및 이를 수행하는 시스템
KR102040106B1 (ko) 2018-10-29 2019-11-27 주식회사 크립토랩 실수 평문에 대한 동형 암호화 방법
US10778409B2 (en) 2017-12-15 2020-09-15 Crypto Lab Inc. Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
KR102027508B1 (ko) 2017-12-29 2019-10-01 서울대학교산학협력단 Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법
WO2020065928A1 (ja) * 2018-09-28 2020-04-02 三菱電機株式会社 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120071884A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 래티스 기반의 링 서명 방법
US9698986B1 (en) * 2016-09-23 2017-07-04 ISARA Corporation Generating shared secrets for lattice-based cryptographic protocols

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AN HYEONGCHEOL, KIM KWANGJO: "QChain: Quantum-resistant and Decentralized PKI using Blockchain", 2018 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 23 January 2018 (2018-01-23), XP055862802 *
CHOI PILJOO; KIM JI-HOON; KIM DONG KYUE: "Fast and Power-Analysis Resistant Ring Lizard Crypto-Processor Based on the Sparse Ternary Property", IEEE ACCESS, IEEE, USA, vol. 7, 1 January 1900 (1900-01-01), USA , pages 98684 - 98693, XP011737988, DOI: 10.1109/ACCESS.2019.2929299 *
LEE JOOHEE; KIM DUHYEONG; LEE HYUNGKYU; LEE YOUNHO; CHEON JUNG HEE: "RLizard: Post-Quantum Key Encapsulation Mechanism for IoT Devices", IEEE ACCESS, IEEE, USA, vol. 7, 1 January 1900 (1900-01-01), USA , pages 2080 - 2091, XP011695822, DOI: 10.1109/ACCESS.2018.2884084 *

Also Published As

Publication number Publication date
US20230034127A1 (en) 2023-02-02
KR102444193B1 (ko) 2022-09-19
US11909891B2 (en) 2024-02-20
KR20210133801A (ko) 2021-11-08

Similar Documents

Publication Publication Date Title
WO2019093574A1 (ko) 해시 기반 서명 기법을 적용한 블록체인 시스템 및 방법
EP3559811B1 (en) Protecting parallel multiplication operations from external monitoring attacks
Etzel et al. Square hash: Fast message authentication via optimized universal hash functions
WO2021221243A1 (ko) Ring-lwr기반 양자내성 서명 방법 및 그 시스템
Samwel et al. Breaking ed25519 in wolfssl
Belaïd et al. Differential power analysis of HMAC SHA-2 in the Hamming weight model
US20210152331A1 (en) Protecting polynomial hash functions from external monitoring attacks
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
CN112653546A (zh) 一种基于功耗分析的故障攻击检测方法
WO2020105797A1 (ko) 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체
Schindler Advanced stochastic methods in side channel analysis on block ciphers in the presence of masking
Le et al. Improved fault analysis on SIMECK ciphers
Han et al. Improved correlation power analysis on bitslice block ciphers
Tran et al. Transition factors of power consumption models for CPA attacks on cryptographic RISC-V SoC
WO2019117565A1 (ko) 공개키 암호 알고리즘의 키 비트 변수 랜덤화를 위한 장치 및 방법
Hou et al. DNFA: Differential no-fault analysis of bit permutation based ciphers assisted by side-channel
Preneel et al. Cryptanalysis and design of stream ciphers
US20230141210A1 (en) Neural networks
Zohner et al. Butterfly-attack on Skein’s modular addition
Belenky et al. Carry-based Differential Power Analysis (CDPA) and its Application to Attacking HMAC-SHA-2
Okeya et al. On the importance of protecting Δ in SFLASH against side channel attacks
WO2024090770A1 (ko) 저전력 쿼터 라운드 연산기
El-Hadidi et al. Implementation of a hybrid encryption scheme for Ethernet
Tran et al. Effectiveness of variable bit-length power analysis attacks on SHA-3 based MAC
CN112532373B (zh) 针对流密码算法的差分故障分析方法、系统和存储介质

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: 20933933

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20933933

Country of ref document: EP

Kind code of ref document: A1