KR102621862B1 - 중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 - Google Patents
중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 24
- 238000012545 processing Methods 0.000 claims abstract description 69
- 230000001131 transforming effect Effects 0.000 claims abstract description 7
- 239000002096 quantum dot Substances 0.000 claims description 88
- 238000004590 computer program Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241001245475 Ancilla Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B82—NANOTECHNOLOGY
- B82Y—SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- B82Y10/00—Nanotechnology 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
실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치는, 복수의 이진체 원소를 입력 받는 입력부; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및 상기 처리부의 결과를 출력하는 출력부;를 포함한다.
Description
본 발명은 중국인의 나머지 정리를 기반으로 이진체 곱셈을 처리하는 장치 및 그 방법에 관한 것이다.
양자 컴퓨터를 기반으로 하는 쇼어(shor) 알고리즘은 다항시간 안에 인수분해 문제, 이산대수문제, 타원곡선 이산대수 문제 등을 해결할 수 있다. 공개키 알고리즘 RSA, DSA, ECDSA는 각각 위 문제들의 어려움에 기반을 두고 있으므로 이것은 양자 컴퓨터 개발 시 위 공개키 알고리즘을 더 이상 사용할 수 없음을 의미한다.
그러나 현재의 양자 컴퓨터는 제한된 큐빗 및 게이트 자원만 사용 가능하여 실질적 공격을 위해서는 향후 양자 컴퓨터의 발전을 필요로 한다. 이로 인해 현재 사용중인 공개키 알고리즘을 공격하기 위해서 어느 정도의 양자 컴퓨터 자원이 필요할지 연구하고 최적화하는 연구가 현재 활발히 진행되고 있다. 중요한 양자 컴퓨터 자원으로는 큐빗 수, T 게이트 수, T 뎁스 등이 있으며, 일반적으로 위 값들을 최적화한 양자회로를 구성하는 것을 목표로 한다.
공개키 알고리즘 중 이진체 기반 ECDSA를 양자회로 상에서 구현하고자 할 때 이진체 곱셈은 기반 연산으로서 전체 비용에 가장 큰 영향을 미치므로 우선적으로 최적화되어야 한다. 스쿨북(schoolbook) 곱셈 방법과 비교했을 때 최적화된 방법으로서, 카라추바(karatsuba) 알고리즘 기반 양자회로가 알려져 있다.
실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리(CRT, Chinese remainder theorem)를 이용한 이진체 곱셈 장치 및 그 방법을 제공한다.
본 발명의 목적은 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
제 1 관점에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치는, 복수의 이진체 원소를 입력 받는 입력부; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및 상기 처리부의 결과를 출력하는 출력부;를 포함한다.
제 2 관점에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법은, 복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함한다.
제 3 관점에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
제 4 관점에 따른 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램이, 프로세서에 의해 실행되면, 상기 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.
실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리를 이용해 이진체 곱셈을 처리한다. 중국인의 나머지 정리를 통해 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 분할함으로써 기존의 이진체 원소 곱셈 회로보다 낮은 T 게이트 복잡도 및 T 뎁스를 갖는 효과가 있다.
본 발명의 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치의 구성도이다.
도 2는 도 1에 도시된 처리부의 구성도이다.
도 3은 도 2에 도시된 감산부의 구성도이다.
도 4는 도 2에 도시된 곱셈부의 구성도이다.
도 5는 도 2에 도시된 제 2 CRT부의 구성도이다.
도 6은 도 2에 도시된 제 1 CRT부의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법을 설명하기 위한 흐름도이다.
도 2는 도 1에 도시된 처리부의 구성도이다.
도 3은 도 2에 도시된 감산부의 구성도이다.
도 4는 도 2에 도시된 곱셈부의 구성도이다.
도 5는 도 2에 도시된 제 2 CRT부의 구성도이다.
도 6은 도 2에 도시된 제 1 CRT부의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 '부'라는 용어는 소프트웨어 또는 FPGA나 ASIC, 양자 회로와 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치의 구성도이고, 도 2는 도 1에 도시된 처리부의 구성도이며, 도 3은 도 2에 도시된 감산부의 구성도이고, 도 4는 도 2에 도시된 곱셈부의 구성도이며, 도 5는 도 2에 도시된 제 2 CRT부의 구성도이고, 도 6은 도 2에 도시된 제 1 CRT부의 구성도이다.
도 1을 참조하면, 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치(100)는 입력부(110), 처리부(120) 및 출력부(130)를 포함한다.
입력부(110)는 복수의 이진체 원소를 입력 받는다. 이러한 입력부(110)는 제 1 큐빗 레지스터(F), 제 2 큐빗 레지스터(G) 및 제 3 큐빗 레지스터(H)로부터 각각 이진체 원소를 입력받을 수 있다.
처리부(120)는 입력부(110)를 통한 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행한다. 이러한 처리부(120)는 제 1 큐빗 레지스터(F)로부터의 입력과 관련된 감산-곱셈-감산 처리, 제 2 큐빗 레지스터(G)로부터의 입력과 관련된 감산-곱셈-감산 처리, 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 역CRT 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 제 1 큐빗 레지스터(F) 와 제 2 큐빗 레지스터(G) 로부터의 입력과 관련된 곱셈 결과를 제 3 큐빗 레지스터(H)의 입력값에 반영한다. 이러한 처리부(120)는 도 2 내지 도 6을 참조하여 아래에서 추가 설명하기로 한다.
출력부(130)는 처리부(120)의 결과를 출력한다. 이러한 처리부(130)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 처리부(120)의 k번째 CRT 연산 결과를 제 3 큐빗 레지스터(H)로 출력한다.
도 2 내지 도 6을 참조하면, 처리부(120)는 감산부(121), 제 1 CRT 연산부(122), 제 2 CRT 연산부(123) 및 곱셈부(124)를 포함할 수 있다.
감산부(121)는 제 1 큐빗 레지스터(F)로부터의 입력과 관련된 감산과 제 2 큐빗 레지스터(G)로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행한다.
제 1 CRT 연산부(122)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 역 CRT 연산-하기 제 2 CRT 연산부(123)에 의한 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행한다.
제 2 CRT 연산부(123)는 제 3 큐빗 레지스터(H)로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행한다.
곱셈부(124)는 감산부(121)에 의한 각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 제 1 CRT 연산부(122)에 의한 각 라운드의 시작 시점의 역 CRT 연산과 제 2 CRT 연산부(123)에 의한 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행한다.
도 7은 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법을 설명하기 위한 흐름도이다.
이하, 도 1 내지 도 7을 참조하여 본 발명의 일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 대해 자세히 살려보기로 한다.
일 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치(100)에 의한 곱셈의 대상이 되는 것은 이진체()의 원소로, 임의의 자연수 이 사용될 수 있다. 이진체()의 원소는 다항식 표기법을 사용하여 나타낸다. 즉 이진체의 원소는 차 기약다항식 를 모듈러스로 사용한 다항식환 의 원소이다.
실시예의 주어진 차수 n에 대하여 이진체 곱셈 장치(100)의 입력이 되는 이진체의 원소는 과 로 표기하며, 그 계수 과 이 각각 비트 큐빗에 저장되어 있다고 가정한다.
실시예의 이진체 곱셈 장치(100)에 포함된 처리부(120)는 매개다항식 , 및 을 기반으로 구성된다..
실시예의 이진체 곱셈 장치(100)에 포함된 처리부(120)는 각 에 대하여 매개변수 를 사용하는 k 번의 라운드로 이루어지며, 각 라운드는 감산부(121), 곱셈부(124), 제 1 CRT 연산부(122) 및 제 1 CRT 연산부(123)로 구성된다.
실시예의 곱셈부(124)는 각 i 번째 라운드에 대하여 상에서의 곱셈을 수행한다.
실시예의 감산부(121)는 각 i 번째 라운드에 대하여 입력 다항식 에 대하여 모듈러 감산 를 수행할 수 있으며, 이는 상위큐빗을 컨트롤 큐빗, 하위큐빗을 타겟 큐빗으로 하는 CNOT 게이트로 구현될 수 있다. 이 과정은 높은 차수 곱셈을 낮은 차수 곱셈으로 변환함으로써 T 게이트(gate)의 수를 감소시키는 역할을 한다.
실시예의 제 1 CRT 연산부(122) 및 제 2 CRT 연산부(123)는 각 i 번째 라운드에 대하여 을 계산하여 중국인의 나머지 정리를 적용한다. CRT 연산은 행렬 연산 로 표현되며, 를 치환행렬 , in-place 곱셈 행렬 과 out-of-place 곱셈 행렬 으로 분할하여 구현할 수 있다.
실시예의 중국인의 나머지 정리 기반 이진체 곱셈은 중국인의 나머지 정리를 이용하여 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 변형하여 양자회로 상에서 효율적인 이진체 곱셈을 수행한다.
다항식에 대한 중국인의 나머지 정리는 다음과 같다.
가 쌍끼리 서로소인 다항식일 때,, 로 정의하자.( 또한 의 차수는 , 의 차수는 로 정의하자. 그러면 차수가 보다 작은 임의의 다항식 에 대하여 다음 식이 성립한다.
위 식을 이용하여 다항식 와 의 곱셈은 다음과 같이 계산될 수 있다.
감산부(121):
곱셈부(124):
제 2 CRT 연산부(123):
실시예의 및 의 선택에 제약은 없으나, 가 클수록 전체 회로가 효율적이므로 는 상의 기약다항식의 거듭제곱 형태로 선택할 수 있다.
이진체 곱셈 장치(100)의 처리부(120)는 큐빗 레지스터 에 저장된 각각의 이진체 원소 를 입력부(110)를 통해 입력으로 받는다(S710).
그리고, 처리부(120)는 입력부(110)를 통한 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행한다. 이러한 처리부(120)는 큐빗 레지스터 F로부터의 입력과 관련된 감산-곱셈-감산 처리, 큐빗 레지스터 G로부터의 입력과 관련된 감산-곱셈-감산 처리, 큐빗 레지스터 H로부터의 입력과 관련된 역CRT 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 큐빗 레지스터 F와 큐빗 레지스터 G로부터의 입력과 관련된 곱셈 결과를 큐빗 레지스터의 입력값에 반영한다(S720).
처리부(120)는 출력부(130)를 통해 큐빗 레지스터에 를 출력한다(S730).
실시예는 k 라운드로 이루어져 있으며, 각 라운드는 감산부(121), 곱셈부(124), 제 1 CRT 연산부(122) 및 제 2 CRT 연산부(123)를 포함한다.
감산부(121)는 각 라운드 시작 및 종료 시점의 레지스터에 위치한다. 곱셈부(124)는 감산부(121) 이후에 레지스터에 위치한다. 제 1 CRT 연산부(122)는 곱셈부(124) 전의 레지스터에 위치하고, 제 2 CRT 연산부(123)는 곱셈부(124) 후의 레지스터에 위치한다.
입력 시점의 감산부(121)는 레지스터 각각에 저장된 다항식 와 에 대하여 와 를 계산한다. 고정된 에 대한 감산은 선형 연산이므로 행렬 로 표현할 수 있다. 는 상위 큐빗을 컨트롤 큐빗, 하위 큐빗을 타겟 큐빗으로 하는 CNOT 게이트로 구성된다. 종료 시점의 감산부(121)는 모듈러 감산된 와 에 대하여 동일한 행렬 연산을 다시 수행하여 와 로 초기화 시킨다. 이 연산은 번째 라운드 시작 시점의 모듈러 감산 행렬과 결합될 수 있다. 결합한 결과는 행렬연산으로 결합하지 않는 경우보다 사용되는 CNOT 게이트 수가 감소된다.
곱셈부(124)는 감산부(121)의 연산 결과로 레지스터에 저장된 와 에 대한 상에서의 곱셈을 수행하여 레지스터에 를 XOR 연산한다. 이때 상의 곱셈은 처리부(120)를 재귀적으로 적용하거나 기존의 카라추바 곱셈을 이용하여 수행할 수 있다.
곱셈부(124) 후에 위치하는 제 2 CRT 연산부(123)는 레지스터에 저장된 곱셈부(124)의 결과값 에 대하여 를 계산한다. 이때 는 모두 상수이므로 위 연산은 선형 연산이며, 행렬 로 나타낼 수 있다. 행렬 는 다음과 같이 치환행렬 , in-place 곱셈 행렬 과 out-of-place 곱셈 행렬 으로 분할된다.
치환행렬 는 컨트롤/타겟 큐빗을 치환하는 방식으로 추가 양자 게이트 비용 없이 구현 가능하다. in-place 곱셈 행렬 은 PLU-분해를 통해 구현될 수 있으며, out-of-place 곱셈 행렬 는 SAT solver 등을 이용하여 최적화 구현될 수 있다.
곱셈부(124) 전에 위치하는 제 1 CRT 연산부(122)는 곱셈부(124) 후에 위치하는 제 2 CRT 연산부(123)의 역(inverse) 연산이다. 따라서 행렬 의 역연산 로 나타낼 수 있으며, 다음과 같이 분해된다.
은 각각 행렬의 역(inverse) 연산이며, 이전 라운드에 출력 큐빗에 저장되어 있던 값의 영향을 제거하여 올바른 값이 출력되도록 하는 역할을 한다.
지금까지 설명한 바와 같이, 실시예에 따르면, 고전회로 상에서 더 적은 AND 게이트 복잡도를 갖는 중국인의 나머지 정리를 이용해 이진체 곱셈을 처리한다. 중국인의 나머지 정리를 통해 높은 차수의 다항식 곱셈을 낮은 차수의 다항식 곱셈으로 분할함으로써 기존의 이진체 원소 곱셈 회로보다 낮은 T 게이트 복잡도 및 T 뎁스를 갖는다.
구체적으로 실시예는 ECDSA의 파라미터 에 대하여 기존 카라추바 기반 곱셈과 비교했을 때 12~24 %의 T 게이트만을 사용한다.
실시예는 안실라 큐빗을 필요로 하지 않는다. 즉 상의 곱셈을 위하여 입력 큐빗, 출력 큐빗만을 사용하며, 전체 회로의 뎁스를 기존 카라추바 곱셈과 유사한 값으로 제한할 수 있다.
실시예는 기존 카라추바 기반 양자 회로와 비교했을 때 더 낮은 점근적인 T 게이트 복잡도를 갖는다. 구체적으로 실시예의 점근적 T 게이트 복잡도는 각각 이다.
한편, 전술한 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하도록 컴퓨터 프로그램이 구현될 수 있다.
또한, 전술한 실시예에 따른 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법에 포함된 각각의 단계를 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록매체에 기록될 수 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 이진체 곱셈 장치
110: 입력부
120: 처리부
121: 감산부
122: 제 1 CRT 연산부
123: 제 2 CRT 연산부
124: 곱셈부
130: 출력부
110: 입력부
120: 처리부
121: 감산부
122: 제 1 CRT 연산부
123: 제 2 CRT 연산부
124: 곱셈부
130: 출력부
Claims (8)
- 삭제
- 복수의 이진체 원소를 입력 받는 입력부;
상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 처리부; 및
상기 처리부의 결과를 출력하는 출력부;를 포함하며,
상기 입력부는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고,
상기 처리부는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 제 3 큐빗 레지스터의 입력값에 반영하며,
상기 출력부는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리부의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는
중국인의 나머지 정리 기반 이진체 곱셈 장치. - 제 2 항에 있어서,
상기 처리부는,
상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산과 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행하는 감산부;
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역 CRT 연산-하기 제 2 CRT 연산부에 의한 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행하는 제 1 CRT 연산부;
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행하는 제 2 CRT 연산부;
상기 감산부에 의한 각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 상기 제 1 CRT 연산부에 의한 각 라운드의 시작 시점의 역 CRT 연산과 상기 제 2 CRT 연산부에 의한 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행하는 곱셈부;를 포함하는
중국인의 나머지 정리 기반 이진체 곱셈 장치. - 삭제
- 중국인의 나머지 정리 기반 이진체 곱셈 장치가 수행하는 이진체 곱셈 방법으로서,
복수의 이진체 원소를 입력 받는 단계;
상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및
상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고,
상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며,
상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는
중국인의 나머지 정리 기반 이진체 곱셈 방법. - 제 5 항에 있어서,
상기 처리하는 단계는,
상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산과 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산을 k개의 라운드마다 각 라운드의 시작 시점 및 종료 시점에 수행하고,
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역 CRT 연산-하기 CRT 연산의 역(inverse) 연산임-을 k개의 라운드마다 각 라운드의 시작 시점에 수행하며,
상기 제 3 큐빗 레지스터로부터의 입력과 관련된 CRT 연산을 k개의 라운드마다 각 라운드의 종료 시점에 수행하고,
각 라운드의 시작 시점의 감산과 각 라운드의 종료 시점의 감산과의 사이, 각 라운드의 시작 시점의 역 CRT 연산과 각 라운드의 종료 시점의 CRT 연산과의 사이에서 곱셈을 수행하는
중국인의 나머지 정리 기반 이진체 곱셈 방법. - 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고, 상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며, 상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는 중국인의 나머지 정리 기반 이진체 곱셈 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 판독 가능한 기록매체. - 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
복수의 이진체 원소를 입력 받는 단계; 상기 입력에 대하여 중국인의 나머지 정리를 통해 높은 차수-하기 낮은 차수보다 더 높음-의 다항식 곱셈을 낮은 차수-상기 높은 차수보다 더 낮음-의 다항식 곱셈으로 변형하여 이진체 곱셈을 수행하는 것을 포함하여 처리하는 단계; 및 상기 이진체 곱셈을 수행한 결과가 반영된 처리 결과를 출력하는 단계;를 포함하며,
상기 입력 받는 단계는, 제 1 큐빗 레지스터, 제 2 큐빗 레지스터 및 제 3 큐빗 레지스터로부터 각각 이진체 원소를 입력 받고, 상기 처리하는 단계는, 상기 제 1 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 2 큐빗 레지스터로부터의 입력과 관련된 감산-곱셈-감산 처리, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 역CRT(Chinese remainder theorem) 연산-곱셈-CRT 연산 처리를 k개의 라운드-이전 라운드의 결과가 다음 라운드에 반영됨-마다 각각 수행하되, 상기 제 1 큐빗 레지스터와 상기 제 2 큐빗 레지스터의 입력과 관련된 곱셈 결과를 상기 제 3 큐빗 레지스터의 입력값에 반영하며, 상기 출력하는 단계는, 상기 제 3 큐빗 레지스터로부터의 입력과 관련된 상기 처리하는 단계의 k번째 CRT 연산 결과를 상기 제 3 큐빗 레지스터로 출력하는 중국인의 나머지 정리 기반 이진체 곱셈 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230051657A KR102621862B1 (ko) | 2023-04-19 | 2023-04-19 | 중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230051657A KR102621862B1 (ko) | 2023-04-19 | 2023-04-19 | 중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102621862B1 true KR102621862B1 (ko) | 2024-01-05 |
Family
ID=89541063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230051657A KR102621862B1 (ko) | 2023-04-19 | 2023-04-19 | 중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102621862B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070062901A (ko) | 2005-12-13 | 2007-06-18 | 한국전자통신연구원 | 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법 |
-
2023
- 2023-04-19 KR KR1020230051657A patent/KR102621862B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070062901A (ko) | 2005-12-13 | 2007-06-18 | 한국전자통신연구원 | 중국인 나머지 정리(crt)와 캐리 저장 가산 기반의모듈러 곱셈 장치 및 방법 |
Non-Patent Citations (1)
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 (zh) | 一种基于量子叠加态的量子比较器设计方法 | |
CN112182494B (zh) | 基于Grover量子计算搜索算法的整数分解优化仿真方法及*** | |
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 | |
CN109002894B (zh) | 一种基于量子叠加态的量子加法器设计方法 | |
Livni et al. | An algorithm for training polynomial networks | |
CN113168310B (zh) | 用于转换数字的硬件模块 | |
WO2013055448A1 (en) | Efficient algorithm for fast corner detection | |
CN108875416B (zh) | 椭圆曲线多倍点运算方法和装置 | |
Zhou et al. | Quantum image scaling based on bilinear interpolation with decimals scaling ratio | |
KR102621862B1 (ko) | 중국인의 나머지 정리 기반 이진체 곱셈 장치 및 방법 | |
EP3907664A1 (en) | Processing method and apparatus of capsule network model | |
CN108898228B (zh) | 一种不破坏源操作数的量子加法器设计方法 | |
JP6885460B2 (ja) | 逆像サンプリング装置、逆像サンプリング方法および逆像サンプリングプログラム | |
KR20160051616A (ko) | 순환 반복 합의 결과의 계산장치, 방법 및 프로그램 | |
JP5736336B2 (ja) | 行列ベクトル積演算装置、行列ベクトル積演算方法、及び行列ベクトル積演算プログラム | |
NL2015911B1 (en) | Calculating device and method. | |
EP4273758A1 (en) | Quantum preprocessing method and apparatus, storage medium, and electronic apparatus | |
WO2024038694A1 (ja) | 最適化装置、最適化方法及びプログラム | |
RU2572423C2 (ru) | Способ формирования s-блоков с минимальным количеством логических элементов | |
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 |