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

검색결과 78건 처리시간 0.024초

몽고메리 알고리즘을 위한 고정-크기 시스톨릭 어레이 설계 및 분석 (Design and Analysis of Fixed -size Systolic Arrays for Montgomery Modular Multiplication)

  • 김현성;이성우;김정준;김태;유기영
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권4호
    • /
    • pp.406-419
    • /
    • 1999
  • RSA와 같은 공개키 암호시스템(public-key cryptography system)에서는 512 비트 또는 그 이상 큰수의 모듈러 곱셈 연산을 수행하여야한다. 본 논문에서는 Montgomery 알고리즘을 이용하여 모듈러 곱셈을 수행하는 두 가지의 고정-크기 선형 시스톨릭 어레이를 설계하고 분석한다. 제안된 임의의 고정-크기 선형 시스톨릭 어레이와 파이프라인된 고정-크기 선형 시스톨릭 어레이는 최적의 문제-크기 선형 시스톨릭 어레이로부터 LPGS(Locally Parallel Globally Sequential)분할방법을 적용하여 설계한다. VHDL 시뮬레이션 결과, 밴드이 크기를 4로 하여 분할 시 문제-크기 어레이와 비교하면 수행시간의 지연이 없었으며,어레이의 크기도 1/4로 줄일 수 있었다. 제안된 시스톨릭 어레이는 크기에 제한을 갖는 스마트카드 등에 이용될수 있을 것이다.

모듈라 멱승 연산의 빠른 수행을 위한 덧셈사슬 휴리스틱과 모듈라 곱셈 알고리즘들 (An Addition-Chain Heuristics and Two Modular Multiplication Algorithms for Fast Modular Exponentiation)

  • 홍성민;오상엽;윤현수
    • 정보보호학회논문지
    • /
    • 제7권2호
    • /
    • pp.73-92
    • /
    • 1997
  • 모듈라 멱승 연산(M$^{E}$ modN)은 공개키 암호시스템에 있어서 가장 기본적이고 중요한 연산들 중 하나이다. 그런데 이는 512-비트 이상의 정수들과 같이 매우 큰 수들을 다루기 때문에, 수행속도가 느려서 빠른 연산 알고리즘을 필요로 한다. 모듈라 멱승 연산은 모듈라 곱셈의 반복 수행으로 이루어져있고, 이 때의 반복횟수는 지수(E)에 대한 덧셈사슬의 길이에 의해 결정된다. 따라서, 모듈라 멱승 연산을 빠르게 수행하기 위한 방법에는 두 가지가 있을 수 있다. 하나는 보다 짧은 덧셈사슬을 구함으로써 모듈라 곱셈의 반복횟수를 줄이는 것이고, 다른 하나는 각각의 모듈라 곱셈을 빠르게 수행하는 것이다. 본 논문에서는 하나의 덧셈사슬 휴리스틱과 두 개의 모듈라 곱셈 알고리즘들을 제안한다. 두개의 모듈라 곱셈 알고리즘들 중 하나는 서로 다른 두 수들 간의 모듈라 곱셈을 빠르게 수행하기 위한 것이고, 다른 하나는 모듈라 제곱을 빠르게 수행하기 위한 것이다. 본 논문에서 제안하는 덧셈사슬 휴리스틱은 기존의 알고리즘들보다 짧은 덧셈사슬을 찾을 수 있다. 본 논문에서 제안하는 모듈라 곱셈 알고리즘들은 기존의 알고리즘들 보다 1/2 이하의 단정도 곱셈만으로 모듈라 곱셈을 수행한다. 실제로 PC에서 구현하여 수행한 결과, 기존의 알고리즘들 중 가장 좋은 성능을 보이는 Montgomery 알고리즘에 비해 30~50%의 성능향상을 보인다.

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 가 소요되는 것으로 평가되었다.

