KR102621862B1 - Method and apparatus of binary field Multiplication based on Chinese remainder theorem - Google Patents

Method and apparatus of binary field Multiplication based on Chinese remainder theorem Download PDF

Info

Publication number
KR102621862B1
KR102621862B1 KR1020230051657A KR20230051657A KR102621862B1 KR 102621862 B1 KR102621862 B1 KR 102621862B1 KR 1020230051657 A KR1020230051657 A KR 1020230051657A KR 20230051657 A KR20230051657 A KR 20230051657A KR 102621862 B1 KR102621862 B1 KR 102621862B1
Authority
KR
South Korea
Prior art keywords
multiplication
input
qubit register
subtraction
processing
Prior art date
Application number
KR1020230051657A
Other languages
Korean (ko)
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 국방과학연구소
Priority to KR1020230051657A priority Critical patent/KR102621862B1/en
Application granted granted Critical
Publication of KR102621862B1 publication Critical patent/KR102621862B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치는, 복수의 이진체 원소를 입력 받는 입력부; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및 상기 처리부의 결과를 출력하는 출력부;를 포함한다.A Chinese remainder theorem-based binary multiplication device according to an embodiment includes an input unit that receives a plurality of binary elements; A processing unit that performs binary multiplication by transforming polynomial multiplication of a high order - higher than the lower order - into polynomial multiplication of a low order - lower than the higher order - for the input through the Chinese remainder theorem; and an output unit that outputs the results of the processing unit.

Description

중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법{Method and apparatus of binary field Multiplication based on Chinese remainder theorem}{Method and apparatus of binary field Multiplication based on Chinese remainder theorem}

본 발명은 중국인의 나머지 정리를 기반으로 이진체 곱셈을 처리하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for processing binary multiplication based on Chinese remainder theorem.

양자 컴퓨터를 기반으로 하는 쇼어(shor) 알고리즘은 다항시간 안에 인수분해 문제, 이산대수문제, 타원곡선 이산대수 문제 등을 해결할 수 있다. 공개키 알고리즘 RSA, DSA, ECDSA는 각각 위 문제들의 어려움에 기반을 두고 있으므로 이것은 양자 컴퓨터 개발 시 위 공개키 알고리즘을 더 이상 사용할 수 없음을 의미한다.The Shore algorithm, based on a quantum computer, can solve factorization problems, discrete logarithm problems, and elliptic curve discrete logarithm problems in polynomial time. Since the public key algorithms RSA, DSA, and ECDSA are each based on the difficulties of the above problems, this means that the above public key algorithms can no longer be used when developing quantum computers.

그러나 현재의 양자 컴퓨터는 제한된 큐빗 및 게이트 자원만 사용 가능하여 실질적 공격을 위해서는 향후 양자 컴퓨터의 발전을 필요로 한다. 이로 인해 현재 사용중인 공개키 알고리즘을 공격하기 위해서 어느 정도의 양자 컴퓨터 자원이 필요할지 연구하고 최적화하는 연구가 현재 활발히 진행되고 있다. 중요한 양자 컴퓨터 자원으로는 큐빗 수, T 게이트 수, T 뎁스 등이 있으며, 일반적으로 위 값들을 최적화한 양자회로를 구성하는 것을 목표로 한다.However, current quantum computers can only use limited qubit and gate resources, so future development of quantum computers is required for practical attacks. Due to this, research is currently being actively conducted to study and optimize how much quantum computer resources will be needed to attack the public key algorithm currently in use. Important quantum computer resources include the number of qubits, number of T gates, and T depth, and the goal is generally to construct a quantum circuit that optimizes the above values.

공개키 알고리즘 중 이진체 기반 ECDSA를 양자회로 상에서 구현하고자 할 때 이진체 곱셈은 기반 연산으로서 전체 비용에 가장 큰 영향을 미치므로 우선적으로 최적화되어야 한다. 스쿨북(schoolbook) 곱셈 방법과 비교했을 때 최적화된 방법으로서, 카라추바(karatsuba) 알고리즘 기반 양자회로가 알려져 있다.When trying to implement binary-based ECDSA among public key algorithms on a quantum circuit, binary multiplication is the base operation and has the greatest impact on the overall cost, so it must be optimized first. As an optimized method compared to the schoolbook multiplication method, a quantum circuit based on the Karatsuba algorithm is known.

한국공개특허 제10-2007-0062901호, 공개일자 2007년 06월 18일.Korean Patent Publication No. 10-2007-0062901, published on June 18, 2007.

실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리(CRT, Chinese remainder theorem)를 이용한 이진체 곱셈 장치 및 그 방법을 제공한다.According to an embodiment, a binary multiplication device and method using the Chinese remainder theorem (CRT) with less AND gate complexity on a classical circuit are provided.

본 발명의 목적은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The object of the present invention is not limited to what was mentioned above, and other objects not mentioned will be clearly understood by those skilled in the art from the description below.

