FPGA 기반 고속 곱셈기 설계와 3의 97제곱 및 3의 582제곱 유한체
초록
본 논문은 디지털 레벨 LFSR 구조에 카라츠바 알고리즘을 적용해 3진수 확장체 F₃⁹⁷와 그 6배 차수인 F₃⁵⁸²의 곱셈 연산을 효율적으로 구현한 FPGA 설계 방식을 제시한다. 기존 연구 대비 회로 면적을 크게 절감하면서 연산 속도는 유지하거나 향상시켰으며, 특히 F₃⁵⁸²에서 필요한 F₃⁹⁷ 곱셈 횟수를 18회에서 15회로 감소시킨 새로운 수식도 제안한다.
상세 분석
이 논문은 페어링 기반 암호학에서 핵심적인 역할을 하는 고차 확장체 F₃⁹⁷와 F₃⁵⁸²에 대한 효율적인 곱셈 연산을 목표로 한다. 저자들은 먼저 디지털 레벨 LFSR(Linear Feedback Shift Register) 구조를 기반으로 한 곱셈기를 설계한다. 전통적인 LFSR 곱셈기는 각 디지털 단계에서 전체 비트를 동시에 처리하므로 하드웨어 자원 소모가 크다. 이를 개선하기 위해 저자들은 ‘digit‑level’ 접근법을 채택한다. 즉, 입력 피연산자를 여러 개의 작은 디지털(‘digit’) 블록으로 분할하고, 각 블록마다 독립적인 곱셈을 수행한 뒤 결과를 적절히 합치는 방식이다. 이때 각 디지털 블록 내에서 발생하는 곱셈 연산을 최적화하기 위해 카라츠바(Karatsuba) 알고리즘을 적용한다. 카라츠바는 전통적인 곱셈에 비해 곱셈 횟수를 3/2배 정도 감소시키는 분할‑정복 기법으로, 특히 FPGA와 같은 병렬 하드웨어에서 연산량 감소와 레지스터 사용량 절감에 큰 이점을 제공한다.
구체적으로, 저자들은 3진수(트리시스) 연산 특성을 고려해 카라츠바 분할을 2‑차원 형태로 확장하였다. 이는 기존 2진수 기반 구현에서 흔히 사용되는 2‑차원 카라츠바와는 달리, 3진수의 ‘0,1,2’ 세 가지 값에 맞춰 중간 결과를 효율적으로 재사용하도록 설계되었다. 결과적으로 각 디지털 블록당 필요한 기본 곱셈 수가 크게 감소하고, 그에 따라 전체 LFSR 회로의 논리 셀 수와 DSP 블록 사용량이 현저히 낮아졌다.
다음으로 저자들은 F₃⁹⁷에 대한 구체적인 구현 결과를 제시한다. 제안된 구조는 기존 문헌에서 보고된 동일 차수 확장체에 대한 FPGA 구현과 비교했을 때, 동일 클럭 주파수에서 약 20 % 정도의 면적 절감과 10 % 정도의 최대 클럭 주파수 향상을 달성했다. 특히, 사용된 FPGA 플랫폼이 Xilinx Virtex‑7 시리즈임을 감안하면, 논문에서 제시한 설계는 실제 암호 시스템에 적용하기에 충분히 실용적이다.
가장 혁신적인 부분은 F₃⁵⁸²(=F₃^{6·97})에 대한 곱셈 공식의 개량이다. 기존 방법에서는 F₃⁹⁷ 곱셈을 18번 수행해야 했지만, 저자들은 새로운 다항식 전개와 대칭성을 이용해 곱셈 횟수를 15번으로 줄이는 수식을 도출하였다. 이 과정에서 ‘중간 결과 재활용’과 ‘계수 행렬의 희소성’에 대한 정밀한 분석이 이루어졌으며, 이를 통해 연산 복잡도와 전력 소모를 동시에 낮출 수 있었다.
마지막으로, 논문은 제안된 구조의 확장성을 논의한다. 디지털 블록의 크기와 카라츠바 단계 수는 설계 목표에 따라 조정 가능하며, 이는 다양한 차수의 확장체에 대해 동일한 설계 흐름을 적용할 수 있음을 의미한다. 또한, LFSR 기반 구조는 파이프라인화가 용이해 고속 스트리밍 암호 프로세서에 적합하다. 전체적으로 이 연구는 FPGA 기반 암호 가속기에 필요한 고차 확장체 연산을 실용적인 수준으로 끌어올리는 중요한 기여를 한다.
댓글 및 학술 토론
Loading comments...
의견 남기기