• 제목/요약/키워드: Montgomery Multiplier

검색결과 48건 처리시간 0.031초

이진 에드워즈 곡선 공개키 암호를 위한 257-비트 점 스칼라 곱셈의 효율적인 하드웨어 구현 (An Efficient Hardware Implementation of 257-bit Point Scalar Multiplication for Binary Edwards Curves Cryptography)

  • 김민주;정영수;신경욱
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2022년도 춘계학술대회
    • /
    • pp.246-248
    • /
    • 2022
  • Bernstein이 제안한 새로운 타원곡선 형태인 이진 에드워즈 곡선 (binary Edwards curves; BEdC)는 예외점이 없어 완전한 덧셈 법칙이 만족한다. 본 논문에서는 투영 좌표계를 적용한 BEdC 상의 점 스칼라 곱셈의 효율적인 하드웨어 구현에 대해 기술한다. 점 스칼라 곱셈을 위해 modified Montgomery ladder 알고리듬을 적용하였으며, 257-비트 이진 덧셈기와 이진 제곱기, 32-비트 이진 곱셈기를 사용하여 하위 이진체 연산을 구현했다. Zynq UltraScale+ MPSoC 디바이스에 구현하여 설계된 BEdC 크립토 코어를 검증하였으며, 점 스칼라 곱셈 연산에 521,535 클록 사이클이 소요된다.

  • PDF

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

내장형 시스템을 위한 최적화된 RSA 암호화 프로세서 설계 (Design of an Optimal RSA Crypto-processor for Embedded Systems)

  • 허석원;김문경;이용석
    • 한국통신학회논문지
    • /
    • 제29권4A호
    • /
    • pp.447-457
    • /
    • 2004
  • 본 논문에서는 RSA 암호화 알고리즘을 지원하기 위한 암호화 프로세서의 구조를 제안한다. 본 논문의 RSA 암호화 프로세서는 빅 몽고메리 알고리즘(FIOS)을 기반으로 제안되였으며, 다양한 비트 길이(128∼2048 비트)를 지원한다. RSA 암호화 프로세서의 구조는 RSA 제어 신호 발생기, 빅 몽고메리 프로세서(가산기, 승산기)의 모듈로 구성된다. 빅 몽고메리 프로세서의 가산기와 승산기는 다양한 알고리즘을 이용하여 구현하였다. 내장형 시스템에 적합하게 설계하기 위하여 여러 가지 연산기를 합성한 결과 중에서 ARM 코프로세서와 연동할 수 있는 동작주파수를 갖는 연산기 중에서 가장 작은 연산기를 선택하였다. RSA 암호화 프로세서는 Verilog-HDL을 이용하여 하향식 설계 방법으로 구현되었으며, C언어와 Cadence의 Verilog-XL을 이용하여 검증하였다. 검증된 모델은 하이닉스 0.25$\mu\textrm{m}$ CMOS standard cell 라이브러리를 이용하여 합성되었으며, 2.3V, 10$0^{\circ}C$ 최악 조건에서 동작한다. 본 논문에서 제안한 RSA 암호화 프로세서는 약 51MHz의 주파수에서 동작하며, 게이트 수는 nand2 게이트 기준으로 36,639 gates의 면적을 가진다.

고속 모듈러 지수연산을 위한 모듈러 곱셈기의 선형 시스톨릭 어레이 설계 (Design of Linear Systolic Arrays of Modular Multiplier for the Fast Modular Exponentiation)

  • 이건직;허영준;유기영
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권9호
    • /
    • pp.1055-1063
    • /
    • 1999
  • 공개키 암호화 시스템에서 주된 연산은 512비트 이상의 큰 수에 의한 모듈러 지수 연산으로 표현되며, 이 연산은 내부적으로 모듈러 곱셈을 반복적으로 수행함으로써 계산된다. 본 논문에서는 Montgomery 알고리즘을 분석하여 right-to-left 방식의 모듈러 지수 연산에서 공통으로 계산 가능한 부분을 이용하여 모듈러 제곱과 모듈러 곱셈을 동시에 수행하는 선형 시스톨릭 어레이를 설계한다. 설계된 시스톨릭 어레이는 VLSI 칩과 같은 하드웨어로 구현함으로써 IC 카드나 smart 카드에 이용될 수 있다.Abstract The main operation of the public-key cryptographic system is represented the modular exponentiation containing 512 or more bits and computed by performing the repetitive modular multiplications. In this paper, we analyze Montgomery algorithm and design the linear systolic array for performing modular multiplication and modular squaring simultaneously using the computable part in common in right-to-left modular exponentiation. The systolic array presented in this paper could be designed on VLSI hardware and used in IC and smart card.

