Memory saving architecture of number theoretic transform for lattice cryptography

동형 암호 시스템을 위한 정수 푸리에 변환의 메모리 절약 구조

  • Published : 2016.05.25

Abstract

In realizing a homomorphic encryption system, the operations of encrypt, decypt, and recrypt constitute major portions. The most important common operation for each back-bone operations include a polynomial modulo multiplication for over million-bit integers, which can be obtained by performing integer Fourier transform, also known as number theoretic transform. In this paper, we adopt and modify an algorithm for calculating big integer multiplications introduced by Schonhage-Strassen to propose an efficient algorithm which can save memory. The proposed architecture of number theoretic transform has been implemented on an FPGA and evaluated.

동형 암호화 시스템을 구현하는 데 있어, encrypt, decrypt, recrypt 연산은 큰 골격을 이루는 연산이다. 각각에 있어 공통된 가장 중요한 연산은 백만 비트가 넘는 큰 정수에 대한 법 곱셈이며, 이것은 푸리에 변환을 반복적으로 수행하여 얻을 수 있는 매우 큰 정수에 대한 곱셈 연산과 곱셈 결과에 대한 법 간소화를 요구한다. 본 논문에서는 Schonhage-Strassen이 제안한 큰 정수에 대한 법 곱셈을 수행하는 알고리즘을 응용하여, 이를 다시 메모리를 절약할 수 있는 효율적인 알고리즘을 제안하고 구현한다. 제안한 정수 푸리에 변환 구조는 FPGA에 구현하여 성능을 비교하였다.

Keywords