1 |
1
동형암호 연산 가속기의 동작 방법에 있어서,제 1 동형 암호문 및 제 2 동형 암호문의 각각에 대한 NTT(Number Theoretic Transform) 연산을 수행하는 단계; 및상기 NTT 연산의 일부 값을 이용한 부분합을 더함으로써 기저 전환 연산을 수행하는 단계를 포함하는 방법
|
2 |
2
제 1 항에 있어서,상기 NTT 연산을 수행하는 단계는, 상기 제 1 동형 암호문에 대응하는 제 1 다항식에 대한 제 1 NTT 연산을 수행하는 단계; 및 상기 제 2 동형 암호문에 대응하는 제 2 다항식에 대한 제 2 NTT 연산을 수행하는 단계를 포함하고,상기 제 1 NTT 연산을 수행한 결과와 상기 제 2 NTT 연산을 수행한 결과에 대하여 요소별 곱셈 연산을 수행하는 단계; 및상기 요소별 곱셈 연산을 수행한 후, iNTT(inverse NTT) 연산을 수행하는 단계를 더 포함하는 방법
|
3 |
3
제 1 항에 있어서,사전에 결정된 개수의 다항식에 대한 상기 기저 전환 연산에 필요한 상기 부분합을 도출하는 단계를 더 포함하고,상기 NTT 연산을 수행하는 단계는,상기 부분합을 도출하면서, 다음 사전에 결정된 개수의 NTT 연산을 병렬적으로 수행하는 단계를 포함하는 방법
|
4 |
4
제 1 항에 있어서,상기 NTT 연산과 상기 기저 전환 연산은 SIMD(Single Instruction Multiple Data) 방식으로 병렬화를 통해 수행되는 것을 특징으로 하는 방법
|
5 |
5
제 1 항에 있어서,상기 기저 전환 연산은 l(2 이상의 정수)개의 곱셈 연산을 하는 복수의 레인들에서 수행되고,상기 복수의 레인들의 각각에 대응하는 레지스터 파일이 배치되고,사전에 결정된 개수의 나머지 다항식은 전체 레지스터 파일에 균등하게 배치되는 것을 특징으로 하는 방법
|
6 |
6
제 5 항에 있어서,상기 기저 전환 연산을 수행하는 단계는,상기 제 1 레벨의 레지스터 파일의 데이터 중에서 일부를 전치 유닛을 통하여 제 2 레벨의 레지스터 파일로 순차적으로 이동하는 단계를 포함하는 방법
|
7 |
7
제 6 항에 있어서,상기 기저 전환 연산을 수행하는 단계는,상기 제 2 레벨의 레지스터 파일의 데이터에 대해 부분합 연산을 완료하는 단계; 및상기 제 2 레벨의 레지스터 파일의 데이터를 이용하여 모듈로 곱셈 및 누적 연산을 수행하는 단계를 더 포함하는 방법
|
8 |
8
제 6 항에 있어서,상기 제 1 레벨의 레지스터 파일의 데이터가 소진될 때까지 상기 제 2 레벨의 레지스터 파일의 데이터에 대한 모듈로 곱셈 및 누적 연산을 수행하는 단계가 반복되는 것을 특징으로 하는 방법
|
9 |
9
동형암호 연산 가속기의 동작 방법에 있어서,제 1 레벨의 레지스터 파일에 기저 전환 연산에서 사용될 데이터를 저장하는 단계;상기 제 1 레벨의 레지스터 파일의 데이터 중에서 일부를 전치 유닛으로 이동하는 단계;상기 전치 유닛으로부터 상기 일부 데이터를 제 2 레벨의 레지스터 파일로 이동하는 단계;상기 제 2 레벨의 레지스터 파일에 저장된 데이터를 이용하여 모듈로 곱셈 및 누적을 수행하는 단계;상기 제 2 레벨의 레지스터 파일의 데이터가 소진되었는 지 판별하는 단계;상기 제 2 레벨의 레지스터 파일의 데이터가 소진되었을 때, 상기 제 1 레벨의 레지스터 파일의 데이터가 소진되었는 지 판별하는 단계; 및상기 제 1 레벨의 레지스터 파일의 데이터가 소진되었을 때, 상기 기저 전환 연산이 완료되었는 지를 판별하는 단계를 포함하는 방법
|
10 |
10
암호문에 대응하는 다항식에 관련된 NTT(Number Theoretic Transform) 연산을 수행하는 수치 이론 변환 유닛; 및 상기 수치 이론 변환 유닛의 결과값의 일부를 이용한 부분합을 더함으로써, 상기 수치 이론 변환 유닛의 기저 집합을 RNS(Residue Number System) 상의 기저 집합으로 변환하는 기저 전환 유닛을 포함하는 동형암호 연산 가속기
|