• 제목/요약/키워드: Toom-Cook multiplication

검색결과 4건 처리시간 0.016초

3-way Toom-Cook 곱셈과 고속 축약 알고리듬을 이용한 521-비트 고성능 모듈러 곱셈기 (A 521-bit high-performance modular multiplier using 3-way Toom-Cook multiplication and fast reduction algorithm)

  • 양현준;신경욱
    • 한국정보통신학회논문지
    • /
    • 제25권12호
    • /
    • pp.1882-1889
    • /
    • 2021
  • 본 논문은 타원곡선 암호에 핵심 연산으로 사용되는 모듈러 곱셈의 고성능 하드웨어 구현에 대해 기술한다. NIST P-521 곡선에 적합한 521-비트 고성능 모듈러 곱셈기를 3-way Toom-Cook 정수 곱셈과 고속 축약 알고리듬을 적용하여 설계하였다. 정수곱셈 결과에 3이 곱해져 출력되는 3-way Toom-Cook 알고리듬의 속성을 고려하여, 피연산자에 1/3을 곱한 Toom-Cook 도메인 상에서 모듈러 곱셈이 연산되도록 구현하였다. 모듈러 곱셈기를 xczu7ev FPGA 디바이스에 구현하여 하드웨어 동작을 검증하였으며, 69,958개의 LUT와 4,991개의 플립플롭 그리고 101개의 DSP 블록의 하드웨어 자원이 사용되었다. Zynq7 FPGA 디바이스에서 최대 동작주파수는 50 MHz으로 예측되었으며, 초당 약 416만 번의 모듈러 곱셈을 연산할 수 있는 것으로 평가되었다.

3-way Toom-Cook 곱셈 알고리듬과 고속 축약 알고리듬을 이용한 256-비트 모듈러 곱셈기 설계 (A Design of 256-bit Modular Multiplier using 3-way Toom-Cook Multiplication Algorithm and Fast Reduction Algorithm)

  • 양현준;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2021년도 추계학술대회
    • /
    • pp.223-225
    • /
    • 2021
  • 모듈러 곱셈은 ECC의 점 스칼라 곱셈을 위한 핵심 연산이며, ECC 프로세서의 성능에 영향을 미치는 가장 중요한 요소이다. 본 논문에서는 3-way Toom-Cook 곱셈 알고리듬과 수정된 고속 축약 알고리듬을 적용한 256-비트 모듈러 곱셈기 설계에 대해 기술한다. 90-비트 곱셈기 1개와 264-비트 가산기 3개가 사용되었으며, 하드웨어 크기와 소요 클록 사이클 수 사이의 최적화를 이루었다. Zynq UltraScale+ MPSoC 디바이스에 구현하여 모듈러 곱셈기를 검증하였으며, 모듈러 곱셈 연산에 15 클록 사이클이 소요된다.

  • PDF

ARM/NEON 프로세서를 활용한 NIST PQC SABER에서 Toom-Cook 알고리즘 최적화 구현 연구 (Optimization Study of Toom-Cook Algorithm in NIST PQC SABER Utilizing ARM/NEON Processor)

  • 송진교;김영범;서석충
    • 정보보호학회논문지
    • /
    • 제31권3호
    • /
    • pp.463-471
    • /
    • 2021
  • NIST(National Institute of Standards and Technology)에서는 2016년부터 양자컴퓨팅 환경을 대비하여 양자내성암호 표준화 사업을 진행하고 있다. 현재 3라운드가 진행 중이며, 대부분 후보자(5/7)는 격자기반 암호이다. 격자기반 암호는 효율적인 연산 처리와 적절한 키 길이를 제공하여 다른 기반의 양자내성 암호보다 리소스가 제한적인 임베디드 환경에서도 적용이 가능하다는 평가를 받고 있다. 그중 SABER KEM은 효율적인 모듈러스와 연산 부하가 큰 다항식 곱셈을 처리하기 위해 Toom-Cook 알고리즘을 제공한다. 본 논문에서는 ARMv8-A 환경에서 ARM/NEON을 활용하여 SABER의 Toom-Cook 알고리즘에서 평가와 보간 과정에 대한 최적화 구현 방법을 소개한다. 평가과정에서는 ARM/NEON의 효율적인 인터리빙 방법을 제안하며, 보간 과정에 서는 다양한 임베디드 환경에서 적용 가능한 최적화된 구현 방법론을 소개한다. 결과적으로 제안하는 구현은 이전 레퍼런스 구현보다 평가과정에서는 약 3.5배 보간과정에서는 약 5배 빠른 성능을 달성하였다.

NIST P-521 타원곡선을 지원하는 고성능 ECC 프로세서 (A High-Performance ECC Processor Supporting NIST P-521 Elliptic Curve)

  • 양현준;신경욱
    • 한국정보통신학회논문지
    • /
    • 제26권4호
    • /
    • pp.548-555
    • /
    • 2022
  • 본 논문은 타원곡선 디지털 서명 알고리듬 (Elliptic Curve Digital Signature Algorithm; ECDSA)의 핵심 연산으로 사용되는 타원곡선 암호 (Elliptic Curve Cryptography; ECC)의 하드웨어 구현에 대해 기술한다. 설계된 ECC 프로세서는 NIST P-521 곡선 상의 8가지 연산 모드 (점 연산 4가지, 모듈러 연산 4가지)를 지원한다. 점 스칼라 곱셈 (PSM)에 필요한 연산량을 최소화하기 위해 5가지 PSM 알고리듬과 4가지 좌표계에 따른 연산 복잡도 분석을 토대로 radix-4 Booth 인코딩과 수정된 자코비안 좌표계를 적용하여 설계하였다. 모듈러 곱셈은 수정형 3-Way Toom-Cook 정수 곱셈과 수정형 고속 축약 알고리듬을 적용하여 구현되었다. 설계된 ECC 프로세서는 xczu7ev FPGA 디바이스에 구현하여 하드웨어 동작을 검증하였다. 101,921개의 LUT와 18,357개의 플립플롭 그리고 101개의 DSP 블록이 사용되었고, 최대 동작주파수 45 MHz에서 초당 약 370번의 PSM 연산이 가능한 것으로 평가되었다.