RSA 암호시스템에서 처리속도향상을 위한 모듈러 승산기 설계에 관한 연구 (A Study on the Modus Multiplier design on Enhancing Processing Speed in the RSA cryptosystem)

  • 정우열
    • 한국컴퓨터정보학회논문지
    • /
    • 제6권3호
    • /
    • pp.84-90
    • /
    • 2001
  • 네트워크의 발전은 통신망의 발전과 더불어 심각한 사회문제를 발생시킨다. 즉, 보안에 관련된 문제는 네트워크를 사용할 경우 해킹과 크래킹에 대하여 더욱 주의해야한다는 것이다. 이러한 해커나 크래커로부터 보안을 유지하기 위해서는 새로운 암호알고리즘을 개발하거나 키길이를 길게하여 정해진 시간안에 복호불가의 상태를 유지하는 방법이 일반적으로 사용되고 있다. 본 논문에서, RSA 암호시스템에서 제안된 몽고메리 승산기는 캐리부분만을 어레이 형태로 구성하였고 병목현상을 없애기 위하여 승산과정을 가변길이화로 구성하였다. 그러므로 제안된 몽고메리 승산기는 실시간 처리 및 외부의 크래킹을 막아낼 수 있는기능을 강화시켰다.

  • PDF

233-비트 이진체 타원곡선을 지원하는 암호 프로세서의 저면적 구현 (A small-area implementation of cryptographic processor for 233-bit elliptic curves over binary field)

  • 박병관;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권7호
    • /
    • pp.1267-1275
    • /
    • 2017
  • NIST 표준에 정의된 이진체(binary field) 상의 233-비트 타원곡선을 지원하는 타원곡선 암호(elliptic curve cryptography; ECC) 프로세서를 설계하였다. 타원곡선 암호 시스템의 핵심 연산인 스칼라 점 곱셈을 수정형 Montgomery ladder 알고리듬을 이용하여 구현함으로써 단순 전력분석에 강인하도록 하였다. 점 덧셈과 점 두배 연산은 아핀(affine) 좌표계를 기반으로 유한체 $GF(2^{233})$ 상의 곱셈, 제곱, 나눗셈으로 구현하였으며, shift-and-add 방식의 곱셈기와 확장 유클리드 알고리듬을 이용한 나눗셈기를 적용함으로써 저면적으로 구현하였다. 설계된 ECC 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$ 공정의 CMOS 셀 라이브러리로 합성한 결과 49,271 GE로 구현되었고, 최대 345 MHz의 동작 주파수를 갖는다. 스칼라 점 곱셈에 490,699 클록 사이클이 소요되며, 최대 동작 주파수에서 1.4 msec의 시간이 소요된다.

CIOS 몽고메리 모듈러 곱셈 알고리즘 기반 Scalable RSA 공개키 암호 프로세서 (Scalable RSA public-key cryptography processor based on CIOS Montgomery modular multiplication Algorithm)

  • 조욱래;신경욱
    • 한국정보통신학회논문지
    • /
    • 제22권1호
    • /
    • pp.100-108
    • /
    • 2018
  • 512/1,024/2,048/3,072 비트의 4가지 키 길이를 지원하는 scalable RSA 공개키 암호 프로세서를 설계하였다. RSA 암호의 핵심 연산블록인 모듈러 곱셈기를 CIOS (Coarsely Integrated Operand Scanning) 몽고메리 모듈러 곱셈 알고리듬을 이용하여 32 비트 데이터 패스로 설계하였으며, 모듈러 지수승 연산은 Left-to-Right (L-R) 이진 멱승 알고리듬을 적용하여 구현하였다. 설계된 RSA 암호 프로세서를 Virtex-5 FPGA로 구현하여 하드웨어 동작을 검증하였으며, 512/1,024/2,048/3,072 비트의 키 길이에 대해 각각 456,051/3,496,347/26,011,947/88,112,770 클록 사이클이 소요된다. $0.18{\mu}m$ CMOS 표준셀 라이브러리를 사용하여 100 MHz 동작 주파수로 합성한 결과, 10,672 GE와 $6{\times}3,072$ 비트의 메모리로 구현되었다. 설계된 RSA 공개키 암호 프로세서는 최대 동작 주파수는 147 MHz로 예측되었으며, 키 길이에 따라 RSA 복호 연산에 3.1/23.8/177/599.4 ms 가 소요되는 것으로 평가되었다.

