WO2023224175A1 - 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템 - Google Patents

양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템 Download PDF

Info

Publication number
WO2023224175A1
WO2023224175A1 PCT/KR2022/014099 KR2022014099W WO2023224175A1 WO 2023224175 A1 WO2023224175 A1 WO 2023224175A1 KR 2022014099 W KR2022014099 W KR 2022014099W WO 2023224175 A1 WO2023224175 A1 WO 2023224175A1
Authority
WO
WIPO (PCT)
Prior art keywords
ring
equation
public key
cyclotomic
polynomial
Prior art date
Application number
PCT/KR2022/014099
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 WO2023224175A1 publication Critical patent/WO2023224175A1/ko

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/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
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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

Definitions

  • This disclosure relates to a quantum-resistant public key encryption method based on Ring-Learning with Errors and Roundings (Ring-LWER) and electronic devices and systems for the same.
  • Ring-Learning with Errors and Roundings Ring-Learning with Errors and Roundings
  • each user terminal that wishes to perform secret communication generates a pair of its own private key and public key, and the other terminal that wishes to perform secret communication must obtain a legitimate public key to enable communication. It is structured to make it happen.
  • a quantum-resistant encryption technique that is difficult to neutralize even with the computational system of a quantum computer has been developed. Although various studies are being conducted on these quantum-resistant encryption techniques, quantum-resistant encryption technology with a more efficient encryption algorithm and high security strength is required.
  • Embodiments of the present disclosure are proposed to solve the above-described problem, by setting at least one system parameter, selecting a cyclotomic equation based on the at least one system parameter, and selecting a ring defined by the selected cyclotomic equation.
  • Generates a public key and a secret key based on the Ring-LWER problem using discloses the public key to the first device performing encryption, transmits the secret key to the second device performing decryption, and transmits the secret key to the first device performing encryption.
  • Ring-Learning With Errors and Roundings Ring-Learning With Errors and Roundings
  • a method performed by an electronic device for Ring-Learning With Errors and Roundings (Ring-LWER)-based quantum resistant public key encryption includes setting at least one system parameter; selecting a cyclotomic equation based on the at least one system parameter; generating a public key and a private key based on the Ring-LWER problem using a ring defined by the selected cyclotomic equation; and revealing the public key to a first device performing encryption and transmitting the private key to a second device performing decryption.
  • Ring-LWER Ring-Learning With Errors and Roundings
  • the step of selecting the cyclotomic equation includes a first cyclotomic equation and a second cyclotomic equation, based on the value of the exponent of the highest order term of the cyclotomic equation included in the at least one system parameter. It may include the step of selecting one of the options.
  • the first cyclotomic equation is selected based on the value of the exponent being in the form of a power of 2
  • the second cyclotomic equation is selected based on the value of the exponent being in the form of a power of 2 and a power of 3.
  • the choice can be made based on being in the form of a product of squares.
  • the public key may include a first polynomial randomly selected from the ring and a second polynomial obtained based on the Ring-LWER problem in the first polynomial.
  • the first device generates an encrypted text by encrypting a message based on the public key obtained from the electronic device and transmits it to the second device, and the second device receives the message from the electronic device.
  • the message can be obtained by decrypting the encrypted text based on the received secret key.
  • the first device obtains a first matrix based on the first polynomial, and obtains a second matrix based on the second polynomial and the message, thereby obtaining the first matrix and the second matrix.
  • the ciphertext containing the matrix can be generated.
  • the first device may obtain the first matrix based on performing an operation for the Ring-LWER problem on the first polynomial.
  • the second device may obtain the message by performing an operation based on the second matrix and a result of applying the truncate function to the first matrix and the secret key.
  • an electronic device for Ring-LWER based quantum resistant public key encryption includes a transceiver; a memory in which at least one program is stored; It may include a processor connected to the transceiver and the memory, wherein the processor sets at least one system parameter by executing the at least one program and selects a cyclotomic equation based on the at least one system parameter.
  • Generate a public key and a secret key based on the Ring-LWER problem using the ring defined by the selected cyclotomic equation disclose the public key to a first device that performs encryption, and perform decryption. It may be configured to transmit the secret key to a second device.
  • the non-transitory computer-readable storage medium includes at least one program that, when executed by a processor of an electronic device, causes the electronic device to perform a method for Ring-LWER-based quantum resistant public key encryption.
  • the method includes: setting at least one system parameter; selecting a cyclotomic equation based on the at least one system parameter; generating a public key and a private key based on the Ring-LWER problem using a ring defined by the selected cyclotomic equation; and revealing the public key to a first device performing encryption and transmitting the private key to a second device performing decryption.
  • the error can be set in detail while minimizing the size of the public key and ciphertext to enable encryption.
  • Efficiency can be improved, and since errors are extracted from a random distribution rather than a Gaussian distribution, it can provide an encryption technique that is safe from side-channel attacks.
  • system parameters are efficiently set for various security strengths while increasing the degree of freedom in exponent selection. It can be.
  • an encryption technique by designing an encryption technique by applying a function that reduces the error propagation occurring in the polynomial product operation, which is an operation defined in the cyclotomic ring, it is possible to set strict parameters in the ciphertext generation process and implement the algorithm. It can improve the efficiency of the encryption system, including speed.
  • Figure 1 shows a conceptual diagram of the Ring-LWER problem.
  • Figure 2 shows a flowchart of a Ring-LWER based quantum resistant public key encryption method performed by electronic devices of a system according to an embodiment.
  • Figure 3 shows a block diagram of an electronic device in a system according to one embodiment.
  • Figure 4 shows a flowchart of a method for quantum-resistant public key encryption by an electronic device in a system according to one embodiment.
  • Terminal may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network.
  • the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser
  • the portable terminal is, for example, a wireless communication device that guarantees portability and mobility.
  • all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
  • the Ring-LWR based quantum resistant encryption technique uses the Ring-LWR problem, which is a variation of the Ring-LWE problem. Instead of adding a small range of error e to the calculation value, a rounding function is used. and Use .
  • the rounding function is , It is calculated as follows, is a rounding function that represents the nearest integer.
  • the Ring-LWR problem is It is defined as the problem of finding s given .
  • the Ring-LWR problem is an extension of the LWR problem first introduced by Peikert et al. in 2012. There is no process for extracting errors from a Gaussian distribution, so when used in public key encryption and signature techniques, key generation time is reduced and the size of the public key is reduced. go at can be reduced to
  • the Ring-LWR public key encryption technique can be designed based on the Ring-LWR assumption that this Ring-LWR problem is difficult, that is, it is difficult to find s given (a, b). Specifically, only a legitimate user who knows the secret key s can decrypt the encrypted ciphertext C using the public key b designed in the Ring-LWR structure and obtain the plaintext. On the other hand, an unauthorized user without a private key cannot obtain the private key from the public key and cannot decrypt arbitrary ciphertext.
  • a representative method of Ring-LWR-based public key encryption technique is the technique introduced by Bhattacharya et al. in 2018, which follows the following procedures.
  • the secret key sk and ciphertext (C 1 , C 2 ) are input and message m is output.
  • the value of is calculated, and the message m can be output by inputting the calculated value into the decoding function D.
  • the present invention proposes a quantum-resistant encryption method based on the random distribution Ring-LWER problem, a new mathematical problem based on lattice as shown in the conceptual diagram of FIG. 1.
  • the Ring-LWER problem, cyclotomic equation, and truncate function used to perform the quantum-resistant encryption proposed in this disclosure are described in detail below.
  • the cyclotomic ring R is a polynomial with integer coefficients and cyclotomic polynomial
  • Is integer coefficients
  • the phase is a random distribution.
  • a randomly selected polynomial and about Calculate .
  • finding s can be defined as the Ring-LWER problem.
  • the Ring-LWER problem adds the error e (120) extracted from the random distribution to the result of polynomials a and s as (110) to obtain as + e (130), and applies the rounding function to obtain (140) , which may mean finding s in the polynomial (150) obtained as a result.
  • the cyclotomic equation is and equation This is used.
  • the equation When using as a modular operation of a ring, there is an advantage that the degree of freedom in selecting the index n increases, but there is a problem in that the error propagation is 2n, so the error propagation has a large value.
  • the equation when the exponent n is in the form of a power of 2, the equation is used as the cyclotomic equation, and for other exponents, a new equation with a high degree of freedom in selecting the exponent n and low error propagation is used as the cyclotomic equation. Equation like this The ring created by the equation It is larger than the error propagation of the ring generated by Eq. It has a smaller error propagation value than the error propagation of the ring created by . Also, the equation Since the exponent n just has to be the product of a power of 2 and a power of 3 (e.g.
  • the cyclotomic equation and Each ring is created with and A truncate function can be used to further reduce error propagation in .
  • the truncate function is one of the coefficients of a given equation. subparagraph 2 below Only coefficients for open terms can be selectively extracted. Trinomial expression by operation of truncate function Since the error propagation of is the smallest area, the size of errors occurring in ring operations can be efficiently limited.
  • the truncate function is the equation and an integer less than or equal to n/2 can be input. Subsequently, the truncate function is expressed by the equation set of coefficients from can be extracted, and an equation can be created and output with the extracted coefficients.
  • Equation 1 An example of an equation extracted by the truncate function is shown in Equation 1 below.
  • Figure 2 shows a flowchart of a method for Ring-LWER-based quantum-resistant public key encryption performed by electronic devices of a system according to an embodiment.
  • the system may include an electronic device 210, a first device 220, and a second device 230, and FIG. 2 shows the electronic device 210, the first device 220, and the second device 230. 2 This illustrates a Ring-LWER based quantum resistant public key encryption method performed by device 230.
  • the electronic device 210 may be a key generation server that generates a public key and a secret key
  • the first device 220 may be a transmission device that wants to send a message to the second device 230.
  • the second device 230 may be a receiving device that receives the message transmitted by the first device 220.
  • the first device 220 and the second device 230 can communicate with each other by encrypting and decrypting messages using the public key and private key generated by the electronic device 210. .
  • the electronic device 210 may set at least one system parameter for use in generating a public key and a private key (S201).
  • system parameters n , , q , p , t , can be set and used throughout the system.
  • n and silver It is a positive integer that satisfies .
  • the cyclotomic equation is used, n is a positive integer in the form of a power of 2, and the cyclotomic equation When used, n may be a positive integer in the form of the product of a power of 2 and a power of 3.
  • the moduli q , p , and t are all positive integers in the form of powers of 2, and satisfy t ⁇ p ⁇ q .
  • Is is a random distribution of Is It may be a random distribution of images.
  • the first device 220 and the second device 230 obtain information about system parameters from the electronic device 210 and use the system parameters to perform encryption and decryption. You can.
  • S202 set system parameters
  • the public key pk and the private key sk form a key pair for the second device 230, and the public key pk is used to transmit a message to the second device 230 (e.g., the first device). (220)) is used to encrypt the message, and the secret key sk can be used by the second device 230, which receives the message from these devices, to decrypt the message.
  • the public key pk can be obtained from the electronic device 210.
  • the first device 220 may generate a message (S205) and encrypt the message based on a public key obtained from the electronic device 210 to generate ciphertext (S206).
  • the message may be a message to be transmitted from the first device 220 to the second device 230.
  • the first device 220 has a public key pk and Ciphertext (C 1 , C 2 ) can be generated based on the bit message m, and the specific generation process can be described below.
  • the first device 220 distributes Select the polynomial r from , e 1 and e 2 can be extracted from .
  • E(m) is With the bit message m as input, Indicates the encoding function that outputs the elements in . also, is the equation and As input, equation middle In the first term Indicates the truncate function that outputs the equation reconstructed with the coefficients up to the first term. In this way, the first device 220 can generate ciphertext (C 1 , C 2 ) and transmit the generated ciphertext to the second device 230 (S206).
  • p , t are the system parameters set in step S201, C 1 and C 2 represent each matrix included in the ciphertext, Is and as input Between In the first term Indicates the truncate function that outputs the equation reconstructed with the coefficients up to the first term.
  • the second device 230 can obtain message m as shown in Equation 5 below by applying the decoding function D to V obtained in Equation 4.
  • the step of the first device 220 generating a message (S205) is shown to be performed before the step of acquiring the public key (S204-1), but the first device is not limited to this and is After obtaining the key, you can also create a message.
  • FIG. 3 shows a block diagram of an electronic device that performs a method for Ring-LWER-based quantum resistant public key encryption in a system according to an embodiment.
  • the electronic device 210, the first device 220, and the second device 230 shown in FIG. 2 may each be configured as shown in FIG. 3.
  • an electronic device e.g., electronic device 210, first device 220, and second device 230
  • Those skilled in the art can understand that in addition to the components shown in FIG. 3, other general-purpose components may be included in the electronic device.
  • the transceiver 310 is a device for performing wired/wireless communication.
  • Communication technologies used by the transceiver 310 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), Wireless-Fidelity (Wi-Fi), There may be BluetoothTM, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc.
  • the processor 320 can control the overall operation of the electronic device and process data and signals.
  • the processor 320 may be comprised of at least one hardware unit. Additionally, the processor 320 may operate by one or more software modules generated by executing program codes stored in the memory 330. The processor 320 executes program codes stored in the memory 330 to control the overall operation of the electronic device and process data and signals.
  • Processor 320 may be configured to perform at least one method described in this disclosure.
  • the memory 330 may store program codes and information necessary to execute a program for performing at least one method described in this disclosure.
  • Memory 330 may be volatile memory or non-volatile memory.
  • FIG. 4 shows a flowchart of a method for quantum-resistant public key encryption by an electronic device in a system according to an embodiment.
  • FIG. 4 may illustrate a method of operating the electronic device 210 shown in FIG. 2 .
  • the electronic device can set at least one system parameter. That is, the electronic device can set at least one system parameter for use in generating a public key and a private key. Specific details of system parameters are described in detail in step S201 of FIG. 2.
  • the electronic device may select a cyclotomic equation based on at least one system parameter.
  • the electronic device may select one of the first cyclotomic equation and the second cyclotomic equation based on the exponent value of the highest order term of the cyclotomic equation included in at least one system parameter.
  • the first cyclotomic equation may be selected based on the value of the exponent being in the form of a power of 2
  • the second cyclotomic equation may be selected based on the value of the exponent being in the form of a product of a power of 2 and a power of 3.
  • the first cyclotomic equation is It can be, and the second cyclotomic equation is It can be.
  • the details of selecting the cyclotomic equation are described in detail in step S202 of FIG. 2.
  • the electronic device may generate a public key and a private key based on the Ring-LWER problem using a ring defined by the selected cyclotomic equation.
  • the public key may include a first polynomial randomly selected from the ring and a second polynomial obtained by applying the Ring-LWER problem to the first polynomial.
  • polynomial in can be selected as the first polynomial, and the polynomial and distribution Polynomial s and distributions selected from By applying the Ring-LWER problem to the polynomial e selected from can be obtained as the second polynomial.
  • the secret key sk is distributed It may be a polynomial s selected from . The generation of the public key and private key is explained in detail in step S203 of FIG. 2.
  • the electronic device may disclose the public key to the first device performing encryption and transmit the secret key to the second device performing decryption.
  • the first device may be the first device 220 of FIG. 2, and the second device may be the second device 230 of FIG. 2.
  • the electronic device can disclose the public key so that the first device can obtain the public key and transmit the secret key to the second device.
  • the first device may generate encrypted text by encrypting the message based on a public key obtained from the electronic device and transmit it to the second device.
  • the first device may generate ciphertext including the first matrix and the second matrix by obtaining the first matrix based on the first polynomial and the second matrix based on the second polynomial and the message. there is.
  • the first device may obtain the first matrix based on performing an operation on the Ring-LWER problem on the first polynomial.
  • the first device may obtain a second matrix based on adding the result of applying the operation and truncate function for the Ring-LWER problem to the second polynomial and the result of applying the encoding function to the message.
  • the truncate function may be a function that outputs a reconstructed polynomial based on extracting coefficients of terms that satisfy predetermined conditions from the input polynomial.
  • the first polynomial is can correspond to
  • the second polynomial is may correspond to
  • the message may correspond to m
  • the first matrix and the second matrix may correspond to C 1 and C 2 , respectively.
  • the public key acquisition and encryption process by the first device is described in detail in steps S204-1 and S206 of FIG. 2.
  • the second device may decrypt the encrypted text based on the secret key received from the electronic device. Specifically, the second device may obtain the message by performing an operation based on the result of applying the truncate function to the first matrix and the secret key and the second matrix.
  • the electronic device or terminal includes a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key. ), user interface devices such as buttons, etc. may be included.
  • Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
  • computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc.
  • the computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.
  • the media may be readable by a computer, stored in memory, and executed by a processor.
  • This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors.
  • this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing.
  • Terms such as “mechanism,” “element,” “means,” and “composition” can be used broadly and are not limited to mechanical and physical components. The term may include the meaning of a series of software routines in connection with a processor, etc.

