• 제목/요약/키워드: word-based Montgomery multiplication

검색결과 15건 처리시간 0.038초

분할형 CSA를 이용한 Montgomery 곱셈기 (The Montgomery Multiplier Using Scalable Carry Save Adder)

  • 하재철;문상재
    • 정보보호학회논문지
    • /
    • 제10권3호
    • /
    • pp.77-83
    • /
    • 2000
  • This paper presents a new modular multiplier for Montgomery multiplication using iterative small carry save adder. The proposed multiplier is more flexible and suitable for long bit multiplication due to its scalable property according to design area and required computing time. We describe the word-based Montgomery algorithm and design architecture of the multiplier. Our analysis and simulation show that the proposed multiplier provides area/time tradeoffs in limited design area such as IC cards.

RNS(Residue Number Systems) 기반의 2,048 비트 RSA 설계 (Implementation of 2,048-bit RSA Based on RNS(Residue Number Systems))

  • 권택원;최준림
    • 대한전자공학회논문지SD
    • /
    • 제41권4호
    • /
    • pp.57-66
    • /
    • 2004
  • 본 논문에서는 RNS(residue number systems) 몽고메리 모듈라 곱셈기 기반의 2,048 비트 RSA 설계를 제안한다. RNS는 긴 워드에 대한 모듈라 연산을 짧은 워드로 분할하여 고속 병렬 모듈라 연산을 처리하는 시스템으로써 본 논문에서는 RNS 몽고메리 모듈라 곱셈 연산을 위해 Wallace 트리 모듈라 곱셈기 기반의 Montgomery reduction method(MRM)[1]와 33개의 64 비트 RNS base 를 도입하였다. 또한, 고속 RNS 모듈라 곱셈 연산을 위해 Chinese remainder theorem(CRT)[2]기반의 개선된 base extension 알고리즘을 제안한다. 본 논문에서 제시한 RNS 기반의 2,048 비트 RSA는 삼성 0.35㎛ 공정을 사용하여 기능을 검증하였으며 100㎒에서 2.53㎳ 연산 속도 결과를 얻었다.