제 1 관점에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치는, 복수의 이진체 원소를 입력 받는 입력부; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및 상기 처리부의 결과를 출력하는 출력부;를 포함한다.According to the first aspect, the Chinese remainder theorem-based binary multiplication device includes an input unit that receives a plurality of binary elements; A processing unit that performs binary multiplication by transforming polynomial multiplication of a high order - higher than the lower order - into polynomial multiplication of a low order - lower than the higher order - for the input through Chinese remainder theorem; and an output unit that outputs the results of the processing unit.

제 2 관점에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법은, 복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함한다.The binary multiplication method performed by the Chinese remainder theorem-based binary multiplication device according to the second perspective includes receiving a plurality of binary elements as input; Processing of the input, including performing binary multiplication by transforming polynomial multiplication of a high degree - higher than the lower order - into polynomial multiplication of a lower degree - lower than the higher order - through the Chinese remainder theorem. steps; and outputting a processing result reflecting the result of performing the binary multiplication.

제 3 관점에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.A computer-readable recording medium storing a computer program according to the third aspect includes instructions for causing the processor to perform the method when the computer program is executed by a processor.

제 4 관점에 따른 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.A computer program stored in a computer-readable recording medium according to the fourth aspect includes instructions for causing the processor to perform the method when the computer program is executed by a processor.

실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리를 이용해 이진체 곱셈을 처리한다. 중국인의 나머지 정리를 통해 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 분할함으로써 기존의 이진체 원소 곱셈 회로보다 낮은 T 게이트 복잡도 및 T 뎁스를 갖는 효과가 있다.According to an embodiment, binary multiplication is processed using Chinese remainder theorem with less AND gate complexity on classical circuits. By dividing high-order polynomial multiplication into low-order polynomial multiplication through the Chinese remainder theorem, it has the effect of having lower T gate complexity and T depth than the existing binary element multiplication circuit.

본 발명의 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치의 구성도이다.
도 2는 도 1에 도시된 처리부의 구성도이다.
도 3은 도 2에 도시된 감산부의 구성도이다.
도 4는 도 2에 도시된 곱셈부의 구성도이다.
도 5는 도 2에 도시된 제 2 CRT부의 구성도이다.
도 6은 도 2에 도시된 제 1 CRT부의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법을 설명하기 위한 흐름도이다.
Figure 1 is a configuration diagram of a Chinese remainder theorem-based binary multiplication device according to an embodiment of the present invention.
FIG. 2 is a configuration diagram of the processing unit shown in FIG. 1.
Figure 3 is a configuration diagram of the subtraction unit shown in Figure 2.
Figure 4 is a configuration diagram of the multiplication unit shown in Figure 2.
FIG. 5 is a configuration diagram of the second CRT unit shown in FIG. 2.
FIG. 6 is a configuration diagram of the first CRT unit shown in FIG. 2.
Figure 7 is a flowchart illustrating a binary multiplication method performed by a Chinese remainder theorem-based binary multiplication device according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear with reference to the embodiments described below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.The terms used in this specification will be briefly explained, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are general terms that are currently widely used as much as possible while considering the function in the present invention, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than simply the name of the term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. When it is said that a part 'includes' a certain element throughout the specification, this does not mean excluding other elements, but may further include other elements, unless specifically stated to the contrary.

또한, 명세서에서 사용되는 '부'라는 용어는 소프트웨어 또는 FPGA나 ASIC, 양자 회로와 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.Additionally, the term 'unit' used in the specification refers to software or hardware components such as FPGA, ASIC, or quantum circuit, and the 'unit' performs certain roles. However, 'wealth' is not limited to software or hardware. The 'part' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Therefore, as an example, 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'.

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. In order to clearly explain the present invention in the drawings, parts unrelated to the description are omitted.

도 1은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치의 구성도이고, 도 2는 도 1에 도시된 처리부의 구성도이며, 도 3은 도 2에 도시된 감산부의 구성도이고, 도 4는 도 2에 도시된 곱셈부의 구성도이며, 도 5는 도 2에 도시된 제 2 CRT부의 구성도이고, 도 6은 도 2에 도시된 제 1 CRT부의 구성도이다.FIG. 1 is a configuration diagram of a Chinese remainder theorem-based binary multiplication device according to an embodiment of the present invention, FIG. 2 is a configuration diagram of the processing unit shown in FIG. 1, and FIG. 3 is a configuration diagram of the subtraction unit shown in FIG. 2. 4 is a configuration diagram of the multiplier unit shown in FIG. 2, FIG. 5 is a configuration diagram of the second CRT unit shown in FIG. 2, and FIG. 6 is a configuration diagram of the first CRT unit shown in FIG. 2.

도 1을 참조하면, 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치(100)는 입력부(110), 처리부(120) 및 출력부(130)를 포함한다.Referring to FIG. 1, the Chinese remainder theorem-based binary multiplication device 100 according to an embodiment includes an input unit 110, a processing unit 120, and an output unit 130.

입력부(110)는 복수의 이진체 원소를 입력 받는다. 이러한 입력부(110)는 제 1 큐빗 레지스터(F), 제 2 큐빗 레지스터(G) 및 제 3 큐빗 레지스터(H)로부터 각각 이진체 원소를 입력받을 수 있다.The input unit 110 receives a plurality of binary elements as input. This input unit 110 can receive binary elements from the first qubit register (F), the second qubit register (G), and the third qubit register (H), respectively.