Landscapes

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

Abstract

본 개시에 따르면, Ring-LWER 기반 양자 내성 공개키 암호화를 위해 전자 장치에 의해 수행되는 방법은, 적어도 하나의 시스템 파라미터를 설정하는 단계; 상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하는 단계; 상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하는 단계; 및 암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하는 단계를 포함할 수 있다.

Description

양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템
본 개시는 Ring-LWER(Ring-Learning with Errors and Roundings) 기반 양자 내성 공개키 암호화 방법 및 이를 위한 전자 장치 및 시스템에 관한 것이다.
일반적으로 사용되는 공개키 시스템 기술은 비밀통신을 수행하고자 하는 각각의 사용자 단말이 자신의 비밀키와 공개키를 쌍으로 생성하고, 비밀통신을 수행하고자 하는 상대방 단말은 정당한 공개키를 획득해야만 통신이 이루어지도록 구성된다. 이러한 비밀통신의 보안성을 강화하기 위해 양자 컴퓨터의 연산 체계로도 무력화시키기 어려운 양자 내성 암호화(quantum-resistant encryption)기법이 개발되었다. 이러한 양자 내성 암호화 기법에 대해 다양한 연구가 진행되고 있으나, 보다 효율적인 암호화 알고리즘을 가지면서도 보안 강도가 높은 양자 내성 암호화 기술이 요구되고 있다.
본 개시의 실시예는 상술한 문제점을 해결하기 위하여 제안된 것으로, 적어도 하나의 시스템 파라미터를 설정하고, 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하고, 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하고, 암호화를 수행하는 제1 장치를 위해 공개키를 공개하고, 복호화를 수행하는 제2 장치에 비밀키를 전송하며, 제1 장치와 제2 장치는 이러한 공개키 및 비밀키에 각각 기초하여 암호화 및 복호화를 수행하도록 하는 랜덤 분포 Ring-LWER(Ring-Learning With Errors and Roundings) 기반의 양자 내성 공개키 암호화 방법 및 이를 지원하는 전자 장치와 시스템에 관한 것이다.
본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
일 실시예에 따르면, Ring-LWER(Ring-Learning With Errors and Roundings) 기반 양자 내성 공개키 암호화를 위해 전자 장치에 의해 수행되는 방법은, 적어도 하나의 시스템 파라미터를 설정하는 단계; 상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하는 단계; 상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하는 단계; 및 암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 사이클로토믹 방정식을 선택하는 단계는, 상기 적어도 하나의 시스템 파라미터에 포함된 사이클로토믹 방정식의 최고 차항의 지수의 값에 기초하여, 제1 사이클로토믹 방정식 및 제2 사이클로토믹 방정식 중 하나를 선택하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱 형태인 것에 기초하여 선택되고, 상기 제2 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것에 기초하여 선택될 수 있다.
일 실시예에 따르면, 상기 공개키는, 상기 링에서 랜덤으로 선택된 제1 다항식 및 상기 제1 다항식에 상기 Ring-LWER 문제에 기반하여 획득되는 제2 다항식을 포함할 수 있다.
일 실시예에 따르면, 상기 제1 장치는, 상기 전자 장치로부터 획득된 상기 공개키에 기초하여 메시지를 암호화함으로써 암호문을 생성하고 상기 제2 장치에 전송하고, 상기 제2 장치는, 상기 전자 장치로부터 수신된 상기 비밀키에 기초하여 상기 암호문을 복호화함으로써 상기 메시지를 획득할 수 있다.
일 실시예에 따르면, 상기 제1 장치는, 상기 제1 다항식에 기초하여 제1 행렬을 획득하고, 상기 제2 다항식 및 상기 메시지에 기초하여 제2 행렬을 획득함으로써, 상기 제1 행렬 및 상기 제2 행렬을 포함하는 상기 암호문을 생성할 수 있다.
일 실시예에 따르면, 상기 제1 장치는, 상기 제1 다항식에 상기 Ring-LWER 문제에 대한 연산을 수행하는 것에 기초하여 상기 제1 행렬을 획득할 수 있다.
일 실시예에 따르면, 상기 제1 장치는, 상기 제2 다항식에 상기 Ring-LWER 문제에 대한 연산 및 트렁케이트 함수를 적용한 결과와 상기 메시지에 인코딩 함수를 적용한 결과를 더하는 것에 기초하여 상기 제2 행렬을 획득할 수 있고, 상기 트렁케이트 함수는, 입력된 다항식에서 기 결정된 조건을 만족하는 항들의 계수를 추출하는 것에 기초하여 재구성된 다항식을 출력하는 함수일 수 있다.
일 실시예에 따르면, 상기 제2 장치는, 상기 제1 행렬과 상기 비밀키에 상기 트렁케이트 함수를 적용한 결과 및 상기 제2 행렬에 기초한 연산을 수행함으로써 상기 메시지를 획득할 수 있다.
일 실시예에 따르면, Ring-LWER 기반 양자 내성 공개키 암호화를 위한 전자 장치는, 트랜시버; 적어도 하나의 프로그램이 저장된 메모리; 상기 트랜시버 및 상기 메모리와 연결되는 프로세서를 포함할 수 있고, 상기 프로세서는 상기 적어도 하나의 프로그램을 실행함으로써, 적어도 하나의 시스템 파라미터를 설정하고, 상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하고, 상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하고, 암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하도록 구성될 수 있다.
일 실시예에 따르면, 비일시적 컴퓨터 판독 가능 저장 매체는, 전자 장치의 프로세서에 의해 실행되는 경우, 상기 전자 장치로 하여금 Ring-LWER 기반 양자 내성 공개키 암호화를 위한 방법을 수행하도록 하는 적어도 하나의 프로그램을 저장하고, 상기 방법은, 적어도 하나의 시스템 파라미터를 설정하는 단계; 상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하는 단계; 상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하는 단계; 및 암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하는 단계를 포함할 수 있다.
기타 실시예들의 구체적인 사항은 상세한 설명 및 도면들에 포함된다.
본 개시에 따르면, 새로운 수학적 난제인 랜덤 분포 Ring-LWER 문제를 정의하고 이 문제를 기반으로 한 Ring-LWER 기반 암호화 기법을 설계함으로써 에러를 세밀하게 설정하면서도 공개키와 암호문의 크기를 최소화시켜 암호화의 효율성을 향상시킬 수 있으며, 에러를 가우시안 분포가 아닌 랜덤 분포에서 추출하므로 부채널 공격으로부터 안전한 암호화 기법을 제공할 수 있다.
또한, 본 개시에 따르면, 사이클로토믹 방정식의 최고 차항인 지수 n에 따라 상이한 사이클로토믹 방정식으로 생성된 링에서 연산을 정의함으로써, 지수 선택의 자유도를 높이면서 다양한 보안 강도에 대해 시스템 파라미터가 효율적으로 설정될 수 있다.
또한, 본 개시에 따르면, 사이클로토믹 링에서 정의되는 연산인 다항식 곱 연산에서 발생하는 에러 전파도를 감소시키는 함수를 적용하여 암호화 기법을 설계함으로써, 암호문 생성 과정에서 엄밀한 파라미터 설정을 가능하게 하고 알고리즘 구현 속도를 포함한 암호화 시스템의 효율성을 향상시킬 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 Ring-LWER 문제에 대한 개념도를 나타낸다.
도 2는 일 실시예에 따른 시스템의 전자 장치들에 의해 수행되는 Ring-LWER 기반 양자 내성 공개키 암호화 방법의 흐름도를 나타낸다.
도 3은 일 실시예에 따른 시스템에서 전자 장치의 블록도를 나타낸다.
도 4는 일 실시예에 따른 시스템에서 전자 장치에 의한 양자 내성 공개키 암호화를 위한 방법의 흐름도를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a,b,c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말", "장치" 및 "전자 장치"는 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 이하, 도면을 참조하여 본 개시의 실시 예들이 상세히 설명된다.
보안 통신의 성능을 향상시키기 위해 다양한 양자 내성 공개키 암호화 기법이 연구되고 있으며, 일반적으로 Ring-LWE 문제(Ring-Learning with Errors problem) 기반의 암호화 기법과 Ring-LWR 문제(Ring-Learning with Roundings problem) 기반의 암호화 기법이 고려되고 있다. 보다 구체적으로, Ring-LWE 기반 양자 내성 암호화 기법에서, m, n, q는 양의 정수이고, 사이클로토믹 링 R은 정수를 계수로 갖는 다항식
Figure PCTKR2022014099-appb-img-000001
와 사이클로토믹 다항식
Figure PCTKR2022014099-appb-img-000002
을 모듈러로 갖는 구조로,
Figure PCTKR2022014099-appb-img-000003
의 형태를 갖는다.
Figure PCTKR2022014099-appb-img-000004
Figure PCTKR2022014099-appb-img-000005
의 형태를 갖는 사이클로토믹 링이고,
Figure PCTKR2022014099-appb-img-000006
Figure PCTKR2022014099-appb-img-000007
Figure PCTKR2022014099-appb-img-000008
상의 임의의 분포라고 가정하여, 랜덤하게 선택된 다항식
Figure PCTKR2022014099-appb-img-000009
,
Figure PCTKR2022014099-appb-img-000010
Figure PCTKR2022014099-appb-img-000011
에 대하여
Figure PCTKR2022014099-appb-img-000012
를 계산하게 된다. 여기서 (a, b)가 주어졌을 때, s를 찾는 것이 Ring-LWE 기반 기법으로 정의되며,
Figure PCTKR2022014099-appb-img-000013
Figure PCTKR2022014099-appb-img-000014
를,
Figure PCTKR2022014099-appb-img-000015
는 표준 편차가
Figure PCTKR2022014099-appb-img-000016
인 가우시안 분포
Figure PCTKR2022014099-appb-img-000017
를 의미한다.
Figure PCTKR2022014099-appb-img-000018
에서 정의된 LWE 문제는 2005년 Regev에 의해 처음 소개되었으며, 이와 동시에 Regev에 의해 처음으로 LWE 기반의 공개키 암호화 기법이 제안되었고, 이후 2010년 Lyubashevsky에 의해 링 위에서 정의된 Ring-LWE 문제가 제안되었다.
한편, Ring-LWR 기반 양자 내성 암호화 기법은 Ring-LWE 문제의 변형인 Ring-LWR 문제를 이용하는 것으로, Ring-LWR 문제는
Figure PCTKR2022014099-appb-img-000019
연산 값에 작은 범위의 에러 e를 더하는 과정 대신 라운딩 함수인
Figure PCTKR2022014099-appb-img-000020
Figure PCTKR2022014099-appb-img-000021
를 이용한다. 이 때, 라운딩 함수는
Figure PCTKR2022014099-appb-img-000022
,
Figure PCTKR2022014099-appb-img-000023
와 같이 연산되며,
Figure PCTKR2022014099-appb-img-000024
는 가장 가까운 정수를 나타내는 반올림 함수이다. Ring-LWR 문제는
Figure PCTKR2022014099-appb-img-000025
가 주어졌을 때 s를 찾는 문제로 정의된다. Ring-LWR 문제는 2012년 Peikert 등에 의해 처음 소개된 LWR 문제에서 확장된 것이며, 가우시안 분포에서 에러를 추출하는 과정이 없어 공개키 암호화 및 서명 기법에서 사용될 때, 키 생성 시간이 감소되고 공개키의 크기가
Figure PCTKR2022014099-appb-img-000026
에서
Figure PCTKR2022014099-appb-img-000027
로 감소될 수 있다.
이러한 Ring-LWR 문제가 어렵다는 Ring-LWR 가정, 즉 (a, b)가 주어졌을 때 s를 찾는 것이 어렵다는 가정을 기반으로 하여 Ring-LWR 공개키 암호화 기법이 설계될 수 있다. 구체적으로, 비밀키 s를 알고 있는 정당한 사용자만이 Ring-LWR 구조로 설계된 공개키 b를 이용하여 암호화된 암호문 C를 복호화하여 평문을 획득할 수 있다. 반면, 비밀키가 없는 정당하지 않은 사용자는 공개키로부터 비밀키를 얻을 수 없고, 임의의 암호문을 복호화할 수 없다. Ring-LWR 기반 공개키 암호화 기법의 대표적인 방법으로는 2018년 Bhattacharya 등에 의해 소개된 기법이 있으며, 이는 다음과 같은 절차를 따른다.
먼저, 키를 생성하는 단계로서, 보안 상수
Figure PCTKR2022014099-appb-img-000028
를 입력 받고, 설정된 시스템 파라미터에 기초하여 공개키 pk 및 비밀키 sk가 출력된다. 구체적으로 다항식 a가
Figure PCTKR2022014099-appb-img-000029
에서 랜덤하게 선택되고, 다항식 s가 분포
Figure PCTKR2022014099-appb-img-000030
에서 선택되며, 다항식
Figure PCTKR2022014099-appb-img-000031
가 계산된다. 이에 따라 공개키 pk = (a, b)와 비밀키 sk = s 가 출력된다.
다음으로, 암호화를 수행하는 단계로서, 공개키 pk 및
Figure PCTKR2022014099-appb-img-000032
비트의 메시지 m을 입력 받아 암호문 (C1, C2)가 출력된다. 구체적으로, 다항식 r이 분포
Figure PCTKR2022014099-appb-img-000033
에서 선택되고, 다항식
Figure PCTKR2022014099-appb-img-000034
및 다항식
Figure PCTKR2022014099-appb-img-000035
가 계산된다. 여기서 E(m)은
Figure PCTKR2022014099-appb-img-000036
비트의 메시지 m을 입력으로 하여
Figure PCTKR2022014099-appb-img-000037
에서의 다항식 원소를 출력하는 인코딩 함수를 나타낸다. 다항식 C1 및 C2가 계산되면, 암호문 (C1, C2)이 출력될 수 있다.
다음으로, 복호화를 수행하는 단계로서, 비밀키 sk 및 암호문 (C1, C2)를 입력 받아 메시지 m이 출력된다. 구체적으로, 비밀키 및 암호문이 입력되면
Figure PCTKR2022014099-appb-img-000038
의 값이 계산되고, 계산된 값을 디코딩 함수 D에 입력하여 메시지 m이 출력될 수 있다.
Ring-LWE 문제에서는, 에러를 특정 범위에서 직접 추출하여
Figure PCTKR2022014099-appb-img-000039
에 더해주기 때문에 세밀한 에러 추출이 가능하고 이를 통해 모듈러 q의 크기가 감소될 수 있다. 그러나
Figure PCTKR2022014099-appb-img-000040
가 모듈러 q에서 계산되기 때문에 공개키 및 암호문의 크기가 크다는 문제가 존재한다. 한편, Ring-LWR 문제는 에러를 직접 추출하지 않고
Figure PCTKR2022014099-appb-img-000041
의 하위 비트를 자르는 방식으로 계산되기 때문에, 공개키 및 암호문이 q보다 작은 모듈러스 p에서 계산되어 획득되므로, 작은 크기를 갖는다는 장점이 있지만, 에러가 결정적으로 발생하며 비트 단위의 추가에 의해 세밀한 에러 추출이 불가능하다는 문제를 갖는다.
또한, 전술한 바와 같은 대부분의 Ring-LWE 기반 암호화 기법 및 Ring-LWR 기반 암호화 기법은 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000042
Figure PCTKR2022014099-appb-img-000043
로 사용한다. 해당 방정식에서 생성되는 링은 연산이 효율적이고 곱 연산에서 발생하는 에러 전파도가 작다는 장점을 갖는다. 여기서, 에러 전파도는 복호화 오류에 영향을 미치는 파라미터로서 에러 전파도가 커질수록 복호화 오류 확률이 증가하게 된다. 다항식 링의 원소인 두 다항식의 곱 연산 시,
Figure PCTKR2022014099-appb-img-000044
을 구성하는 계수들 ci가 각각 몇 개의 aj와 bk의 곱의 합으로 이루어져 있는지에 대한 연산으로 정의된다. 그러나 해당 링에서의 암호화 기법이 안전하기 위해서는 정수 n이 2의 거듭제곱 꼴이어야 한다는 제한 조건이 만족되어야 한다. 보안 강도를 높이기 위해서는 사이클로토믹 방정식의 지수 n을 증가시켜야 하는데, 이러한 제한 조건 하에서는 n이 2배로 증가되면 암호문 값을 포함한 전반적인 시스템 파라미터 값이 비효율적으로 증가한다는 문제가 있다. 따라서 Ring-LWE 문제와 Ring-LWR 문제의 장점을 모두 가지면서도 부채널 공격으로부터 안전하고, 시스템 파라미터를 효율적으로 설정할 수 있도록 지수 n의 자유도가 높은 사이클로토믹 방정식을 이용하면서 에러 전파도의 증가를 최소화시킬 수 있는 방안이 요구될 수 있다.
이를 위해, 본 발명은 도 1의 개념도에 도시된 바와 같은 래티스 기반의 새로운 수학적 난제인 랜덤 분포 Ring-LWER 문제에 기반한 양자 내성 암호화 방법을 제안한다. 본 개시에서 제안되는 양자 내성 암호화를 수행하기 위해 이용되는 Ring-LWER 문제, 사이클로토믹 방정식 및 트렁케이트(truncate) 함수가 아래에서 상세히 설명된다.
Ring-LWER 문제
m, n, q는 양의 정수이고, 사이클로토믹 링 R은 정수를 계수로 가지는 다항식
Figure PCTKR2022014099-appb-img-000045
와 사이클로토믹 다항식
Figure PCTKR2022014099-appb-img-000046
을 모듈러로 갖는 구조로서
Figure PCTKR2022014099-appb-img-000047
의 형태를 갖는다.
Figure PCTKR2022014099-appb-img-000048
Figure PCTKR2022014099-appb-img-000049
의 형태를 갖는 사이클로토믹 링이고,
Figure PCTKR2022014099-appb-img-000050
Figure PCTKR2022014099-appb-img-000051
상의 임의의 분포이며,
Figure PCTKR2022014099-appb-img-000052
는 Ring-LWE 문제와는 달리
Figure PCTKR2022014099-appb-img-000053
상의 랜덤 분포라고 가정된다. 이때, 랜덤하게 선택된 다항식
Figure PCTKR2022014099-appb-img-000054
,
Figure PCTKR2022014099-appb-img-000055
Figure PCTKR2022014099-appb-img-000056
에 대하여
Figure PCTKR2022014099-appb-img-000057
를 계산한다. 여기서 (a, b)가 주어졌을 때, s를 찾는 것이 Ring-LWER 문제라고 정의될 수 있다. 즉, Ring-LWER 문제는, 다항식 a 및 s의 연산 결과 as(110)에 랜덤 분포에서 추출된 에러 e(120)를 더하여 as + e (130)를 획득하고, 라운딩 함수를 적용하여(140), 그 결과로 획득된 다항식(150)에서 s를 찾는 것을 의미할 수 있다.
사이클로토믹 방정식
일반적인 Ring-LWE 기반 공개키 암호화 기법에서, 사이클로토믹 방정식으로 방정식
Figure PCTKR2022014099-appb-img-000058
및 방정식
Figure PCTKR2022014099-appb-img-000059
이 사용된다. 방정식
Figure PCTKR2022014099-appb-img-000060
을 링의 모듈러 연산으로 사용하는 경우, 에러 전파도가 n이 되므로 에러 전파도가 작은 값을 가진다는 장점이 있지만, 지수 n이 2의 거듭제곱 형태여야 한다는 제한 조건이 발생하게 된다(예: n = 512, 1024, 2048 등). 이러한 제한 조건은 시스템 파라미터를 비효율적으로 증가시킨다는 문제점이 있다. 한편 방정식
Figure PCTKR2022014099-appb-img-000061
을 링의 모듈러 연산으로 사용하는 경우, 지수 n의 선택에 대한 자유도가 높아진다는 장점이 있지만, 에러 전파도가 2n이 되므로 에러 전파도가 큰 값을 가진다는 문제점이 있다.
따라서, 본 개시의 일 실시예에 따른 Ring-LWER 기반 양자 내성 암호화 기법에서는, 지수 n이 2의 거듭제곱 형태일 경우에는 방정식
Figure PCTKR2022014099-appb-img-000062
을 사이클로토믹 방정식으로 사용하고, 그 외의 지수에 대해서는 지수 n의 선택에 대한 자유도가 높고 에러 전파도가 작은 새로운 방정식
Figure PCTKR2022014099-appb-img-000063
을 사이클로토믹 방정식으로 사용한다. 이와 같은 방정식
Figure PCTKR2022014099-appb-img-000064
에 의해 생성되는 링은 방정식
Figure PCTKR2022014099-appb-img-000065
로 생성되는 링의 에러 전파도보다는 크고 방정식
Figure PCTKR2022014099-appb-img-000066
로 생성되는 링의 에러 전파도보다는 작은 에러 전파도 값을 가진다. 또한, 방정식
Figure PCTKR2022014099-appb-img-000067
에서는 지수 n이 2의 거듭제곱과 3의 거듭제곱의 곱 형태이면 되므로(예: n = 648, 768, 864, 972 등), 지수 n의 선택의 자유도를 향상시킬 수 있다. 더불어, 방정식
Figure PCTKR2022014099-appb-img-000068
에 의해 생성되는 링을 기반으로 하는 연산에서 발생하는 에러전파도를 방정식
Figure PCTKR2022014099-appb-img-000069
로 생성되는 링의 에러 전파도보다 작게 만들기 위해 아래의 트렁케이트 함수를 사용한다.
트렁케이트 함수
본 개시의 일 실시예에 따른 Ring-LWER 기반 양자 내성 암호화 기법에서는, 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000070
Figure PCTKR2022014099-appb-img-000071
로 각각 생성되는 링
Figure PCTKR2022014099-appb-img-000072
Figure PCTKR2022014099-appb-img-000073
에서의 에러 전파도를 더욱 감소시키기 위해 트렁케이트 함수가 사용될 수 있다. 트렁케이트 함수는 주어진 방정식 계수 중에서
Figure PCTKR2022014099-appb-img-000074
차 항 이하의
Figure PCTKR2022014099-appb-img-000075
개 항에 대한 계수만 선택적으로 추출할 수 있다. 트렁케이트 함수의 연산에 의해 3항식
Figure PCTKR2022014099-appb-img-000076
의 에러 전파도가 가장 작은 영역이 되므로, 링 연산에서 발생하는 에러의 크기가 효율적으로 제한될 수 있다. 일 실시예에 따르면, 트렁케이트 함수는 방정식
Figure PCTKR2022014099-appb-img-000077
과 n/2보다 작거나 같은 정수
Figure PCTKR2022014099-appb-img-000078
을 입력 받을 수 있다. 이어서, 트렁케이트 함수는 방정식
Figure PCTKR2022014099-appb-img-000079
로부터 계수 집합
Figure PCTKR2022014099-appb-img-000080
을 추출하고, 추출된 계수들로 방정식을 생성하여 출력할 수 있다. 트렁케이트 함수에 의해 추출되는 방정식의 일 예는 아래 수학식 1과 같다.
[수학식 1]
Trunc(
Figure PCTKR2022014099-appb-img-000081
,
Figure PCTKR2022014099-appb-img-000082
) =
Figure PCTKR2022014099-appb-img-000083
이하 도 2 내지 도 4를 통해, Ring-LWER 기반의 양자 내성 공개키 암호화 방법이 상세히 설명된다.
도 2는 일 실시예에 따른 시스템의 전자 장치들에 의해 수행되는 Ring-LWER 기반 양자 내성 공개키 암호화를 위한 방법의 흐름도를 나타낸다. 일 실시예에 따르면, 시스템은 전자 장치(210), 제1 장치(220) 및 제2 장치(230)를 포함할 수 있고, 도 2는 전자 장치(210), 제1 장치(220) 및 제2 장치(230)에 의해 수행되는 Ring-LWER 기반 양자 내성 공개키 암호화 방법을 예시한다. 일 실시예에 따르면, 전자 장치(210)는 공개키 및 비밀키를 생성하는 키 생성 서버일 수 있고, 제1 장치(220)는 제2 장치(230)에 메시지를 송신하고자 하는 송신 장치일 수 있으며, 제2 장치(230)는 제1 장치(220)가 송신한 메시지를 수신하는 수신 장치일 수 있다.
도 2를 참조하면, 제1 장치(220) 및 제2 장치(230)는 전자 장치(210)가 생성한 공개키 및 비밀키를 이용하여 메시지를 암호화 및 복호화함으로써 서로 간에 통신을 수행할 수 있다.
전자 장치(210)는 공개키 및 비밀키 생성에 이용하기 위한 적어도 하나의 시스템 파라미터를 설정할 수 있다(S201). 일 실시예에 따른 시스템에서, 시스템 파라미터 n,
Figure PCTKR2022014099-appb-img-000084
, q, p, t,
Figure PCTKR2022014099-appb-img-000085
,
Figure PCTKR2022014099-appb-img-000086
가 설정되어 시스템 전반에서 사용될 수 있다. 여기서, n
Figure PCTKR2022014099-appb-img-000087
Figure PCTKR2022014099-appb-img-000088
을 만족하는 양의 정수이다. 보다 구체적으로, 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000089
이 사용되는 경우, n 은 2의 거듭제곱 형태인 양의 정수이고, 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000090
이 사용되는 경우, n 은 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 양의 정수일 수 있다. 또한, 모듈러스 q, p, t는 모두 2의 거듭제곱 형태인 양의 정수이며, t < p < q 를 만족한다. 또한,
Figure PCTKR2022014099-appb-img-000091
Figure PCTKR2022014099-appb-img-000092
상의 임의의 분포이며,
Figure PCTKR2022014099-appb-img-000093
Figure PCTKR2022014099-appb-img-000094
상의 랜덤 분포일 수 있다. 한편, 도 2에 도시되지는 않았으나, 제1 장치(220) 및 제2 장치(230)는 전자 장치(210)로부터 시스템 파라미터에 대한 정보를 획득하여, 암호화 및 복호화를 수행하는 데 시스템 파라미터를 이용할 수 있다.
일 실시예에서, 전자 장치(210)는 설정된 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택할 수 있다(S202). 보다 구체적으로, 시스템 파라미터에서 n 이 2의 거듭제곱 형태인 경우, 전자 장치(210)는 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000095
을 선택하고 해당 방정식에 의해 정의되는 사이클로토믹 링
Figure PCTKR2022014099-appb-img-000096
=
Figure PCTKR2022014099-appb-img-000097
를 획득할 수 있다. 시스템 파라미터에서 n 이 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 경우, 전자 장치(210)는 사이클로토믹 방정식
Figure PCTKR2022014099-appb-img-000098
을 선택하고 해당 방정식에 의해 정의되는 사이클로토믹 링
Figure PCTKR2022014099-appb-img-000099
=
Figure PCTKR2022014099-appb-img-000100
를 획득할 수 있다.
일 실시예에서, 전자 장치(210)는 Ring-LWER 문제에 대한 연산을 수행하여 공개키 및 비밀키를 생성할 수 있다. 즉, 전자 장치(210)는 보안 상수
Figure PCTKR2022014099-appb-img-000101
를 입력 받고 Ring-LWER 문제를 계산함으로써 공개키 pk 및 비밀키 sk를 생성할 수 있다. 보다 구체적으로, 전자 장치(210)는
Figure PCTKR2022014099-appb-img-000102
에서 다항식
Figure PCTKR2022014099-appb-img-000103
를 랜덤하게 선택하고, 분포
Figure PCTKR2022014099-appb-img-000104
에서 다항식 s를 선택하며, 에러를 나타내는 다항식 e를 분포
Figure PCTKR2022014099-appb-img-000105
에서 선택할 수 있다. 이어서, 전자 장치(210)는 다항식
Figure PCTKR2022014099-appb-img-000106
를 계산하여, 공개키 pk = (a, b) 및 비밀키 sk = s를 생성할 수 있다. 일 실시예에 따르면, 공개키 pk 및 비밀키 sk는 제2 장치(230)를 위한 키 쌍을 이루며, 공개키 pk는 제2 장치(230)에 메시지를 송신하려는 장치들(예: 제1 장치(220))이 메시지를 암호화하는 것에 이용되고, 비밀키 sk는 이들 장치로부터 메시지를 수신한 제2 장치(230)가 메시지를 복호화하는 것에 이용될 수 있다.
일 실시예에서, 전자 장치(210)는 생성된 공개키 pk = (a, b)를 공개하며(S204-1), 이에 따라 제1 장치(220)는 제2 장치로 송신할 메시지를 암호화하기 위해 전자 장치(210)로부터 공개키 pk를 획득할 수 있다. 또한, 전자 장치(210)는 생성된 비밀키 sk = s를 제2 장치(230)에 전송할 수 있다.
일 실시예에서, 제1 장치(220)는 메시지를 생성하고(S205), 전자 장치(210)로부터 획득된 공개키를 기초로 메시지를 암호화하여 암호문을 생성할 수 있다(S206). 일 실시예에서, 메시지는 제1 장치(220)로부터 제2 장치(230)에 전송될 메시지일 수 있다. 일 실시예에서, 제1 장치(220)는 공개키 pk 및
Figure PCTKR2022014099-appb-img-000107
비트의 메시지 m에 기초하여 암호문 (C1, C2)를 생성할 수 있으며, 구체적인 생성 과정은 아래에서 설명될 수 있다.
먼저, 제1 장치(220)는 분포
Figure PCTKR2022014099-appb-img-000108
에서 다항식 r을 선택하고,
Figure PCTKR2022014099-appb-img-000109
에서 e1 및 e2를 추출할 수 있다. 전자 장치(220)는 선택한 다항식 r, 추출한 에러 e1 및 e2, 시스템 파라미터, 획득한 공개키 pk = (a, b) 및 생성한 메시지 m에 기초하여 아래의 수학식 2 및 수학식 3과 같이 행렬 C1 및 C2를 계산할 수 있다.
[수학식 2]
Figure PCTKR2022014099-appb-img-000110
[수학식 3]
Figure PCTKR2022014099-appb-img-000111
여기서 E(m)은
Figure PCTKR2022014099-appb-img-000112
비트의 메시지 m을 입력으로 하여
Figure PCTKR2022014099-appb-img-000113
에서의 원소를 출력하는 인코딩 함수를 나타낸다. 또한,
Figure PCTKR2022014099-appb-img-000114
는 방정식
Figure PCTKR2022014099-appb-img-000115
Figure PCTKR2022014099-appb-img-000116
을 입력으로 하여, 방정식
Figure PCTKR2022014099-appb-img-000117
Figure PCTKR2022014099-appb-img-000118
번째 항에서
Figure PCTKR2022014099-appb-img-000119
번째 항까지의 계수로 재구성된 방정식을 출력하는 트렁케이트 함수를 나타낸다. 이와 같이 제1 장치(220)는 암호문 (C1, C2)를 생성하고, 생성되 암호문을 제2 장치(230)에 전송할 수 있다(S206).
일 실시예에서, 제2 장치(230)는 비밀키를 기초로 암호문을 복호화하여 메시지를 획득할 수 있다. 즉, 제2 장치(230)는 전자 장치(210)로부터 수신한 비밀키 sk를 이용하여 제1 장치(220)로부터 수신한 암호문 (C1, C2)을 복호화함으로써 메시지 m을 생성할 수 있다. 먼저, 제2 장치(230)는 시스템 파라미터, 비밀키 sk = s 및 암호문 (C1, C2)에 기초하여 아래의 수학식 4와 같이 다항식 V를 계산할 수 있다.
[수학식 4]
Figure PCTKR2022014099-appb-img-000120
여기서, p, t,
Figure PCTKR2022014099-appb-img-000121
은 단계 S201에서 설정된 시스템 파라미터이며, C1, C2는 암호문에 포함되는 각 행렬을 나타내고,
Figure PCTKR2022014099-appb-img-000122
Figure PCTKR2022014099-appb-img-000123
Figure PCTKR2022014099-appb-img-000124
을 입력으로 하여
Figure PCTKR2022014099-appb-img-000125
중에서
Figure PCTKR2022014099-appb-img-000126
번째 항에서
Figure PCTKR2022014099-appb-img-000127
번째 항까지의 계수로 재구성된 방정식을 출력하는 트렁케이트 함수를 나타낸다.
이어서 제2 장치(230)는 수학식 4에서 획득된 V에 디코딩 함수 D를 적용함으로써 아래 수학식 5와 같이 메시지 m을 획득할 수 있다.
[수학식 5]
Figure PCTKR2022014099-appb-img-000128
한편, 도 2에서는 제1 장치(220)가 메시지를 생성하는 단계(S205)가 공개키를 획득하는 단계(S204-1) 이전에 수행되는 것으로 도시되어 있으나, 제1 장치는 이에 제한되지 않고 공개키를 획득한 후 메시지를 생성할 수도 있다.
도 3은 일 실시예에 따른 시스템에서 Ring-LWER 기반 양자 내성 공개키 암호화를 위한 방법을 수행하는 전자 장치의 블록도를 나타낸다. 일 실시예에서, 도 2에 도시된 전자 장치(210), 제1 장치(220) 및 제2 장치(230)는 각각 도 3에 도시된 바와 같이 구성될 수 있다. 도 3을 참조하면, 전자 장치(예: 전자 장치(210), 제1 장치(220) 및 제2 장치(230))는 트랜시버(transceiver)(310), 프로세서(320) 및 메모리(330)를 포함할 수 있다. 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 전자 장치에 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
트랜시버(310)는 유/무선 통신을 수행하기 위한 장치이다. 트랜시버(310)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있다.
프로세서(320)는 전자 장치의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(320)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 프로세서(320)는 메모리(330)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 프로세서(320)는 메모리(330)에 저장된 프로그램 코드를 실행하여 전자 장치의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(320)는 본 개시에서 설명되는 적어도 하나의 방법을 수행하도록 구성될 수 있다.
메모리(330)는 본 개시에서 설명된 적어도 하나의 방법을 수행하기 위한 프로그램을 실행하는 데 필요한 프로그램 코드 및 정보를 저장할 수 있다. 메모리(330)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
도 4는 일 실시예에 따른 시스템의 전자 장치에 의한 양자 내성 공개키 암호화를 위한 방법의 흐름도를 나타낸다. 도 4는 도 2에 도시된 전자 장치(210)의 동작 방법을 예시할 수 있다.
도 4를 참조하면, 단계 S401에서, 전자 장치는 적어도 하나의 시스템 파라미터를 설정할 수 있다. 즉, 전자 장치는 공개키 및 비밀키 생성에 이용하기 위한 적어도 하나의 시스템 파라미터를 설정할 수 있다. 시스템 파라미터의 구체적인 내용은 도 2의 단계 S201에서 상세히 설명된다.
단계 S402에서, 전자 장치는 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택할 수 있다. 일 실시예에 따르면, 전자 장치는 적어도 하나의 시스템 파라미터에 포함된 사이클로토믹 방정식의 최고 차항의 지수의 값에 기초하여, 제1 사이클로토믹 방정식 및 제2 사이클로토믹 방정식 중 하나를 선택할 수 있다. 제1 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱 형태인 것에 기초하여 선택될 수 있고, 제2 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것에 기초하여 선택될 수 있다. 예를 들어, 도 2에서 설명된 바와 같이 제1 사이클로토믹 방정식은
Figure PCTKR2022014099-appb-img-000129
일 수 있고, 제2 사이클로토믹 방정식은
Figure PCTKR2022014099-appb-img-000130
일 수 있다. 사이클로토믹 방정식을 선택하는 것에 대한 구체적인 내용은 도 2의 단계 S202에서 상세히 설명된다.
단계 S403에서, 전자 장치는 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성할 수 있다. 일 실시예에서, 공개키는 링에서 랜덤으로 선택된 제1 다항식 및 제1 다항식에 Ring-LWER 문제를 적용하여 획득되는 제2 다항식을 포함할 수 있다. 예를 들어, 도 2에서 설명된 바와 같이, 전자 장치는 선택된 사이클로토믹 방정식에 따라 사이클로토믹 링
Figure PCTKR2022014099-appb-img-000131
=
Figure PCTKR2022014099-appb-img-000132
또는 사이클로토믹 링
Figure PCTKR2022014099-appb-img-000133
=
Figure PCTKR2022014099-appb-img-000134
를 획득할 수 있다. 전자 장치는
Figure PCTKR2022014099-appb-img-000135
에서 다항식
Figure PCTKR2022014099-appb-img-000136
를 제1 다항식으로서 선택할 수 있으며, 다항식
Figure PCTKR2022014099-appb-img-000137
와 분포
Figure PCTKR2022014099-appb-img-000138
에서 선택된 다항식 s 및 분포
Figure PCTKR2022014099-appb-img-000139
에서 선택된 다항식 e에 Ring-LWER 문제를 적용함으로써 다항식
Figure PCTKR2022014099-appb-img-000140
를 제2 다항식으로서 획득할 수 있다. 또한 일 실시예에서, 비밀키 sk는 분포
Figure PCTKR2022014099-appb-img-000141
에서 선택된 다항식 s일 수 있다. 공개키 및 비밀키의 생성에 대한 내용은 도 2의 단계 S203에서 상세히 설명된다
단계 S404에서, 전자 장치는 암호화를 수행하는 제1 장치를 위해 공개키를 공개하고, 복호화를 수행하는 제2 장치에 비밀키를 전송할 수 있다. 예를 들어, 제1 장치는 도 2의 제1 장치(220)일 수 있고, 제2 장치는 도 2의 제2 장치(230)일 수 있다. 전자 장치는 제1 장치가 공개키를 획득할 수 있도록 공개키를 공개할 수 있고, 제2 장치에게 비밀키를 전송할 수 있다.
일 실시예에서, 제1 장치는 전자 장치로부터 획득된 공개키에 기초하여 메시지를 암호화함으로써 암호문을 생성하고 이를 제2 장치에 전송할 수 있다. 구체적으로, 제1 장치는 제1 다항식에 기초하여 제1 행렬을 획득하고, 제2 다항식 및 메시지에 기초하여 제2 행렬을 획득함으로써, 제1 행렬 및 제2 행렬을 포함하는 암호문을 생성할 수 있다. 또한, 제1 장치는 제1 다항식에 Ring-LWER 문제에 대한 연산을 수행하는 것에 기초하여 제1 행렬을 획득할 수 있다. 또한, 제1 장치는 제2 다항식에 Ring-LWER 문제에 대한 연산 및 트렁케이트 함수를 적용한 결과와 메시지에 인코딩 함수를 적용한 결과를 더하는 것에 기초하여 제2 행렬을 획득할 수 있다. 여기서 트렁케이트 함수는, 입력된 다항식에서 기 결정된 조건을 만족하는 항들의 계수를 추출하는 것에 기초하여 재구성된 다항식을 출력하는 함수일 수 있다. 예를 들어, 도 2를 참조하면, 제1 다항식은
Figure PCTKR2022014099-appb-img-000142
에 대응할 수 있고, 제2 다항식은
Figure PCTKR2022014099-appb-img-000143
에 대응할 수 있으며, 메시지는 m에 대응하고, 제1 행렬 및 제2 행렬은 각각 C1 및 C2에 대응할 수 있다. 제1 장치에 의한 공개키 획득과 암호화 과정은 도 2의 단계 S204-1 및 S206에서 상세히 설명된다.
일 실시예에서, 제2 장치는 전자 장치로부터 수신된 비밀키에 기초하여 암호문을 복호화할 수 있다. 구체적으로, 제2 장치는 제1 행렬과 비밀키에 트렁케이트 함수를 적용한 결과 및 제2 행렬에 기초한 연산을 수행함으로써 메시지를 획득할 수 있다. 예를 들어, 도 2를 참조하면, 제1 행렬 및 제2 행렬은 각각 C1 및 C2에 대응할 수 있고, 비밀키는 sk = s에 대응하며, 메시지는 m에 대응할 수 있다. 제2 장치에 의한 복호화 과정의 상세한 내용은 도 2의 단계 S208에서 확인될 수 있다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (11)

  1. Ring-LWER(Ring-Learning With Errors and Roundings) 기반 양자 내성 공개키 암호화를 위해 전자 장치에 의해 수행되는 방법에 있어서,
    적어도 하나의 시스템 파라미터를 설정하는 단계;
    상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하는 단계;
    상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하는 단계; 및
    암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 사이클로토믹 방정식을 선택하는 단계는,
    상기 적어도 하나의 시스템 파라미터에 포함된 사이클로토믹 방정식의 최고 차항의 지수의 값에 기초하여, 제1 사이클로토믹 방정식 및 제2 사이클로토믹 방정식 중 하나를 선택하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 제1 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱 형태인 것에 기초하여 선택되고,
    상기 제2 사이클로토믹 방정식은 상기 지수의 값이 2의 거듭제곱과 3의 거듭제곱의 곱 형태인 것에 기초하여 선택되는, 방법.
  4. 제1항에 있어서,
    상기 공개키는, 상기 링에서 랜덤으로 선택된 제1 다항식 및 상기 제1 다항식에 상기 Ring-LWER 문제를 기반으로 획득되는 제2 다항식을 포함하는, 방법.
  5. 제4항에 있어서,
    상기 제1 장치는, 상기 전자 장치로부터 획득된 상기 공개키에 기초하여 메시지를 암호화함으로써 암호문을 생성하고 상기 제2 장치에 전송하고,
    상기 제2 장치는, 상기 전자 장치로부터 수신된 상기 비밀키에 기초하여 상기 암호문을 복호화함으로써 상기 메시지를 획득하는, 방법.
  6. 제5항에 있어서,
    상기 제1 장치는, 상기 제1 다항식에 기초하여 제1 행렬을 획득하고, 상기 제2 다항식 및 상기 메시지에 기초하여 제2 행렬을 획득함으로써, 상기 제1 행렬 및 상기 제2 행렬을 포함하는 상기 암호문을 생성하는, 방법.
  7. 제6항에 있어서,
    상기 제1 장치는, 상기 제1 다항식에 상기 Ring-LWER 문제에 대한 연산을 수행하는 것에 기초하여 상기 제1 행렬을 획득하는, 방법.
  8. 제6항에 있어서,
    상기 제1 장치는, 상기 제2 다항식에 상기 Ring-LWER 문제에 대한 연산 및 트렁케이트 함수를 적용한 결과와 상기 메시지에 인코딩 함수를 적용한 결과를 더하는 것에 기초하여 상기 제2 행렬을 획득하고,
    상기 트렁케이트 함수는, 입력된 다항식에서 기 결정된 조건을 만족하는 항들의 계수를 추출하는 것에 기초하여 재구성된 다항식을 출력하는 함수인, 방법.
  9. 제8항에 있어서,
    상기 제2 장치는, 상기 제1 행렬과 상기 비밀키에 상기 트렁케이트 함수를 적용한 결과 및 상기 제2 행렬에 기초한 연산을 수행함으로써 상기 메시지를 획득하는, 방법.
  10. Ring-LWER 기반 양자 내성 공개키 암호화를 위한 전자 장치에 있어서,
    트랜시버;
    적어도 하나의 프로그램이 저장된 메모리;
    상기 트랜시버 및 상기 메모리와 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 프로그램을 실행함으로써,
    적어도 하나의 시스템 파라미터를 설정하고,
    상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하고,
    상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 대한 연산을 수행함으로써 공개키 및 비밀키를 생성하고,
    암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하도록 구성되는, 전자 장치.
  11. 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 비일시적 컴퓨터 판독 가능 저장 매체는, 전자 장치의 프로세서에 의해 실행되는 경우, 상기 전자 장치로 하여금 Ring-LWER 기반 양자 내성 공개키 암호화를 위한 방법을 수행하도록 하는 적어도 하나의 프로그램을 저장하고, 상기 방법은,
    적어도 하나의 시스템 파라미터를 설정하는 단계;
    상기 적어도 하나의 시스템 파라미터에 기초하여 사이클로토믹 방정식을 선택하는 단계;
    상기 선택된 사이클로토믹 방정식에 의해 정의되는 링을 이용하여 Ring-LWER 문제에 기반하는 공개키 및 비밀키를 생성하는 단계; 및
    암호화를 수행하는 제1 장치를 위해 상기 공개키를 공개하고, 복호화를 수행하는 제2 장치에 상기 비밀키를 전송하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