Compact implementations of Curve Ed448 on low-end IoT platforms

  • Seo, Hwajeong
    • ETRI Journal
    • /
    • 제41권6호
    • /
    • pp.863-872
    • /
    • 2019
  • Elliptic curve cryptography is a relatively lightweight public-key cryptography method for key generation and digital signature verification. Some lightweight curves (eg, Curve25519 and Curve Ed448) have been adopted by upcoming Transport Layer Security 1.3 (TLS 1.3) to replace the standardized NIST curves. However, the efficient implementation of Curve Ed448 on Internet of Things (IoT) devices remains underexplored. This study is focused on the optimization of the Curve Ed448 implementation on low-end IoT processors (ie, 8-bit AVR and 16-bit MSP processors). In particular, the three-level and two-level subtractive Karatsuba algorithms are adopted for multi-precision multiplication on AVR and MSP processors, respectively, and two-level Karatsuba routines are employed for multi-precision squaring. For modular reduction and finite field inversion, fast reduction and Fermat-based inversion operations are used to mitigate side-channel vulnerabilities. The scalar multiplication operation using the Montgomery ladder algorithm requires only 103 and 73 M clock cycles on AVR and MSP processors.

소수체 상의 다중 타원곡선을 지원하는 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의 처리량을 갖는다.

224-비트 소수체 타원곡선을 지원하는 공개키 암호 프로세서의 저면적 구현 (A small-area implementation of public-key cryptographic processor for 224-bit elliptic curves over prime field)

  • 박병관;신경욱
    • 한국정보통신학회논문지
    • /
    • 제21권6호
    • /
    • pp.1083-1091
    • /
    • 2017
  • NIST 표준에 정의된 소수체(prime field) GF(p) 상의 224-비트 타원곡선을 지원하는 타원곡선 암호 프로세서를 설계하였다. 타원곡선 암호의 핵심 연산인 스칼라 점 곱셈을 수정형 Montgomery ladder 알고리듬을 이용하여 구현하였다. 점 덧셈과 점 두배 연산은 투영(projective) 좌표계를 이용하여 연산량이 많은 나눗셈 연산을 제거하였으며, 소수체 상의 덧셈, 뺄셈, 곱셈, 제곱 연산만으로 구현하였다. 스칼라 점 곱셈의 최종 결과값은 다시 아핀(affine) 좌표계로 변환되어 출력하며, 이때 사용되는 역원 연산은 Fermat's little theorem을 이용하여 구현하였다. 설계된 ECC 프로세서를 Virtex5 FPGA로 구현하여 정상 동작함을 확인하였다. $0.18{\mu}m$공정의 CMOS 셀 라이브러리로 합성한 결과 10 MHz의 동작 주파수에서 2.7-Kbit RAM과 27,739 GE로 구현되었고, 최대 71 MHz의 동작 주파수를 갖는다. 스칼라 점 곱셈에 1,326,985 클록 사이클이 소요되며, 최대 동작 주파수에서 18.7 msec의 시간이 소요된다.

개선된 역수연산에서의 멀티 쉬프팅 알고리즘 (Modified Multi-bit Shifting Algorithm in Multiplication Inversion Problems)

  • 장인주;유형선
    • 한국전자거래학회지
    • /
    • 제11권2호
    • /
    • pp.1-11
    • /
    • 2006
  • 본 논문에서는 멀티 쉬프팅 기법을 이용한 효율적인 유한체의 역수 연산 알고리즘을 제안하고 있다. 연산 알고리즘의 효율성은 사용하는 기저에 따라 영향이 있음이 많은 선행 연구를 통해 알려져 왔으며, 보편적으로 다항식 기저와 최적 다항식 기저를 사용하여 연구하였다. 본 연구에서는 몽고메리 알고리즘에 바탕을 둔 멀티비트 쉬프팅 기법을 수정하고 구현하였다. 역수 연산을 수행하기 위해 본 연구에서 사용한 기약 다항식타입은 AOP와 3항식 이며, 수행 결과 26%까지의 성능향상을 보였다. 본 논문에서 제안한 알고리즘은 구현이 쉽고, 다양한 분야에서 응용이 가능하다.

  • PDF

고속 모듈러 지수연산을 위한 모듈러 곱셈기의 선형 시스톨릭 어레이 설계 (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