처리부(120)는 입력부(110)를 통한 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행한다. 이러한 처리부(120)는 제 1 큐빗 레지스터(F)로부터의 입력과 관련된 감산-곱셈-감산 처리, 제 2 큐빗 레지스터(G)로부터의 입력과 관련된 감산-곱셈-감산 처리, 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 역CRT 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 제 1 큐빗 레지스터(F) 와 제 2 큐빗 레지스터(G) 로부터의 입력과 관련된 곱셈 결과를 제 3 큐빗 레지스터(H)의 입력값에 반영한다. 이러한 처리부(120)는 도 2 내지 도 6을 참조하여 아래에서 추가 설명하기로 한다.The processing unit 120 transforms the polynomial multiplication of a high order - higher than the lower order - into polynomial multiplication of a low order - lower than the higher order - through the Chinese remainder theorem for the input through the input unit 110. Performs binary multiplication. This processing unit 120 performs subtraction-multiplication-subtraction processing associated with the input from the first qubit register (F), subtraction-multiplication-subtraction processing associated with the input from the second qubit register (G), and third qubit register (H). ) The inverse CRT operation-multiplication-CRT operation processing related to the input from ) is performed for each k rounds - the result of the previous round is reflected in the next round - in the first qubit register (F) and the second qubit register (G) The multiplication result related to the input from is reflected in the input value of the third qubit register (H). This processing unit 120 will be further described below with reference to FIGS. 2 to 6.

출력부(130)는 처리부(120)의 결과를 출력한다. 이러한 처리부(130)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 처리부(120)의 k번째 CRT 연산 결과를 제 3 큐빗 레지스터(H)로 출력한다.The output unit 130 outputs the result of the processing unit 120. This processing unit 130 outputs the kth CRT operation result of the processing unit 120 related to the input from the third qubit register (H) to the third qubit register (H).

도 2 내지 도 6을 참조하면, 처리부(120)는 감산부(121), 제 1 CRT 연산부(122), 제 2 CRT 연산부(123) 및 곱셈부(124)를 포함할 수 있다.Referring to FIGS. 2 to 6 , the processing unit 120 may include a subtraction unit 121, a first CRT operation unit 122, a second CRT operation unit 123, and a multiplication unit 124.

감산부(121)는 제 1 큐빗 레지스터(F)로부터의 입력과 관련된 감산과 제 2 큐빗 레지스터(G)로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행한다.The subtraction unit 121 performs subtraction related to the input from the first qubit register (F) and subtraction related to the input from the second qubit register (G) at the start and end of each round for k rounds.

제 1 CRT 연산부(122)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 역 CRT 연산-하기 제 2 CRT 연산부(123)에 의한 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행한다.The first CRT operation unit 122 performs an inverse CRT operation related to the input from the third qubit register (H) - which is the inverse operation of the operation by the second CRT operation unit 123 - for each k rounds. Executed at the start of .

제 2 CRT 연산부(123)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행한다.The second CRT operation unit 123 performs a CRT operation related to the input from the third qubit register (H) for each k rounds at the end of each round.

곱셈부(124)는 감산부(121)에 의한 각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 제 1 CRT 연산부(122)에 의한 각 라운드의 시작 시점의 역 CRT 연산과 제 2 CRT 연산부(123)에 의한 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행한다.The multiplication unit 124 performs an inverse CRT operation between the subtraction at the start of each round by the subtraction unit 121 and the subtraction at the end of each round, and the inverse CRT operation at the start of each round by the first CRT operation unit 122. Multiplication is performed between the CRT operation and the CRT operation at the end of each round by the second CRT operation unit 123.

도 7은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법을 설명하기 위한 흐름도이다.Figure 7 is a flowchart illustrating a binary multiplication method performed by a Chinese remainder theorem-based binary multiplication device according to an embodiment of the present invention.

이하, 도 1 내지 도 7을 참조하여 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 대해 자세히 살려보기로 한다.Hereinafter, with reference to FIGS. 1 to 7, we will describe in detail the binary multiplication method performed by the Chinese remainder theorem-based binary multiplication device according to an embodiment of the present invention.

일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치(100)에 의한 곱셈의 대상이 되는 것은 이진체()의 원소로, 임의의 자연수 이 사용될 수 있다. 이진체()의 원소는 다항식 표기법을 사용하여 나타낸다. 즉 이진체의 원소는 차 기약다항식 를 모듈러스로 사용한 다항식환 의 원소이다.The object of multiplication by the Chinese remainder theorem-based binary multiplication device 100 according to an embodiment is a binary character ( ), any natural number This can be used. Binary font ( ) elements are expressed using polynomial notation. In other words, the elements of the binary body are second irreducible polynomial Polynomial ring using as modulus It is an element of

실시예의 주어진 차수 n에 대하여 이진체 곱셈 장치(100)의 입력이 되는 이진체의 원소는 로 표기하며, 그 계수 이 각각 비트 큐빗에 저장되어 있다고 가정한다.For a given degree n in the embodiment, the binary element that is the input to the binary multiplication device 100 is class It is expressed as , and its coefficient class Each of these Assume that bits are stored in qubits.

