• 제목/요약/키워드: 모듈러 축약

검색결과 7건 처리시간 0.022초

타원곡선 암호를 위한 고성능 모듈러 곱셈기 (A High Performance Modular Multiplier for ECC)

  • 최준영;신경욱
    • 전기전자학회논문지
    • /
    • 제24권4호
    • /
    • pp.961-968
    • /
    • 2020
  • 타원곡선 암호에 필수적으로 사용되는 모듈러 곱셈의 고성능 하드웨어 설계에 대해 기술한다. 본 논문의 모듈러 곱셈기는 NIST FIPS 186-2에 정의된 소수체 상의 5가지 체 크기(192, 224, 256, 384, 521 비트)의 모듈러 곱셈을 지원하며, 정수 곱셈과 축약의 두 단계 과정으로 모듈러 곱셈을 연산한다. 고속 정수 곱셈을 위해 카라추바-오프만 곱셈 알고리듬이 사용되었고, 축약 연산을 위해 Lazy 축약 알고리듬이 사용되었다. 또한, Lazy 축약에 포함된 나눗셈 연산을 위해 Nikhilam 나눗셈 알고리듬이 사용되었으며, 나눗셈 연산은 주어진 모듈러 값에 대해 처음 한 번만 연산되고, 모듈로 값이 고정된 상태로 연속적인 모듈러 곱셈이 수행되는 경우에는 나눗셈을 거치지 않도록 하였다. 설계된 모듈러 곱셈기는 32 MHz의 클록 주파수로 동작하는 경우에 초당 640만번의 모듈러 곱셈을 연산할 수 있는 것으로 평가되었으며, 180-nm CMOS 셀 라이브러리로 합성한 결과, 67 MHz의 클록 주파수로 동작이 가능하며, 456,400 등가 게이트로 구현되었다.

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

듀얼 필드 모듈러 곱셈을 지원하는 몽고메리 곱셈기 (Montgomery Multiplier Supporting Dual-Field Modular Multiplication)

  • 김동성;신경욱
    • 한국정보통신학회논문지
    • /
    • 제24권6호
    • /
    • pp.736-743
    • /
    • 2020
  • 모듈러 곱셈은 타원곡선 암호 (elliptic curve cryptography; ECC), RSA 등의 공개키 암호에서 중요하게 사용되는 산술연산 중 하나이며, 모듈러 곱셈기의 성능은 공개키 암호 하드웨어의 성능에 큰 영향을 미치는 핵심 요소가 된다. 본 논문에서는 워드기반 몽고메리 모듈러 곱셈 알고리듬의 효율적인 하드웨어 구현에 대해 기술한다. 본 논문의 모듈러 곱셈기는 SEC2 ECC 표준에 정의된 소수체 GF(p)와 이진체 GF(2k) 상의 11가지 필드 크기를 지원하여 타원곡선 암호 프로세서의 경량 하드웨어 구현에 적합하도록 설계되었다. 제안된 곱셈기 구조는 부분곱 생성 및 가산 연산과 모듈러 축약 연산이 파이프라인 방식으로 처리하며, 곱셈 연산에 소요되는 클록 사이클 수를 약 50% 줄였다. 설계된 모듈러 곱셈기를 FPGA 디바이스에 구현하여 하드웨어 동작을 검증하였으며, 65-nm CMOS 표준셀로 합성한 결과 33,635개의 등가 게이트로 구현되었고, 최대 동작 클록 주파수는 147 MHz로 추정되었다.

GF(p) 상의 다중 체 크기를 지원하는 고성능 ECC 프로세서 (A High-Performance ECC Processor Supporting Multiple Field Sizes over GF(p))

  • 최준영;신경욱
    • 한국정보통신학회논문지
    • /
    • 제25권3호
    • /
    • pp.419-426
    • /
    • 2021
  • NIST FIPS 186-2에 정의된 GF(p) 상의 5 가지 체 크기 (192, 224, 256, 384, 521 비트)와 8 가지의 산술연산 동작모드 (ECPSM, ECPA, ECPD, MA, MS, MM, MI, MD)를 지원하는 고성능 타원곡선 암호 프로세서 HP-ECCP를 설계하였다. HP-ECCP가 부채널 공격에 내성을 갖도록 만들기 위해, 타원곡선 점 스칼라 곱셈에 사용되는 개인키의 해밍웨이트에 무관하게 점 덧셈과 점 두배 연산이 균일하게 수행되는 수정된 left-to-right 이진 알고리듬을 적용하여 설계했다. 또한, 타원곡선 점 연산에 핵심이 되는 모듈러 곱셈 연산의 고성능 하드웨어 구현을 위해 Karatsuba-Ofman 곱셈 알고리듬, Lazy 축약 알고리듬, Nikhilam 나눗셈 알고리듬을 적용하여 설계했다. HP-ECCP를 180 nm CMOS 표준 셀 라이브러리로 합성한 결과 67 MHz의 동작 주파수에서 620,846 등가 게이트로 구현되었으며, 체 크기 256 비트의 ECPSM이 초당 2,200회 계산될 수 있는 것으로 평가되었다.

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 연산이 가능한 것으로 평가되었다.

ECC 기반의 공개키 보안 프로토콜을 지원하는 보안 SoC (A Security SoC supporting ECC based Public-Key Security Protocols)

  • 김동성;신경욱
    • 한국정보통신학회논문지
    • /
    • 제24권11호
    • /
    • pp.1470-1476
    • /
    • 2020
  • 모바일 장치와 IoT의 보안 프로토콜 구현에 적합한 경량 보안 SoC 설계에 대해 기술한다. Cortex-M0을 CPU로 사용하는 보안 SoC에는 타원곡선 암호 (elliptic curve cryptography) 코어, SHA3 해시 코어, ARIA-AES 블록 암호 코어 및 무작위 난수 생성기 (TRNG) 코어 등의 하드웨어 크립토 엔진들이 내장되어 있다. 핵심 연산장치인 ECC 코어는 SEC2에 정의된 20개의 소수체와 이진체 타원곡선을 지원하며, 부분곱 생성 및 가산 연산과 모듈러 축약 연산이 서브 파이프라인 방식으로 동작하는 워드 기반 몽고메리 곱셈기를 기반으로 설계되었다. 보안 SoC를 Cyclone-5 FPGA 디바이스에 구현하고 타원곡선 디지털 서명 프로토콜의 H/W-S/W 통합 검증을 하였다. 65-nm CMOS 셀 라이브러리로 합성된 보안 SoC는 193,312 등가 게이트와 84 kbyte의 메모리로 구현되었다.