표제지
국문요약
Abstract
목차
제1장 서론 15
제2장 본론 20
제1절 배경 지식 20
1.1. 양자 컴퓨터(Quantum Computer) 21
1.2. 양자내성암호(Post-Quantum Cryptography) 21
1.3. Ring-LWE 암호 알고리즘 24
1.4. 동형암호 (HE, Homomorphic Encryption) 25
1.5. 동형암호 표준화 기구 (Homomorphic Encryption Standardization) 27
1.6. Microsoft SEAL Library 28
제2절 CKKS 암호 알고리즘 29
2.1. 인코드(Encode)/디코드(Decode) 30
2.2. RNS 기반의 동형암호 31
2.3. 계층적 동형 암호 33
제3절 NTT 아키텍처 36
3.1. NTT-기반 다항식 곱셈기 38
3.2. 파이프라인-기반 NTT 구조 42
3.3. 제안된 NTT 구조 45
3.4. 제안된 NTT 구조 결과 및 성능 분석 54
제4절 CKKS 기반 동형암호 아키텍처 58
4.1. 암호화 구조 59
4.2. 모듈러 스위치(ModSwitch) 구조 62
4.3. 복호화 구조 63
제5절 아키텍처 구현 및 성능 비교 65
5.1. CKKS 암호 아키텍처의 기능 검증 65
5.2. CKKS 동형암호 아키텍처 구현 결과 분석 67
제3장 결론 71
참고문헌 73
표 1. 양자내성암호 공모전 3 차 후보군 종류 23
표 2. 동형암호 표준화 기구 제안 파라미터 28
표 3. SEAL 에서 제안하는 Level 6 동형암호 파라미터 37
표 4. 제안하는 CKKS 기반 동형암호의 파라미터 38
표 5. 제안한 NTT/INTT의 구현 및 성능비교 (n=2¹⁴) 56
표 6. 하드웨어 자원 대비 데이터 처리량 비교 57
표 7. CPU 대비 연산 속도 성능 비교 68
표 8. 제안된 NTT 를 이용한 CKKS 암호 아키텍처 성능 비교 69
그림 1. Ring-LWE 블록도 24
그림 2. 동형암호 데이터 흐름 26
그림 3. 동형암호 기반 암호화된 데이터 흐름 26
그림 4. CKKS 기반 동형암호 신호 흐름도 30
그림 5. RNS 데이터 분해 32
그림 6. 데이터의 계층적 구조 33
그림 7. Cooley-Tukey 알고리즘 신호 흐름도 (n=2³) 41
그림 8. Gentlemen-Sande 알고리즘 신호 흐름도 (n=2³) 41
그림 9. NTT-기반 다항식 곱셈기 블록도 41
그림 10. SDF-기반 NTT 구조 42
그림 11. 2-병렬 MDF-기반 NTT 아키텍처 (n=2¹⁴) 43
그림 12. 2-병렬 MDF-기반 INTT 아키텍처 (n=2¹⁴) 43
그림 13. 64-point NTT 구조의 신호 흐름도 44
그림 14. 제안된 PE1 블록도 45
그림 15. 제안된 PE2 구조 46
그림 16. 60 비트 모듈로 곱셈기 구조 47
그림 17. 60 비트 정수 곱셈기(IntMult) 연산 방법 50
그림 18. 48 비트 정수 곱셈기(IntMult) 연산 방법 50
그림 19. 48 비트 정수 곱셈기(IntMult) 블록도 51
그림 20. 60 비트 specific modified modular multiplier 51
그림 21. Half Mult_Q 구조 52
그림 22. Half Mult_T 구조 52
그림 23. Modular Reduction 구조 54
그림 24. CKKS 동형암호 시스템 구조 59
그림 25. 암호화 아키텍처 블록도 60
그림 26. 암호화 아키텍처 타이밍도 60
그림 27. 상세한 CKKS 기반 암호화 아키텍처 61
그림 28. 모듈러 덧셈기 62
그림 29. 모듈러 스위치 구조 62
그림 30. 간단한 복호화 모듈 구조 64
그림 31. 상세한 복호화 모듈 구조 64
그림 32. 암호화 아키텍처 시뮬레이션 결과 66
그림 33. 모듈러 스위치 아키텍처 시뮬레이션 결과 66
그림 34. MS SEAL 과 암호화 모듈 시뮬레이션 결과 비교 67