듀얼 필드 모듈러 곱셈을 지원하는 몽고메리 곱셈기 (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(2m) 상의 NIST 타원곡선을 지원하는 ECC 프로세서 (ECC Processor Supporting NIST Elliptic Curves over GF(2m))

  • 이상현;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2018년도 추계학술대회
    • /
    • pp.190-192
    • /
    • 2018
  • NIST 표준으로 정의된 이진체 상의 5가지 pseudo-random 타원곡선과 5가지 Koblitz 타원곡선을 지원하는 타원곡선 암호 (Elliptic Curve Cryptography; ECC) 프로세서를 설계하였다. Lopez-Dahab 투영 좌표계를 적용하여 모듈러 곱셈과 XOR 연산으로 스칼라 곱셈 (scalar multiplication)이 연산되도록 하였으며, 32-비트${\times}$32-비트의 워드 기반 몽고메리 곱셈기를 이용한 고정 크기의 하드웨어로 다양한 키 길이의 ECC가 구현될 수 있도록 설계하였다. 설계된 ECC 프로세서는 FPGA 구현을 통해 하드웨어 동작을 검증하였으며, 0.18-um CMOS 셀 라이브러리로 합성한 결과 100 MHz의 동작 주파수에서 10,674 GEs와 9 킬로비트의 RAM으로 구현되었고, 최대 154 MHz의 동작 주파수를 갖는다.

  • PDF

32-비트 몽고메리 모듈러 곱셈기 기반의 2,048 비트 RSA 공개키 암호 프로세서 (2,048 bits RSA public-key cryptography processor based on 32-bit Montgomery modular multiplier)

  • 조욱래;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권8호
    • /
    • pp.1471-1479
    • /
    • 2017
  • 2,048 비트의 키 길이를 지원하는 RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산인 모듈러 곱셈기를 워드 기반의 몽고메리 곱셈 알고리듬을 이용하여 설계하였으며, 모듈러 지수승 연산은 Left-to-Right(LR) 이진 멱승 알고리듬을 이용하여 구현하였다. 모듈러 곱셈에 8,448 클록 사이클이 소요되며, RSA 암호화와 복호화에 각각 185,724 클록 사이클과 25,561,076 클록 사이클이 소요된다. 설계된 RSA 암호 프로세서를 Virtex 5 FPGA로 구현하여 하드웨어 동작을 검증하였다. $0.18{\mu}m$ CMOS 표준셀을 사용하여 100 MHz의 동작 주파수로 합성한 결과, RSA 암호 프로세서는 12,540 GE로 구현되었고, 12 kbit의 메모리가 사용되었다. 동작 가능한 최대 주파수는 165 MHz로 평가되었으며, RSA 암호화, 복호화 연산에 각각 1.12 ms, 154.91 ms가 소요되는 것으로 예측되었다.

GF(2m) 상의 타원곡선 B-233을 지원하는 32-비트 WMM 기반 ECC 프로세서 (ECC Processor Supporting Elliptic Curve B-233 over GF(2m) using 32-b WMM)

  • 이상현;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2018년도 춘계학술대회
    • /
    • pp.169-170
    • /
    • 2018
  • 이진체 상의 타원곡선 B-233을 지원하는 타원곡선 암호 프로세서를 32-비트 워드기반 몽고메리 곱셈기를 이용하여 설계하였다. 스칼라 곱셈을 위해 수정된 몽고메리 래더 (Modified montgomery ladder) 알고리즘을 적용하여 단순 전력분석에 내성을 갖도록 하였으며, Lopez-Dahab 투영 좌표계와 페르마의 소정리(Fermat's little theorem)를 적용하여 하드웨어 자원 소모가 큰 나눗셈과 역원 연산을 제거하여 저면적으로 설계하였다. 설계된 ECC 프로세서는 Xilinx ISim을 이용하여 기능검증을 하였으며, $0.18{\mu}m$ CMOS 셀 라이브러리로 합성한 결과 100 MHz의 동작 주파수에서 9,614 GEs와 4 Kbit RAM으로 구현되었으며, 최대 동작 주파수는 125 MHz로 예측되었다.

  • PDF

확장 가능형 몽고메리 모듈러 곱셈기 (A Scalable Montgomery Modular Multiplier)

  • 최준백;신경욱
    • 전기전자학회논문지
    • /
    • 제25권4호
    • /
    • pp.625-633
    • /
    • 2021
  • 몽고메리 모듈러 곱셈의 유연한 하드웨어 구현을 위한 확장 가능형 아키텍처를 기술한다. 처리요소 (processing element; PE)의 1차원 배열을 기반으로 하는 확장 가능형 모듈러 곱셈기 구조는 워드 병렬 연산을 수행하며, 사용되는 PE 개수 NPE에 따라 연산 성능과 하드웨어 복잡도를 조정하여 구현할 수 있다. 제안된 아키텍처를 기반으로 SEC2에 정의된 8가지 필드 크기를 지원하는 확장 가능형 몽고메리 모듈러 곱셈기(scalable Montgomery modular multiplier; sMM) 코어를 설계했다. 180-nm CMOS 셀 라이브러리로 합성한 결과, sMM 코어는 NPE=1 및 NPE=8인 경우에 각각 38,317 등가게이트 (GEs) 및 139,390 GEs로 구현되었으며, 100 MHz 클록으로 동작할 때, NPE=1인 경우에 57만회/초 및 NPE=8인 경우에 350만회/초의 256-비트 모듈러 곱셈을 연산할 수 있는 것으로 평가되었다. sMM 코어는 응용분야에서 요구되는 연산성능과 하드웨어 리소스를 고려하여 사용할 PE 수를 결정함으로써 최적화된 구현이 가능하다는 장점을 가지며, ECC의 확장 가능한 하드웨어 설계에 IP (intellectual property)로 사용될 수 있다.

소수체 상의 다중 타원곡선을 지원하는 Scalable ECC 프로세서 (Scalable ECC Processor supporting multiple elliptic curves over prime field)

  • 박병관;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 추계학술대회
    • /
    • pp.247-249
    • /
    • 2017
  • NIST에서 표준으로 정의된 P-192, P-224, P-256, P-384 타원곡선 상의 스칼라 곱셈(scalar multiplication) 연산을 지원하는 Scalable 타원곡선 암호(Elliptic Curve Cryptography; ECC) 프로세서의 설계에 대해 기술한다. 투영(projective) 좌표계를 이용하여 하드웨어 자원 소모가 큰 나눗셈 연산을 제거하였으며, GF(p) 상의 덧셈, 뺄셈, 곱셈 등의 유한체 연산을 지원한다. 워드 기반 몽고메리 곱셈기를 이용하여 다양한 크기의 필드(field)에서 고정된 하드웨어 자원을 통하여 곱셈 연산을 수행하도록 하였으며, 필드의 크기에 따라 연산 사이클이 증가하거나 감소한다. 설계된 Scalable ECC 프로세서는 Verilog HDL로 모델링 되었으며, Modelsim을 이용한 기능검증을 하였다. Xilinx Virtex5 FPGA 디바이스 합성결과 5,376-비트 RAM과 970 슬라이스로 구현되었으며, 최대 55 MHz의 동작 주파수를 갖는다.

  • PDF

GF(2m) 상의 NIST 타원곡선을 지원하는 ECC 프로세서의 경량 하드웨어 구현 (A Lightweight Hardware Implementation of ECC Processor Supporting NIST Elliptic Curves over GF(2m))

  • 이상현;신경욱
    • 전기전자학회논문지
    • /
    • 제23권1호
    • /
    • pp.58-67
    • /
    • 2019
  • NIST 표준으로 정의된 $GF(2^m)$ 상의 슈도 랜덤 곡선과 Koblitz 곡선을 지원하는 타원곡선 암호(ECC) 프로세서 설계에 대해 기술한다. 고정된 크기의 데이터 패스를 사용하여 5가지 키 길이를 지원함과 아울러 경량 하드웨어 구현을 위해 워드 기반 몽고메리 곱셈기를 기반으로 유한체 연산회로를 설계하였다. 또한, Lopez-Dahab 좌표계를 사용함으로써 유한체 나눗셈을 제거하였다. 설계된 ECC 프로세서를 FPGA 검증 플랫폼에 구현하고, ECDH(Elliptic Curve Diffie-Hellman) 키 교환 프로토콜 동작을 통해 하드웨어 동작을 검증하였다. 180-nm CMOS 표준 셀 라이브러리로 합성한 결과 10,674 등가 게이트와 9 kbit의 dual-port RAM으로 구현되었으며, 최대 동작 주파수는 154 MHz로 평가되었다. 223-비트 슈도 랜덤 타원곡선 상의 스칼라 곱셈 연산에 1,112,221 클록 사이클이 소요되며, 32.3 kbps의 처리량을 갖는다.

에드워즈 곡선 Edwards25519와 Edwards448을 지원하는 공개키 암호 코어 (A Public-Key Crypto-Core supporting Edwards Curves of Edwards25519 and Edwards448)

  • 양현준;신경욱
    • 전기전자학회논문지
    • /
    • 제25권1호
    • /
    • pp.174-179
    • /
    • 2021
  • 에드워즈 곡선 Edwards25519와 Edwards448 상의 점 스칼라 곱셈(point scalar multiplication; PSM)을 지원하는 EdCC (Edwards curve cryptography) 코어를 설계하였다. 저면적 구현을 위해 워드 기반 몽고메리 곱셈 알고리듬을 기반으로 유한체 곱셈기를 설계하였으며, 나눗셈 연산 없이 점 연산을 구현하기 위해 확장 트위스티드 에드워즈 좌표계를 적용하였다. EdCC 코어를 100 MHz의 클록으로 합성한 결과, 24,073 등가 게이트와 11 kbit의 RAM으로 구현되었으며, 최대 동작 주파수는 285 MHz로 추정되었다. Edwards25519와 Edwards448 곡선 상의 PSM을 각각 초당 299회, 66회 연산하는 것으로 평가되었으며, 유사한 구조의 타원곡선 암호 코어에 비해 256 비트 PSM 연산에 소요되는 클록 사이클 수가 약 60 % 감소하여 연산 성능이 약 7.3 배 향상되었다.