1 |
1
컴퓨팅 장치에서 서로 다른 동형 연산들을 통합하기 위한 방법에서,통신 인터페이스에서, 암호문 생성 장치로부터 동형 암호문과 암호 스킴 정보를 수신하는 단계;동형 곱셈 연산기에서, 상기 동형 암호문에 대해 동형 곱셈 연산을 수행하는 단계;메인 컨트롤러에서, 상기 암호 스킴 정보를 분석하여 재선형화 연산기에 의해 수행되는 재선형화 연산 및 키 변환 연산기에 의해 수행되는 키 변환 연산 중에서 어느 하나의 연산을 결정하는 단계;상기 재선형화 연산기 또는 상기 키 변환 연산기에서, 상기 결정된 연산을 수행하는 단계; 및모듈러스 변환 연산기에서, 상기 결정된 연산의 연산 결과에 대해 모듈러스 변환 연산을 수행하는 단계를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
2 |
2
제1항에서, 상기 암호 스킴 정보는,상기 동형 암호문의 암호 스킴을 식별하기 위한 정보이고,상기 암호 스킴은,BGV(Brakerski, Gentry, and Vaikuntanathan) 스킴, BFV(Brakerski, Fan, and Vercauteren) 스킴 및 CKKS(Cheon, Kim, Kim and Song) 스킴을 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
3 |
3
제2항에서,상기 암호 스킴은,BGV(Brakerski, Gentry and Vaikuntanathan) 스킴, BFV(Brakerski, Fan, and Vercauteren) 스킴 및 CKKS(Cheon, Kim, Kim and Song) 스킴 중에서 어느 하나를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
4 |
4
제3항에서,상기 어느 하나의 연산을 결정하는 단계는,상기 암호 스킴이 상기 BFV 또는 상기 CKKS 스킴인 경우, 상기 재선형화 연산을 결정하는 단계; 및상기 암호 스킴이 상기 BGVS 스킴인 경우, 상기 키 변환 연산을 결정하는 단계를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
5 |
5
제1항에서,상기 암호 스킴 정보는,상기 동형 암호문에 포함된 에러값의 비트 위치를 식별하기 위한 정보인 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
6 |
6
제5항에서,상기 어느 하나의 연산을 결정하는 단계는,상기 에러값의 비트 위치가 하위 비트인 경우, 상기 재선형화 연산을 결정하는 단계; 및상기 에러값의 비트 위치가 상위 비트인 경우, 상기 키 변환 연산을 결정하는 단계를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
7 |
7
제1항에서, 상기 어느 하나의 연산을 결정하는 단계는,상기 메인 컨트롤러에서, 상기 암호 스킴 정보를 분석하여 상기 동형 암호문의 암호 스킴을 결정하는 단계;상기 메인 컨트롤러에서, 상기 결정된 암호 스킴에 대응하는 선택 신호를 생성하는 단계; 및선택기에서, 상기 선택 신호에 따라 상기 동형 곱셈 연산기의 출력을 상기 재선형화 연산기 또는 상기 키 변환 연산기의 입력에 연결하는 단계를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
8 |
8
제7항에서, 상기 결정된 암호 스킴은 BGV 스킴, BFV 스킴 및 CKKS 스킴 중에서 어느 하나이고,상기 연결하는 단계는,상기 BFV 스킴 또는 상기 CKKS 스킴에 대응하는 상기 선택 신호에 따라, 상기 동형 곱셈 연산기의 출력을 상기 재선형화 연산기의 입력에 연결하는 단계; 및상기 BGV 스킴에 대응하는 상기 선택 신호에 따라, 상기 동형 곱셈 연산기의 출력을 상기 키 변환 연산기의 입력에 연결하는 단계를 포함하는 동형 암호에서 서로 다른 동형 연산들을 통합하기 위한 방법
|
9 |
9
암호문 생성 장치로부터 동형 암호문과 암호 스킴 정보를 수신하는 통신 인터페이스;상기 동형 암호문에 대해 동형 곱셈 연산을 수행하는 제1 연산기;상기 동형 곱셈 연산의 연산 결과에 대해 재선형화 연산을 수행하는 제2 연산기;상기 동형 곱셈 연산의 연산 결과에 대해 키 변환 스위칭 연산을 수행하는 제3 연산기; 및상기 재선형화 연산의 연산 결과 또는 상기 키 변환 스위칭 연산의 연산 결과에 대해 모듈러스 변환 연산을 수행하는 제4 연산기를 포함하고,상기 암호 스킴 정보를 기반으로 선택 신호를 생성하는 메인 컨트롤러; 및상기 선택 신호에 따라 상기 동형 곱셈 연산의 연산 결과를 상기 제2 연산기 또는 상기 제3 연산기로 입력하는 선택기를 더 포함하는 컴퓨팅 장치
|
10 |
10
제9항에서,상기 제1 연산기, 상기 제2 연산기, 상기 제3 연산기, 상기 제4 연산기 및 상기 선택기는 하나의 전용 칩에 통합되는 컴퓨팅 장치
|
11 |
11
제9항에서,상기 메인 컨트롤러는,상기 암호 스킴 정보를 분석하여 상기 동형 암호문의 암호 스킴을 판단하고, 상기 판단된 암호 스킴에 대응하는 상기 선택 신호를 생성하는 컴퓨팅 장치
|
12 |
12
제11항에서, 상기 메인 컨트롤러는,상기 암호 스킴이 BFV 스킴 또는 CKKS 스킴인 경우, 상기 동형 곱셈 연산의 연산 결과를 상기 제2 연산기에 입력하기 위한 상기 선택 신호를 생성하고,상기 암호 스킴이 BGV 스킴인 경우, 상기 동형 곱셈 연산의 연산 결과를 상기 제3 연산기에 입력하기 위한 상기 선택 신호를 생성하는 컴퓨팅 장치
|
13 |
13
제9항에서,상기 암호 스킴 정보는,상기 동형 암호문을 구성하는 비트열에서 에러값을 나타내는 비트 위치를 식별하기 위한 정보인 컴퓨팅 장치
|
14 |
14
제13항에서,상기 메인 컨트롤러는,상기 에러값을 나타내는 비트 위치가 하위 비트인 경우, 상기 동형 곱셈 연산의 연산 결과를 상기 제2 연산기로 입력하기 위한 상기 선택 신호를 생성하고,상기 에러값을 나타내는 비트 위치가 상위 비트인 경우, 상기 동형 곱셈 연산의 연산 결과를 상기 제3 연산기로 입력하기 위한 상기 선택 신호를 생성하는 컴퓨팅 장치
|
15 |
15
제9항에서,상기 선택기는 디멀티플렉서인 컴퓨팅 장치
|
16 |
16
제9항에서,상기 제1 연산기는,상기 동형 곱셈 연산을 고속 병렬 처리하기 위해 NTT(Number Theoretic Transform) 기법과 RNS(Residue Number System) 기법에 따라 구현된 로직 회로를 포함하는 구현된 컴퓨팅 장치
|