실시예의 이진체 곱셈 장치(100)에 포함된 처리부(120)는 매개다항식 , 을 기반으로 구성된다..The processing unit 120 included in the binary multiplication device 100 of the embodiment is a parametric polynomial , and It is composed based on . .

실시예의 이진체 곱셈 장치(100)에 포함된 처리부(120)는 각 에 대하여 매개변수 를 사용하는 k 번의 라운드로 이루어지며, 각 라운드는 감산부(121), 곱셈부(124), 제 1 CRT 연산부(122) 및 제 1 CRT 연산부(123)로 구성된다. The processing unit 120 included in the binary multiplication device 100 of the embodiment is About parameters It consists of k rounds using, and each round consists of a subtraction unit 121, a multiplication unit 124, a first CRT operation unit 122, and a first CRT operation unit 123.

실시예의 곱셈부(124)는 각 i 번째 라운드에 대하여 상에서의 곱셈을 수행한다.The multiplication unit 124 of the embodiment is Perform multiplication on the

실시예의 감산부(121)는 각 i 번째 라운드에 대하여 입력 다항식 에 대하여 모듈러 감산 를 수행할 수 있으며, 이는 상위큐빗을 컨트롤 큐빗, 하위큐빗을 타겟 큐빗으로 하는 CNOT 게이트로 구현될 수 있다. 이 과정은 높은 차수 곱셈을 낮은 차수 곱셈으로 변환함으로써 T 게이트(gate)의 수를 감소시키는 역할을 한다.The subtraction unit 121 of the embodiment uses an input polynomial for each i-th round. With respect to modular subtraction can be performed, and this can be implemented as a CNOT gate with the upper qubit as the control qubit and the lower qubit as the target qubit. This process serves to reduce the number of T gates by converting high-order multiplication to low-order multiplication.

실시예의 제 1 CRT 연산부(122) 및 제 2 CRT 연산부(123)는 각 i 번째 라운드에 대하여 을 계산하여 중국인의 나머지 정리를 적용한다. CRT 연산은 행렬 연산 로 표현되며, 를 치환행렬 , in-place 곱셈 행렬 과 out-of-place 곱셈 행렬 으로 분할하여 구현할 수 있다.The first CRT calculation unit 122 and the second CRT calculation unit 123 of the embodiment are Calculate and apply the Chinese remainder theorem. CRT operation is matrix operation It is expressed as the substitution matrix , in-place multiplication matrix and out-of-place multiplication matrix It can be implemented by dividing it into:

실시예의 중국인의 나머지 정리 기반 이진체 곱셈은 중국인의 나머지 정리를 이용하여 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 변형하여 양자회로 상에서 효율적인 이진체 곱셈을 수행한다.The Chinese remainder theorem-based binary multiplication of the embodiment transforms high-order polynomial multiplication into low-order polynomial multiplication using the Chinese remainder theorem to perform efficient binary multiplication on a quantum circuit.

다항식에 대한 중국인의 나머지 정리는 다음과 같다.The Chinese remainder theorem for polynomials is as follows.

