F3 6m 효율적 곱셈을 위한 명시적 공식
초록
본 논문은 특수한 경우인 3차 특성 체계 F₃^{6m} (여기서 m은 소수)에서의 곱셈 연산을 기존 18번의 F₃^m 곱셈에서 15번으로 감소시키는 새로운 알고리즘을 제시한다. FFT 기반의 변환과 명시적 곱셈 공식들을 이용해 구현 효율성을 높였으며, 소프트웨어 실험을 통해 실행 시간 단축을 입증하였다.
상세 분석
논문은 먼저 Tate 페어링 계산에서 F₃^{6m} 필드 연산이 차지하는 비중을 강조한다. 기존 구현들은 F₃^{6m} 을 F₃^{m} 위의 6차 확장으로 모델링하고, Karatsuba‑type 기법이나 일반적인 다항식 곱셈을 적용해 18 번의 F₃^{m} 곱셈을 필요로 한다. 저자들은 이러한 구조를 재검토하고, 6차 확장을 3개의 2차 확장과 2개의 3차 확장으로 분해한 뒤, 각 단계에서 빠른 푸리에 변환(FFT) 개념을 차용한다. 구체적으로, 다항식 a(x)=a₀+a₁x+…+a₅x⁵ 와 b(x) 를 3개의 블록 (a₀,a₁,a₂)와 (a₃,a₄,a₅) 으로 나누어 x³‑1 다항식에 대한 원시 3제곱근을 이용한 DFT를 수행한다. 이 과정에서 선형 변환은 F₃^{m} 내에서만 이루어지며, 곱셈 단계는 블록 간의 교차 항을 계산하는 데 집중된다. 저자들은 교차 항을 최소화하기 위해 “중간값” M₁,…,M₅ 을 정의하고, 이를 이용해 총 15번의 F₃^{m} 곱셈만으로 최종 결과를 복원한다. 이때 사용되는 공식은 전통적인 Toom‑Cook‑3과 유사하지만, 3차 원시근을 활용함으로써 대칭성을 확보하고 불필요한 덧셈·뺄셈을 감소시킨다. 복원 단계에서는 역DFT를 적용해 원래의 6차 다항식 형태로 되돌리며, 이 과정에서도 추가적인 곱셈이 요구되지 않는다. 복잡도 분석에서는 각 단계의 연산량을 정량화하고, 특히 곱셈 비용이 가장 큰 F₃^{m} 연산을 15회로 제한함으로써 이론적 최적에 근접함을 보인다. 구현 측면에서는 C언어 기반의 라이브러리를 작성하고, 다양한 m 값(예: m=167, m=239 등)에서 벤치마크를 수행했다. 결과는 기존 18곱셈 구현 대비 평균 12% 이상의 실행 시간 감소를 보여준다. 또한 메모리 사용량은 변동이 없으며, 파이프라인 최적화와 SIMD 명령어 활용을 통해 추가적인 성능 향상이 가능함을 제시한다. 전체적으로 이 논문은 FFT‑기반 구조를 활용한 F₃^{6m} 곱셈 최적화에 새로운 길을 제시하며, 특히 Duursma‑Lee 방법을 적용하는 암호 시스템에서 실질적인 이점을 제공한다.