표제지
목차
국문요약 10
Abstract 12
제1장 서론 15
제2장 본론 18
제1절 배경 지식 18
1.1. Ring-LWE 20
1.2. 양자내성암호(Post-Quantum Cryptography) 24
1.3. 동형암호(Homomorphic Encryption) 26
1.4. CKKS 완전동형암호(CKKS Fully Homomorphic Encryption) 29
1.5. 완전동형암호 SW 라이브러리 34
제2절 키 교환 알고리즘 35
2.1. NTT/INTT 알고리즘 36
2.2. 기저 변환(Base Conversion) 알고리즘 40
2.3. 모듈로 확장/축소(Modulus Raise/Down) 알고리즘 41
2.4. 키 교환(Key-Switching) 알고리즘 42
제3절 가변적인 키 교환 아키텍처 45
3.1. 제안하는 가변적인 키 교환 아키텍처 46
3.2. 가변 연산 코어 아키텍처 49
3.3. 모듈러 곱셈기, 덧셈기 57
제4절 구현 및 성능 비교 60
4.1. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처의 기능 및 성능 분석 61
4.2. 가변 연산 코어 아키텍처와 기존 NTT/INTT 모듈간의 비교 분석 66
4.3. 제안하는 회전 인자 생성기의 성능 분석 68
4.4. OpenFHE 라이브러리와 비교 분석 68
제3장 결론 70
참고문헌 72
표 1. 양자내성암호 공모전 3차 최종 후보군 알고리즘 25
표 2. 양자내성암호 공모전 표준화 알고리즘 26
표 3. 세대별 완전동형암호 28
표 4. CKKS 완전동형암호 파라미터 30
표 5. 제안하는 아키텍처의 동형암호 시스템 파라미터 47
표 6. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처의 FPGA 구현 파라미터 세팅 61
표 7. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처의 입출력 벡터 크기 64
표 8. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처 세부 연산의 Latency 65
표 9. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처의 FPGA 구현 결과(Alveo U250 FPGA) 66
표 10. 기존의 NTT/INTT 모듈과 본 논문이 제안하는 핵심 모듈인 가변 연산 코어 아키텍처와의 비교 분석 결과 67
표 11. 회전 인자 생성기의 성능 비교 68
표 12. CPU 대비 연산속도 성능 비교 69
그림 1. Ring-LWE 블록도 20
그림 2. Ring-LWE 동작 21
그림 3. 격자의 예 및 격자 표현식 22
그림 4. NTT를 사용하는 양자내성암호 (CRYSTALS-Kyber) 25
그림 5. CKKS 기반 완전동형암호를 적용한 클라우드 컴퓨팅 27
그림 6. 동형암호 기반 클라우드 컴퓨팅 28
그림 7. CKKS-기반 완전동형암호의 곱셈 레벨 30
그림 8. CKKS-기반 완전동형암호의 Data Flow 31
그림 9. Cooley-Tukey 알고리즘의 Data Flow 38
그림 10. Cooley-Tukey Butterfly Unit 38
그림 11. Gentleman-Sande 알고리즘의 Data Flow 39
그림 12. Gentleman-Sande Butterfly Unit 39
그림 13. CKKS 동형 곱셈의 Data Flow 43
그림 14. 제안하는 CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처 블록도 46
그림 15. 키 교환 연산의 타이밍도 48
그림 16. 모듈로 확장-키 곱셈 연산의 타이밍도 48
그림 17. 모듈로 축소 연산의 타이밍도 48
그림 18. 기저 변환 연산의 타이밍도 49
그림 19. 제안하는 가변적인 Butterfly Unit 아키텍처 블록도 50
그림 20. NTT/INTT 모드 선택 시 Butterfly Unit의 Data Flow 51
그림 21. NTT/INTT 모드 선택 시 가변 연산 코어의 Data Flow 52
그림 22. 가변 연산 코어 아키텍처의 NTT 연산 동작 과정 52
그림 23. 가변 연산 코어 아키텍처의 INTT 연산 동작 과정 53
그림 24. 회전 인자 생성기 아키텍처 블록도 54
그림 25. Butterfly Unit 아키텍처의 MAC 연산 동작 과정 56
그림 26. 가변 연산 코어 아키텍처의 MAC 연산 동작 과정 56
그림 27. Barrett modular reduction 기반 모듈러 곱셈기 블록도 58
그림 28. CKKS-기반 완전동형암호를 위한 가변적인 키 교환 아키텍처의 FPGA 기반 시뮬레이션 파형 63
그림 29. CKKS-기반 완전동형암호를 위한 OpenFHE 시뮬레이션 63