CRT를 이용한 하이래딕스 RSA 모듈로 멱승 처리기의 구현 (Implementation of High-radix Modular Exponentiator for RSA using CRT)

  • 이석용;김성두;정용진
    • 정보보호학회논문지
    • /
    • 제10권4호
    • /
    • pp.81-93
    • /
    • 2000
  • 본 논문에서는 RSA 암호 시스템의 핵심 연산인 모듈로 멱승의 처리속도를 향상시키기 위한 방법으로 하이래딕스 (High-Radix) 연산 방식과 CRT(Chinese Remainder Theorem)를 적용한 새로운 하드웨어 구조를 제안한다. 모듈로 멱승의 기본 연산인 모듈로 곱셈은 16진 연산 방법을 사용하여 PE(Processing Element)의 개수를 1/4고 줄임으로써, 기존의 이 진 연산 방식에 비해 클럭 수차 파이프라이닝 플립플롭의 지연시간을 1/4로 줄였다. 복호화시에는 합성수인 계수 N 의 인수, p, q를 알고 있는 점을 이용하여 속도를 향상시키는 일반적인 방법인 CRT 알고리즘을 적용하였다. 즉, s비트 의 키에 대해, s/2비트 모듈로 곱셈기 두 개를 병렬로 동시 수행함으로써 처리 속도를 CRT를 사용하지 않을 때보다 4 배정도 향상시켰다. 암호화의 경우는 두 개의 s/2비트 모듈로 곱셈기를 직렬로 연결하여 s/비트에 대한 연산이 가능하도록 하였으며 공개키는 E는 17비트까지의 지수를 허용하여 빠른 속도를 유지하였다. 모듈로 곱셈은 몽고메리 알고리즘을 변형하여 사용하였으며, 그 내부 계산 구조를 보여주는 데이터 종속 그래프(Dependence Graph)를 수평으로 매핑하여 1차원 선형 어레이 구조로 구성하였다. 그 결과 삼성 0.5um CMOS 스탠다드 셀 라이브러리를 근거로 산출한 때, 1024 비트 RSA 연산에 대해서 160Mhz의 클럭 주파수로 암호화 시에 15Mbps, 복호화 시에 1.22Mbs의 성능을 가질 것으로 예측되며, 이러한 성능은 지금가지 발표된 국내의의 어느 논문보다도 빠른 RSA 처리 시간이다.

GF(p)상의 Scalable한 몽고메리 곱셈기 (A Scalable Architecture of Montgomery Multiplier on GF(p))

  • 이광진;장용희;권용진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (A)
    • /
    • pp.382-384
    • /
    • 2004
  • 최근 인터넷의 발달과 함께 인터넷 상에서의 데이터 보안에 대한 요구가 매우 증가되고 있다. 그래서 공개키 또는 비밀키 알고리즘을 사용하여 데이터 보안을 해결하고 있다. 대부분의 공개키 알고리즘은 모듈러 연산들을 기반으로 살고 있으며 이 중 복잡도가 가장 높은 모듈러 멱승 연산은 모듈러 곱셈 연산을 반복 수행하여 계산된다. 그래서 모듈러 곱셈연산을 효율적으로 계산하기 위한 많은 방법들이 제안되어 왔으며 하드웨어 구현 시 속도와 효율성 문제로 몽고메리 곱셈기에 대한 연구가 주목을 받아 왔다. 현재 몽고메리 곱셈 알고리즘을 이용한 곱셈기는 대부분이 성능과 면적만을 고려한 구조로 보안성 향상을 위해 입력 데이터의 비트수 증가 시 곱셈기의 구조 변경이 요구된다. 따라서 본 논문에서는 비트수 길이가 변하더라도 곱셈기 구조는 변함이 없는 GF(p)상에서의 Scalable한 몽고메리 곱셈기 구조를 제안한다. Sealable한 곱셈기의 구조는 FPGA와 같이 메모리를 포함하는 하드웨어 플랫폼에 적합하다. 제안된 구조는 Xilinx FPGA를 이용하여 하드웨어로 구현하며 ModelSim Tool을 통해 기능 및 타이밍 시뮬레이션을 수행한다.

  • PDF