메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

이재혁 (인하대학교, 인하대학교 대학원)

지도교수
이한호
발행연도
2023
저작권
인하대학교 논문은 저작권에 의해 보호받습니다.

이용수25

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
본 논문에서는 동형암호를 위한 재구성형 CKKS-기반 암호 아키텍처를 제안하고 FPGA를 이용해 하드웨어로 구현한다.
동형암호는 데이터를 암호화된 상태에서 연산할 수 있는 암호화 방법으로 클라우드 서버 내에 원본 데이터가 남지 않게 해주어 차세대 암호 알고리즘으로 주목받고 있다. Ring-LWE(Learning With Error)는 에러를 삽입하여 데이터의 내용을 유추하기 어렵게 하는 암호화 기법으로 양자컴퓨터에 내성을 지니고 있어 주목받고 있다. 동형암호의 BGV, BFV, CKKS 등의 알고리즘이 Ring-LWE로 만들어져 높은 보안성을 자랑한다.
이중 Cheon-Kim-Kim-Song에 의해 개발된 CKKS Scheme은 HEAAN(Homomorphic Encryption for Arithmetic of Approximate Numbers) 알고리즘의 일종으로 암호화된 결과의 근사치를 제공하는 근사연산 동형암호 아키텍처이다. CKKS 동형암호 알고리즘은 Ring-LWE의 방법을 사용하며 환(Ring) 내에서 계산된다. 동형연산을 수행할 수 있는 횟수인 Level의 개념과 노후화된 암호문을 새 암호문으로 교환해주는 재부팅(Bootstrapping) 알고리즘을 도입하였다. 또한, 효율적인 계산을 위해 RNS(Residue Number System)를 통해 환 내에서 계산되는 Q값을 나눠 NTT(Number Theoretic Transform) 연산을 통해 다항식 곱셈들을 가속화한다.
동형암호는 다른 Ring-LWE 암호와 다르게 복수의 표준을 지원한다. 동형암호표준화기구(Homomorphic Encryption Standardization)에서 지정한 동형암호의 표준은 기구에서 지정한 수학적 정의를 만족하는 어떠한 수도 사용할 수 있고, 이는 동형암호 사용자가 정밀도, 연산횟수 등 사용자의 용도에 맞게 선택할 수 있다는 뜻이다. 동형암호 아키텍처는 사용자가 선택하는 다양한 길이와 모듈러스를 지원하는 하드웨어를 제공해야 한다. 따라서 동형암호 아키텍처는 다른 Ring-LWE 암호에서 목표로 하는 병렬화를 통한 빠른 성능구현과 더불어 복수의 표준에 만족하는 다양한 길이, 다양한 모듈러스를 지원해야 한다. 기존의 CKKS-기반 암호 아키텍처는 가변적이지 못하여 동형암호 사용자가 동형연산의 정밀도와 동형연산의 횟수를 선택하지 못한다. 따라서 CKKS-기반 암호 아키텍처를 다양한 길이와 모듈러스를 지원하도록 가변적인 구조를 갖는 하드웨어 설계를 하면, 암호화 아키텍처를 간소화하고 동형암호 사용자에게 정밀도, 동형연산 횟수, 암호화 가능한 메시지의 수 등 여러 가지 선택권을 줄 수 있어 차세대 동형암호 가속기의 개발을 가속하고 상용화를 앞당길 것으로 기대된다.
본 논문에서는 동형암호표준화기구에서 제시한 표준을 준수하는 동형암호를 위한 재구성형 CKKS-기반 암호 아키텍처를 제안하고 구현한다. 제안한 구조의 FPGA에서 LUT, FF, DSP, BRAM의 하드웨어 자원사용량과 데이터 처리량을 통해 성능을 분석한다

목차

제1장 서론 1
제2장 본론 3
제1절 배경 지식 3
1.1. 양자컴퓨터(Quantum Computer) 5
1.2. 양자내성암호(Post-Quantum Cryptography) 6
1.3. Ring-LWE 암호시스템 8
1.4. 동형암호(Homomorphic Encryption) 11
1.5. 동형암호 표준화 기구(Homomorphic Encryption Standardization) 13
1.6. Microsoft SEAL Library 14
제2절 CKKS 암호 알고리즘 16
2.1. 인코드(Encode)/ 디코드(Decode) 17
2.2. 암호화(Encryption)/ 복호화(Decryption) 19
2.3. 동형 연산(Homomorphic Operations) 21
2.4. 재부팅(Bootstrapping) 23
2.5. 매개변수(Parameter) 24
제3절 NTT 알고리즘 25
3.1. FFT 알고리즘 26
3.2. 회전인자(Twiddle Factor) 27
3.3. NTT 다항식 곱셈기 27
제4절 재구성형 CKKS-기반 동형암호 아키텍처 33
4.1. 제안하는 재구성형 CKKS-기반 암호화 아키텍처 34
4.2. 모듈러 스위치(ModSwitch) 아키텍처 37
4.3. MDF NTT/INTT 아키텍처 40
4.4. 모듈러 연산기 아키텍처 42
4.5. 제안하는 재구성형 CKKS-기반 복호화 아키텍처 45
제5절 구현 및 성능 비교 46
5.1. 제안하는 재구성형 CKKS-기반 암호화 아키텍처의 기능 및 성능 분석 46
5.2. 기존 CKKS-기반 암호화 아키텍처와 비교 분석 51
5.3 Microsoft SEAL Library와 비교 분석 52
제3장 결론 54
참고문헌 56

최근 본 자료

전체보기

댓글(0)

0