PCT/KR2022/014099 2022-05-20 2022-09-21 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템 WO2023224175A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0062057 2022-05-20
KR1020220062057A KR20230162328A (ko) 2022-05-20 2022-05-20 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템

Publications (1)

Publication Number Publication Date
WO2023224175A1 true WO2023224175A1 (ko) 2023-11-23

Family

ID=88835427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/014099 WO2023224175A1 (ko) 2022-05-20 2022-09-21 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템

Country Status (2)

Country Link
KR (1) KR20230162328A (ko)
WO (1) WO2023224175A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142242A1 (en) * 2009-12-16 2011-06-16 Sony Corporation Quantum public key encryption system, key generation apparatus, encryption apparatus, decryption apparatus, key generation method, encryption method, and decryption method
KR102040106B1 (ko) * 2018-10-29 2019-11-27 주식회사 크립토랩 실수 평문에 대한 동형 암호화 방법
KR20200107739A (ko) * 2019-03-06 2020-09-16 삼성에스디에스 주식회사 부채널 공격에 안전한 행렬 곱 연산을 수행하기 위한 장치 및 방법
KR20210133801A (ko) * 2020-04-29 2021-11-08 국방과학연구소 Ring-LWR기반 양자내성 서명 방법 및 그 시스템
KR20220012851A (ko) * 2019-05-30 2022-02-04 김봉만 대칭 키 암호화/교환을 위한 양자 내성 암호화 및 진보된 암호화 및 키 교환(aeke) 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142242A1 (en) * 2009-12-16 2011-06-16 Sony Corporation Quantum public key encryption system, key generation apparatus, encryption apparatus, decryption apparatus, key generation method, encryption method, and decryption method
KR102040106B1 (ko) * 2018-10-29 2019-11-27 주식회사 크립토랩 실수 평문에 대한 동형 암호화 방법
KR20200107739A (ko) * 2019-03-06 2020-09-16 삼성에스디에스 주식회사 부채널 공격에 안전한 행렬 곱 연산을 수행하기 위한 장치 및 방법
KR20220012851A (ko) * 2019-05-30 2022-02-04 김봉만 대칭 키 암호화/교환을 위한 양자 내성 암호화 및 진보된 암호화 및 키 교환(aeke) 방법
KR20210133801A (ko) * 2020-04-29 2021-11-08 국방과학연구소 Ring-LWR기반 양자내성 서명 방법 및 그 시스템