가 쌍끼리 서로소인 다항식일 때,, 로 정의하자.( 또한 의 차수는 , 의 차수는 로 정의하자. 그러면 차수가 보다 작은 임의의 다항식 에 대하여 다음 식이 성립한다. When the pairs of are mutually prime polynomials, , Let's define it as ( also The order of is , The order of is Let's define it as Then the order is arbitrary polynomial less than The following equation holds true:

위 식을 이용하여 다항식 의 곱셈은 다음과 같이 계산될 수 있다.Polynomial using the above formula and The multiplication of can be calculated as follows.

감산부(121):Subtraction unit 121:

곱셈부(124):Multiplication unit 124:

제 2 CRT 연산부(123):Second CRT operation unit 123:

실시예의 의 선택에 제약은 없으나, 가 클수록 전체 회로가 효율적이므로 상의 기약다항식의 거듭제곱 형태로 선택할 수 있다.example and There are no restrictions on the choice of The larger is the more efficient the entire circuit is. Is You can choose the power form of the irreducible polynomial.

이진체 곱셈 장치(100)의 처리부(120)는 큐빗 레지스터 에 저장된 각각의 이진체 원소 를 입력부(110)를 통해 입력으로 받는다(S710).The processing unit 120 of the binary multiplication device 100 qubit register Each binary element stored in is received as input through the input unit 110 (S710).

그리고, 처리부(120)는 입력부(110)를 통한 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행한다. 이러한 처리부(120)는 큐빗 레지스터 F로부터의 입력과 관련된 감산-곱셈-감산 처리, 큐빗 레지스터 G로부터의 입력과 관련된 감산-곱셈-감산 처리, 큐빗 레지스터 H로부터의 입력과 관련된 역CRT 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 큐빗 레지스터 F와 큐빗 레지스터 G로부터의 입력과 관련된 곱셈 결과를 큐빗 레지스터의 입력값에 반영한다(S720).In addition, the processing unit 120 converts the polynomial multiplication of a high order - higher than the lower order - into polynomial multiplication of a low order - lower than the high order - through the Chinese remainder theorem for the input through the input unit 110. Transform it to perform binary multiplication. This processing unit 120 includes subtraction-multiplication-subtraction processing associated with the input from the qubit register F, subtraction-multiplication-subtraction processing associated with the input from the qubit register G, and inverse CRT operation-multiplication-subtraction processing associated with the input from the qubit register H. CRT operation processing is performed for each of k rounds - the results of the previous round are reflected in the next round - and the multiplication results related to the inputs from the qubit register F and qubit register G are reflected in the input value of the qubit register (S720).

처리부(120)는 출력부(130)를 통해 큐빗 레지스터에 를 출력한다(S730).The processing unit 120 operates through the output unit 130. In the qubit register Output (S730).

실시예는 k 라운드로 이루어져 있으며, 각 라운드는 감산부(121), 곱셈부(124), 제 1 CRT 연산부(122) 및 제 2 CRT 연산부(123)를 포함한다. The embodiment consists of k rounds, and each round includes a subtraction unit 121, a multiplication unit 124, a first CRT operation unit 122, and a second CRT operation unit 123.

감산부(121)는 각 라운드 시작 및 종료 시점의 레지스터에 위치한다. 곱셈부(124)는 감산부(121) 이후에 레지스터에 위치한다. 제 1 CRT 연산부(122)는 곱셈부(124) 전의 레지스터에 위치하고, 제 2 CRT 연산부(123)는 곱셈부(124) 후의 레지스터에 위치한다.The subtraction unit 121 operates at the start and end of each round. It is located in the register. The multiplication unit 124 is located after the subtraction unit 121. It is located in the register. The first CRT operation unit 122 is located before the multiplication unit 124. Located in the register, the second CRT operation unit 123 is the multiplication unit 124. It is located in the register.

입력 시점의 감산부(121)는 레지스터 각각에 저장된 다항식 에 대하여 를 계산한다. 고정된 에 대한 감산은 선형 연산이므로 행렬 로 표현할 수 있다. 는 상위 큐빗을 컨트롤 큐빗, 하위 큐빗을 타겟 큐빗으로 하는 CNOT 게이트로 구성된다. 종료 시점의 감산부(121)는 모듈러 감산된 에 대하여 동일한 행렬 연산을 다시 수행하여 로 초기화 시킨다. 이 연산은 번째 라운드 시작 시점의 모듈러 감산 행렬과 결합될 수 있다. 결합한 결과는 행렬연산으로 결합하지 않는 경우보다 사용되는 CNOT 게이트 수가 감소된다.The subtraction unit 121 at the time of input is Polynomial stored in each register and about and Calculate . fixed Since subtraction is a linear operation, the matrix It can be expressed as It consists of a CNOT gate with the upper qubit as the control qubit and the lower qubit as the target qubit. At the end of the subtraction unit 121, the modular subtraction is performed. and about the same By performing matrix operations again, and Initialize it with This operation is Modular subtraction at the start of the first round Can be combined with matrices. The combined result is The number of CNOT gates used is reduced compared to the case where matrix operations are not combined.

곱셈부(124)는 감산부(121)의 연산 결과로 레지스터에 저장된 에 대한 상에서의 곱셈을 수행하여 레지스터에 를 XOR 연산한다. 이때 상의 곱셈은 처리부(120)를 재귀적으로 적용하거나 기존의 카라추바 곱셈을 이용하여 수행할 수 있다.The multiplication unit 124 is the operation result of the subtraction unit 121. stored in register and for By performing multiplication on in the register Perform the XOR operation. At this time Multiplication of the image can be performed by recursively applying the processing unit 120 or using existing Karatsuba multiplication.

곱셈부(124) 후에 위치하는 제 2 CRT 연산부(123)는 레지스터에 저장된 곱셈부(124)의 결과값 에 대하여 를 계산한다. 이때 는 모두 상수이므로 위 연산은 선형 연산이며, 행렬 로 나타낼 수 있다. 행렬 는 다음과 같이 치환행렬 , in-place 곱셈 행렬 과 out-of-place 곱셈 행렬 으로 분할된다.The second CRT operation unit 123 located after the multiplication unit 124 is Result value of multiplication unit 124 stored in register about Calculate . At this time are all constants, so the above operation is a linear operation, and is a matrix It can be expressed as procession is the substitution matrix as follows: , in-place multiplication matrix and out-of-place multiplication matrix is divided into

치환행렬 는 컨트롤/타겟 큐빗을 치환하는 방식으로 추가 양자 게이트 비용 없이 구현 가능하다. in-place 곱셈 행렬 은 PLU-분해를 통해 구현될 수 있으며, out-of-place 곱셈 행렬 는 SAT solver 등을 이용하여 최적화 구현될 수 있다.substitution matrix can be implemented without additional quantum gate costs by replacing the control/target qubit. in-place multiplication matrix can be implemented through PLU-decomposition, out-of-place multiplication matrix can be optimized and implemented using a SAT solver, etc.

곱셈부(124) 전에 위치하는 제 1 CRT 연산부(122)는 곱셈부(124) 후에 위치하는 제 2 CRT 연산부(123)의 역(inverse) 연산이다. 따라서 행렬 의 역연산 로 나타낼 수 있으며, 다음과 같이 분해된다.The first CRT operation unit 122 located before the multiplication unit 124 is an inverse operation of the second CRT operation unit 123 located after the multiplication unit 124. Therefore the matrix Inverse operation of It can be expressed as , and is decomposed as follows.

은 각각 행렬의 역(inverse) 연산이며, 이전 라운드에 출력 큐빗에 저장되어 있던 값의 영향을 제거하여 올바른 값이 출력되도록 하는 역할을 한다. are respectively It is an inverse operation of a matrix, and serves to ensure that the correct value is output by removing the influence of the value stored in the output qubit in the previous round.

지금까지 설명한 바와 같이, 실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리를 이용해 이진체 곱셈을 처리한다. 중국인의 나머지 정리를 통해 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 분할함으로써 기존의 이진체 원소 곱셈 회로보다 낮은 T 게이트 복잡도 및 T 뎁스를 갖는다.As described so far, according to the embodiment, binary multiplication is processed using the Chinese remainder theorem with less AND gate complexity on classical circuits. By dividing high-order polynomial multiplication into low-order polynomial multiplication through the Chinese remainder theorem, it has lower T gate complexity and T depth than the existing binary element multiplication circuit.

구체적으로 실시예는 ECDSA의 파라미터 에 대하여 기존 카라추바 기반 곱셈과 비교했을 때 12~24 %의 T 게이트만을 사용한다.Specifically, the embodiment is a parameter of ECDSA Compared to the existing Karatsuba-based multiplication, only 12 to 24% of T gates are used.

실시예는 안실라 큐빗을 필요로 하지 않는다. 즉 상의 곱셈을 위하여 입력 큐빗, 출력 큐빗만을 사용하며, 전체 회로의 뎁스를 기존 카라추바 곱셈과 유사한 값으로 제한할 수 있다.The embodiment does not require an ancilla qubit. in other words Input for multiplication qubit, output Only qubits are used, and the depth of the entire circuit can be limited to a value similar to the existing Karachuba multiplication.

실시예는 기존 카라추바 기반 양자 회로와 비교했을 때 더 낮은 점근적인 T 게이트 복잡도를 갖는다. 구체적으로 실시예의 점근적 T 게이트 복잡도는 각각 이다.The embodiment has lower asymptotic T gate complexity compared to existing Karatsuba-based quantum circuits. Specifically, the asymptotic T gate complexity of the embodiment is am.

한편, 전술한 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하도록 컴퓨터 프로그램이 구현될 수 있다.Meanwhile, a computer program may be implemented to include instructions for causing a processor to perform each step included in the binary multiplication method performed by the Chinese remainder theorem-based binary multiplication device according to the above-described embodiment.

또한, 전술한 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록매체에 기록될 수 있다.In addition, a computer program including instructions for causing a processor to perform each step included in the binary multiplication method performed by the Chinese remainder theorem-based binary multiplication device according to the above-described embodiment is stored in a computer-readable recording medium. can be recorded

본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step in each flowchart attached to the present invention may be performed by computer program instructions. Since these computer program instructions can be mounted on the processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions performed through the processor of the computer or other programmable data processing equipment perform the functions described in each step of the flowchart. It creates the means to carry out these tasks. These computer program instructions may also be stored on a computer-usable or computer-readable recording medium that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer program instructions are computer-usable or computer-readable. The instructions stored in the recording medium can also produce manufactured items containing instruction means that perform the functions described in each step of the flowchart. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in each step of the flowchart.

또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each step may represent a module, segment, or portion of code containing one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments it is possible for the functions mentioned in the steps to occur out of order. For example, two steps shown in succession may in fact be performed substantially simultaneously, or the steps may sometimes be performed in reverse order depending on the corresponding function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an exemplary explanation of the technical idea of the present invention, and those skilled in the art will be able to make various modifications and variations without departing from the essential quality of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention shall be interpreted in accordance with the claims below, and all technical ideas within the scope equivalent thereto shall be construed as being included in the scope of rights of the present invention.

100: 이진체 곱셈 장치
110: 입력부
120: 처리부
121: 감산부
122: 제 1 CRT 연산부
123: 제 2 CRT 연산부
124: 곱셈부
130: 출력부
100: Binary multiplication unit
110: input unit
120: processing unit
121: Subtraction unit
122: 1st CRT operation unit
123: 2nd CRT operation unit
124: multiplication part
130: output unit

Claims (8)

삭제delete 복수의 이진체 원소를 입력 받는 입력부;
상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및
상기 처리부의 결과를 출력하는 출력부;를 포함하며,
상기 입력부는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고,
상기 처리부는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 제 3 큐빗 레지스터의 입력값에 반영하며,
상기 출력부는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리부의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는
중국인의 나머지 정리 기반 이진체 곱셈 장치.
An input unit that receives a plurality of binary elements;
A processing unit that performs binary multiplication by transforming polynomial multiplication of a high order - higher than the lower order - into polynomial multiplication of a low order - lower than the higher order - for the input through the Chinese remainder theorem; and
It includes an output unit that outputs the results of the processing unit,
The input unit receives binary elements from the first qubit register, the second qubit register, and the third qubit register, respectively,
The processing unit may perform subtraction-multiplication-subtraction processing associated with the input from the first qubit register, subtraction-multiplication-subtraction processing associated with the input from the second qubit register, and inverse CRT associated with the input from the third qubit register. (Chinese remainder theorem) operation-multiplication-CRT operation processing is performed for each k rounds - the result of the previous round is reflected in the next round - and the multiplication result related to the input of the first qubit register and the second qubit register is first It is reflected in the input value of the 3-qubit register,
The output unit outputs the kth CRT operation result of the processing unit related to the input from the third qubit register to the third qubit register.
Chinese remainder theorem based binary multiplication device.
제 2 항에 있어서,
상기 처리부는,
상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산과 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행하는 감산부;
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역 CRT 연산-하기 제 2 CRT 연산부에 의한 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행하는 제 1 CRT 연산부;
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행하는 제 2 CRT 연산부;
상기 감산부에 의한 각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 상기 제 1 CRT 연산부에 의한 각 라운드의 시작 시점의 역 CRT 연산과 상기 제 2 CRT 연산부에 의한 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행하는 곱셈부;를 포함하는
중국인의 나머지 정리 기반 이진체 곱셈 장치.
According to claim 2,
The processing unit,
a subtraction unit that performs a subtraction related to the input from the first qubit register and a subtraction related to the input from the second qubit register at the start and end of each round for each k rounds;
a first CRT operation unit that performs an inverse CRT operation related to the input from the third qubit register - an inverse operation of the operation performed by the second CRT operation unit below - for each k rounds at the start of each round;
a second CRT operation unit that performs a CRT operation related to the input from the third qubit register for each k rounds at the end of each round;
Between the subtraction at the start of each round by the subtraction unit and the subtraction at the end of each round, the inverse CRT operation at the start of each round by the first CRT operator and each round by the second CRT operator. A multiplication unit that performs multiplication between the CRT operation at the end of
Chinese remainder theorem based binary multiplication device.
삭제delete 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법으로서,
복수의 이진체 원소를 입력 받는 단계;
상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및
상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고,
상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며,
상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는
중국인의 나머지 정리 기반 이진체 곱셈 방법.
A binary multiplication method performed by a Chinese remainder theorem-based binary multiplication device, comprising:
Receiving a plurality of binary elements as input;
Processing of the input, including performing binary multiplication by transforming polynomial multiplication of a high degree - higher than the lower order - into polynomial multiplication of a lower degree - lower than the higher order - through the Chinese remainder theorem. steps; and
It includes outputting a processing result reflecting the result of performing the binary multiplication,
In the input receiving step, binary elements are input from the first qubit register, the second qubit register, and the third qubit register, respectively,
The processing steps include subtraction-multiplication-subtraction processing associated with the input from the first qubit register, subtraction-multiplication-subtraction processing associated with the input from the second qubit register, and associated with the input from the third qubit register. Inverse CRT (Chinese remainder theorem) operation - multiplication - CRT operation processing is performed for each k rounds - the results of the previous round are reflected in the next round - and the multiplication related to the inputs of the first qubit register and the second qubit register The result is reflected in the input value of the third qubit register,
The output step includes outputting the kth CRT operation result of the processing step related to the input from the third qubit register to the third qubit register.
Chinese remainder theorem based binary multiplication method.
제 5 항에 있어서,
상기 처리하는 단계는,
상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산과 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행하고,
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역 CRT 연산-하기 CRT 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행하며,
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행하고,
각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 각 라운드의 시작 시점의 역 CRT 연산과 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행하는
중국인의 나머지 정리 기반 이진체 곱셈 방법.
According to claim 5,
The above processing steps are:
Performing a subtraction associated with an input from the first qubit register and a subtraction associated with an input from the second qubit register at the start and end of each round for each k rounds,
An inverse CRT operation related to the input from the third qubit register - which is the inverse operation of the CRT operation below - is performed for each k rounds at the start of each round,
Performing a CRT operation related to the input from the third qubit register for each k rounds at the end of each round,
Multiplication is performed between the subtraction at the start of each round and the subtraction at the end of each round, and between the inverse CRT operation at the start of each round and the CRT operation at the end of each round.
Chinese remainder theorem based binary multiplication method.
컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고, 상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며, 상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는 중국인의 나머지 정리 기반 이진체 곱셈 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a computer program,
When the computer program is executed by a processor,
Receiving a plurality of binary elements as input; Processing of the input, including performing binary multiplication by transforming polynomial multiplication of a high degree - higher than the lower order - into polynomial multiplication of a lower degree - lower than the higher order - through the Chinese remainder theorem. steps; And outputting a processing result reflecting the result of performing the binary multiplication;
The input receiving step receives binary elements from each of the first qubit register, the second qubit register, and the third qubit register, and the processing step involves subtraction-multiplication-subtraction related to the input from the first qubit register. processing, subtraction-multiplication-subtraction processing associated with the input from the second qubit register, inverse CRT (Chinese remainder theorem) operation-multiplication-CRT operation processing associated with the input from the third qubit register k rounds - the previous round. The result of is reflected in the next round - each performed, wherein the multiplication result related to the input of the first qubit register and the second qubit register is reflected in the input value of the third qubit register, and the output step includes the above Including instructions for causing the processor to perform a Chinese remainder theorem-based binary multiplication method for outputting the k-th CRT operation result of the processing step related to the input from the third qubit register to the third qubit register.
A computer-readable recording medium.
컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고, 상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며, 상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는 중국인의 나머지 정리 기반 이진체 곱셈 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 프로그램.
A computer program stored on a computer-readable recording medium,
When the computer program is executed by a processor,
Receiving a plurality of binary elements as input; Processing of the input, including performing binary multiplication by transforming polynomial multiplication of a high degree - higher than the lower order - into polynomial multiplication of a lower degree - lower than the higher order - through the Chinese remainder theorem. steps; And outputting a processing result reflecting the result of performing the binary multiplication;
The input receiving step receives binary elements from each of the first qubit register, the second qubit register, and the third qubit register, and the processing step involves subtraction-multiplication-subtraction related to the input from the first qubit register. processing, subtraction-multiplication-subtraction processing associated with the input from the second qubit register, inverse CRT (Chinese remainder theorem) operation-multiplication-CRT operation processing associated with the input from the third qubit register k rounds - the previous round. The result of is reflected in the next round - each performed, wherein the multiplication result related to the input of the first qubit register and the second qubit register is reflected in the input value of the third qubit register, and the output step includes the above Including instructions for causing the processor to perform a Chinese remainder theorem-based binary multiplication method for outputting the k-th CRT operation result of the processing step related to the input from the third qubit register to the third qubit register.
computer program.
KR1020230051657A 2023-04-19 2023-04-19 Method and apparatus of binary field Multiplication based on Chinese remainder theorem KR102621862B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230051657A KR102621862B1 (en) 2023-04-19 2023-04-19 Method and apparatus of binary field Multiplication based on Chinese remainder theorem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230051657A KR102621862B1 (en) 2023-04-19 2023-04-19 Method and apparatus of binary field Multiplication based on Chinese remainder theorem

Publications (1)

Publication Number Publication Date
KR102621862B1 true KR102621862B1 (en) 2024-01-05

Family

ID=89541063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230051657A KR102621862B1 (en) 2023-04-19 2023-04-19 Method and apparatus of binary field Multiplication based on Chinese remainder theorem

Country Status (1)

Country Link
KR (1) KR102621862B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070062901A (en) 2005-12-13 2007-06-18 한국전자통신연구원 Apparatus and method for modular multiplication using chhinese remainder theorem and carry save adder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070062901A (en) 2005-12-13 2007-06-18 한국전자통신연구원 Apparatus and method for modular multiplication using chhinese remainder theorem and carry save adder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
H. Fan, M.A. Hasan, Comments on "Five, six, and seven-term karatsuba-like formulae" IEEE Transactions on Computers, Vol. 56(5), pp. 716(2007.) 1부.* *

Similar Documents

Publication Publication Date Title
Gao et al. Pixel transposed convolutional networks
Zulehner et al. Matrix-vector vs. matrix-matrix multiplication: Potential in DD-based simulation of quantum computations
US11907328B2 (en) Apparatus and method for generating efficient convolution
CN108984849B (en) Quantum comparator design method based on quantum superposition state
Dang et al. Optimising matrix product state simulations of Shor's algorithm
Chervyakov et al. Residue number system-based solution for reducing the hardware cost of a convolutional neural network
CN112182494B (en) Integer decomposition optimization simulation method and system based on Grover quantum computing search algorithm
CN109002894B (en) Quantum adder design method based on quantum superposition state
CN113168310B (en) Hardware module for converting numbers
WO2013055448A1 (en) Efficient algorithm for fast corner detection
CN108875416B (en) Elliptic curve multiple point operation method and device
CN106683041B (en) Quantum image miscut method based on NEQR expression
Zhou et al. Quantum image scaling based on bilinear interpolation with decimals scaling ratio
KR102621862B1 (en) Method and apparatus of binary field Multiplication based on Chinese remainder theorem
EP3907664A1 (en) Processing method and apparatus of capsule network model
Chaurra-Gutierrez et al. QIST: One-dimensional quantum integer wavelet S-transform
CN108898228B (en) Quantum adder design method without damaging source operands
JP6885460B2 (en) Reverse image sampling device, reverse image sampling method and reverse image sampling program
KR20160051616A (en) Apparatus, method and program for calculating the result of a repeating iterative sum
JP5736336B2 (en) Matrix vector product computing device, matrix vector product computing method, and matrix vector product computing program
EP4273758A1 (en) Quantum preprocessing method and apparatus, storage medium, and electronic apparatus
WO2024038694A1 (en) Optimization device, optimization method, and program
RU2572423C2 (en) Method of forming s-blocks with minimum number of logic elements
US11694107B1 (en) Quantum circuit for computational basis state shift
Markov et al. Optimal synthesis of linear reversible circuits

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant