본 논문에서는 동형암호를 위한 재구성형 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의 하드웨어 자원사용량과 데이터 처리량을 통해 성능을 분석한다
In this paper, we propose a reconfigurable CKKS-based encryption architecture for homomorphic encryption and implement it in hardware using FPGA. Homomorphic encryption is a cryptographic technique that allows operations to be performed on encrypted data, ensuring that the original data remains undisclosed within cloud server. The Ring-LWE(Learning With Error) technique is employed to enhance data confidentiality by introducing errors, thereby making it resistant to quantum computers. Notably, homomorphic encryption algorithms such as BGV, BFV, and CKKS, all based on Ring-LWE, provide high levels of security. Among these algorithms, the CKKS scheme, developed by Cheong-Kim-Kim-Song, stands out as an approximate homomorphic encryption architecture that enables the computation of approximate results from encrypted data. It falls under the category of Homomorphic Encryption for Arithmetic of Approximate Numbers(HEAAN) algorithms and utilizes the Ring-LWE approach within a ring structure. To facilitate homomorphic operations, we introduce the concept of "Level," which represent the number of permissible homomorphic operations, along with a bootstrapping algorithm that enables the exchange of aging ciphertexts with fresh ones. Moreover, for efficient computations, we employ the Residue Number System(RNS) to divide the Q values calculated within the ring, thereby accelerating polynomial multiplications through Number Theoretic Transform(NTT) operations. Unlike other Ring-LWE ciphers, homomorphic encryption supports multiple standards. The Homomorphic Encryption Standardization organization specified that any value satisfying the mathematical definition set by the organization can be employed as the homomorphic encryption standard. This flexibility allows homomorphic encryption users to choose a standard based on their specific requirements, such as precision and the number of operations. Consequently, homomorphic encryption architectures should provide hardware support for various lengths and moduli chosen by users. In addition to meeting multiple standards, these architectures should strive for fast performance through parallelization, a key objective shared with other Ring-LWE ciphers. Unfortunately, existing CKKS-based encryption architectures lack variability, preventing homomorphic encryption users from selecting the precision and number of operations for their homomorphic computations. Therefore, designing a CKKS-based encryption architecture that supports various lengths and moduli would simplify the encryption process and offer users a range of options, including precision, number of homomorphic operations, and number of encrypted messages. This would accelerate the development and commercialization of next-generation homomorphic encryption accelerators. In this paper, we propose and implement a reconfigurable CKKS-based encryption architecture for homomorphic encryption that complies with the standards outlined by the Homomorphic Encryption Standardization organization. We analyze the performance of the proposed architecture by evaluating the hardware resource utilization, including LUT, FF, DSP, and BRAM, as well as the data throughput in an FPGA implementation.