Also Published As

Publication number Publication date
KR20230162328A (ko) 2023-11-28

Similar Documents

Publication Publication Date Title
US10402588B2 (en) Method to manage raw genomic data in a privacy preserving manner in a biobank
EP4254861A1 (en) Secure access method and device
CN105306194B (zh) 供加密档案和/或通讯协定的多重加密方法与系统
CN102904713A (zh) 用于密钥加密通信系统中的密钥交换方法
CN109450615A (zh) 一种高效的opc ua客户端与服务器端数据传输加密方法
WO2019132354A1 (ko) Module-wavy와 module-lwr에 기반한 공개키 암호 키 생성 및 암복호화 방법
CN106096424A (zh) 一种对本地数据进行加密方法和终端
CN111917721A (zh) 基于区块链的属性加密方法
Tso Security analysis and improvements of a communication-efficient three-party password authenticated key exchange protocol
WO2023224175A1 (ko) 양자 내성 공개키 암호화 방법 및 그 전자 장치와 시스템
WO2008059475A1 (en) Secure communication
Malik et al. AMAKA: anonymous mutually authenticated key agreement scheme for wireless sensor networks
CN116340982A (zh) 一种数据加密的方法、装置、终端设备及介质
CN116094688A (zh) 基于同态加密的安全控制方法、装置及系统
Srimathi et al. Improved Cloud Storage Encryption Using Block Cipher-Based DNA Anti-Codify Model.
CN112131596B (zh) 加解密方法、设备及存储介质
EP4020875A1 (en) Method, first server, second server, and system for transmitting securely a key
CN111669748B (zh) 一种隐私保护的移动通信认证方法
CN113300844A (zh) 一种公私角色固定的非对称密钥设置方法
CN112488585A (zh) 众包环境下基于阈值相似性搜索的隐私保护任务匹配
CN108075889B (zh) 一种降低加解密运算时间复杂度的数据传输方法及系统
CN114430549A (zh) 一种适用于无线通信的白盒加解密方法与装置
WO2023224182A1 (en) Method and device for performing homomorphic permutation
Ivanov Feature Extraction in Local Spectrum Sensing for Next Generation Cognitive Radios–A Review
Wicik et al. Cryptographic protection of classified information in military radio communication faced with threats from quantum computers

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

Country of ref document: EP

Kind code of ref document: A1