Skip to main content
QUICK REVIEW

[논문 리뷰] Faster Multiplication for Long Binary Polynomials

Ming-Syan Chen⋆, Chen-Mou Cheng|arXiv (Cornell University)|2017. 08. 31.
Coding theory and cryptography참고 문헌 18인용 수 6
한 줄 요약

이 논문은 최적화된 덧셈형 FFT(LCH FFT)를 활용하고 타워 필드 구조와 SIMD 명령어를 조합함으로써 GF(2)에서의 장수 이진 다항식 곱셈을 더 빠르게 수행하는 방법을 제시한다. 기존의 곱셈형 FFT 기반 방법과 비교해 2^28 및 2^29비트 다항식에서 약 40%의 계산 시간 단축을 달성하며, 주로 곱셈 복잡도가 낮고 VPSHUFB 명령어를 활용한 효율적인 부분필드 곱셈 덕분이다.

ABSTRACT

We set new speed records for multiplying long polynomials over finite fields of characteristic two. Our multiplication algorithm is based on an additive FFT (Fast Fourier Transform) by Lin, Chung, and Huang in 2014 comparing to previously best results based on multiplicative FFTs. Both methods have similar complexity for arithmetic operations on underlying finite field; however, our implementation shows that the additive FFT has less overhead. For further optimization, we employ a tower field construction because the multipliers in the additive FFT naturally fall into small subfields, which leads to speed-ups using table-lookup instructions in modern CPUs. Benchmarks show that our method saves about $40 \%$ computing time when multiplying polynomials of $2^{28}$ and $2^{29}$ bits comparing to previous multiplicative FFT implementations.

연구 동기 및 목표

  • 암호학 및 수론에서 기본적인 연산인 GF(2)[x]에서의 장수 이진 다항식 곱셈의 효율성을 향상시키기 위해.
  • 대규모 차수 다항식 곱셈에서 이전의 곱셈형 FFT 기반 알고리즘의 성능 한계를 극복하기 위해.
  • 현대의 덧셈형 FFT, 특히 LCH FFT 변종이 하드웨어 최적화된 부분필드 산술과 조합될 경우 실질적으로 기존의 곱셈형 FFT보다 뛰어난 성능을 보임을 입증하기 위해.
  • CPU 수준의 병렬 처리를 SIMD 명령어(예: VPSHUFB)를 통해 활용해 덧셈형 FFT 프레임워크 내에서 부분필드 곱셈을 가속화하기 위해.

제안 방법

  • 정규적인 버블리지 구조를 가진 일반화된 덧셈형 FFT 변종인 LCH FFT 알고리즘을 채택하여 구현을 단순화하고 오버헤드를 감소시킨다.
  • 표현을 간소화하기 위해 부분필드(예: F_{2^32}, F_{2^128})를 기반으로 한 타워 필드 표현을 구성하여 VPSHUFB와 같은 테이블 기반 명령어를 활용한 효율적 곱셈을 가능하게 한다.
  • SIMD 명령어를 사용해 다수의 8비트 필드 곱셈을 동시에 수행함으로써 부분필드 내 곱셈 비용을 감소시킨다.
  • 표준 표현과 타워 필드 표현 간의 기저 변환을 최적화하여 성능 저하를 최소화한다.
  • 현대의 x86-64 CPU에 AVX-512 지원을 고려해 수작업 최적화된 어셈블리어를 고려한 C로 알고리즘을 구현하며, 향후 확장성을 고려한다.
  • 다양한 다항식 크기에서 알고리즘의 프로파일링과 튜닝을 수행하며, 성능 향상이 가장 두드러지는 2^28 및 2^29 비트 영역에 집중한다.

실험 결과

연구 질문

  • RQ1이론적 복잡도가 유사한데도 불구하고, 대규모 차수 이진 다항식 곱셈에서 덧셈형 FFT가 실질적으로 곱셈형 FFT보다 뛰어난 성능을 보일 수 있는가?
  • RQ2타워 필드 구조와 부분필드 산술의 사용이 덧셈형 FFT 기반 곱셈의 성능에 어떤 영향을 미치는가?
  • RQ3VPSHUFB와 같은 SIMD 명령어가 덧셈형 FFT 파이프라인 내에서 필드 곱셈 비용을 얼마나 감소시킬 수 있는가?
  • RQ4최적화된 덧셈형 FFT 곱셈기에서 구성 요소들(기저 변환, 버블리지, 점 곱셈, 표현 방식 전환) 간의 상대적 비용 분포는 어떻게 되는가?
  • RQ5알고리즘적 및 저수준 최적화를 통해 덧셈형 FFT와 곱셈형 FFT 간의 성능 격차를 뒤집을 수 있는가?

주요 결과

  • 제안된 덧셈형 FFT 기반 곱셈은 이전의 곱셈형 FFT 구현 대비 2^28 및 2^29비트 다항식에서 런타임을 약 40% 감소시킨다.
  • LCH FFT 변종은 더 규칙적인 버블리지 구조를 제공하여 이전의 덧셈형 FFT보다 알고리즘 오버헤드를 감소시키고 성능을 향상시킨다.
  • VPSHUFB 명령어를 활용한 부분필드 곱셈은 128비트 워드당 평균 2회 이내의 VPSHUFB 연산으로 줄어들었으며, 이는 표준 F_{2^128}에서의 5회 PCLMULQDQ 명령어 대비 유의미한 개선이다.
  • 기저 변환 비용은 F_{2^256} 타워 필드에서 더 나은 메모리 정렬과 액세스 패턴 덕분에 감소하였다.
  • 프로파일 분석 결과 버블리지 처리와 점 곱셈이 주요 비용 요소를 차지하지만, 부분필드 최적화 덕분에 표현 방식 전환 비용 증가에도 불구하고 전체적으로는 성능 향상이 이루어졌다.
  • 향후 AVX-512 지원으로 알고리즘이 더욱 가속화될 것으로 기대되나, 두 배의 성능 향상은 기대하기 어렵다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.