• 제목/요약/키워드: Montgomery's exponentiation algorithm

검색결과 8건 처리시간 0.02초

RSA 멱승 알고리즘의 제어문에 대한 오류 주입 공격 (Fault Analysis Attacks on Control Statement of RSA Exponentiation Algorithm)

  • 길광은;백이루;김환구;하재철
    • 정보보호학회논문지
    • /
    • 제19권6호
    • /
    • pp.63-70
    • /
    • 2009
  • 최근의 연구는 RSA와 같은 암호 시스템에서 멱승 알고리즘을 구현할 경우 물리적 공격에 취약하여 비밀 키를 노출할 수 있음을 보이고 있다. 특히, Schmidt와 Hurbst는 RSA 이진 멱승(binary exponentiation) 실행시 수행하는 제곱(squaring) 연산을 건너뛰게 하여 얻은 오류 서명값을 이용하여 비밀 키를 얻을 수 있음을 실험적으로 보였다. 본 논문에서는 Schmidt와 Hurbst의 공격 가정에 기반하여 곱셈(multiplication) 연산이나 반복 제어문 연산을 건너뛰어 비밀 키를 공격하는 방법을 제안한다. 또한, 반복 제어문을 건너뛰는 오류 공격을 확장하여 단순 전력 분석 공격(simple power analysis)공격에 대응하기 위해 제안된 몽고메리(Montgomery ladder) 멱승 알고리즘도 공격할 수 있음을 보인다.

Montgomery 곱셈기를 이용한 효율적인 모듈라 멱승기 구조 (Efficient Architectures for Modular Exponentiation Using Montgomery Multiplier)

  • 하재철;문상재
    • 정보보호학회논문지
    • /
    • 제11권5호
    • /
    • pp.63-74
    • /
    • 2001
  • 본 논문에서는 공개 키 암호시스템에서의 필수적인 연산인 모듈라 멱승을 처리하기 위한 멱승기의 회로 구조를 제안한다. 제안한 멱승기는 Montgomery 알고리듬을 사용한 곱셈기를 채택하였으며 멱승의 사전·사후 계산 과정을 쉽게 처리할 수 있도록 MUX를 이용한 것이 특징이다. 논문에서 n비트의 모듀라 멱승을 가정하여 L-R 이진 방식과 R-L이진 방식에 기초한 두 가지 형태의 설계 구조를 제안하였다. 구현에 사용된 곱셈기가 m번 클럭의 캐리 처리과정을 포함하여 (n+m)번의 클럭만에, R-L 방식 멱승기는 (n+4)(n+m)번의 클럭 시간에 멱승을 처리할 수 있다.

GF(2m) 상에서 모듈러 지수 연산을 위한 선형 시스톨릭 어레이 설계 및 분석 (Design and Analysis of a Linear Systolic Array for Modular Exponentation in GF(2m))

  • 이원호;이건직;유기영
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권7호
    • /
    • pp.743-751
    • /
    • 1999
  • 공개키 암호 시스템에서 모듈러 지수 연산은 주된 연산으로, 이 연산은 내부적으로 모듈러 곱셈을 반복적으로 수행함으로써 계산된다. 본 논문에서는 GF(2m)상에서 수행할 수 있는 Montgomery 알고리즘을 분석하여 right-to-left 방식의 모듈러 지수 연산에서 공통으로 계산 가능한 부분을 이용하여 모듈러 제곱과 모듈러 곱셈을 동시에 수행하는 선형 시스톨릭 어레이를 설계한다. 본 논문에서 설계한 시스톨릭 어레이는 기존의 곱셈기보다 모듈러 지수 연산시 약 0.67배 처리속도 향상을 가진다. 그리고, VLSI 칩과 같은 하드웨어로 구현함으로써 IC 카드에 이용될 수 있다.Abstract One of the main operations for the public key cryptographic system is the modular exponentiation, it is computed by performing the repetitive modular multiplications. In this paper, we analyze Montgomery's algorithm and design a linear systolic array to perform modular multiplication and modular squaring simultaneously. It is done by using common-multiplicand modular multiplication in the right-to-left modular exponentiation over GF(2m). The systolic array presented in this paper improves about 0.67 times than existing multipliers for performing the modular exponentiation. It could be designed on VLSI hardware and used in IC cards.

디지털 서명을 위한 고속 RSA 암호 시스템의 설계 및 FPGA 구현 (Design and FPGA Implementation of a High-Speed RSA Algorithm for Digital Signature)

  • 강민섭;김동욱
    • 정보처리학회논문지C
    • /
    • 제8C권1호
    • /
    • pp.32-40
    • /
    • 2001
  • 본 논문에서는 기존의 Montgomery 알고리듬을 개선한 고속 모듈러 곱셈 알고리듬을 제안하고, 이를 기본으로 하여 디지털 서명에 적용 가능한 1024비트 RSA 암호 시스템의 설계 및 구현에 관하여 기술한다. 제안된 방법은 부분합 계산시 단지 1번지의 덧셈 연산이 필요하지만, 기존 Montgomery 알고리듬에서는 2번의 덧셈연산이 요구되므로 기존 방법에 비해 계산 속도가 빠르며, 하드웨어 면적도 매우 감소된다. 제안된 RSA 암호 시스템은 VHDL(VHSIC Hardware Description Language)을 이용하여 모델링하였고, $Synopsys^{TM}$사의 Design Analyzer를 이용하여 논리합성(Altera 10K lib. 이용)을 수행하였다. 또한, FPGA 구현을 위하여 Altera MAX+PLUS II상에서 타이밍 시뮬레이션을 수행하였다. 실험을 통하여 제안된 방법은 계산 속도가 매우 빠르며, 하드웨어 면적도 매우 감소함을 확인하였다.

  • PDF

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 처리 시간이다.

개선된 다정도 CSA에 기반한 모듈라 곱셈기 설계 (A Design of Modular Multiplier Based on Improved Multi-Precision Carry Save Adder)

  • 김대영;이준용
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제33권4호
    • /
    • pp.223-230
    • /
    • 2006
  • 가산기를 이용하여 몽고메리 곱셈을 수행하는 모듈라 곱셈기를 구현하는 방법은 선택한 가산기의 종류에 따라 달라진다. 가산기로 CPA를 사용하는 경우는 캐리 전파 문제가 발생되며, CSA를 사용하는 경우는 최종 결과 보정이 요구된다. 다정도 CSA는 CSA와 CPA를 접목함으로써 이 두 문제를 동시에 해결한 방식이다. 본 논문에서는 기존의 다정도 CSA의 캐리 체인 구조를 변경함으로써, 하드웨어 자원과 수행시간을 동시에 감소시킨 새로운 방식을 제안하였다. 결과적으로, 모듈라 곱셈기를 반복 사용하여 큰 정수의 곱셈과 멱승을 수행하는 모듈을 기존의 방식보다 더 빠르고 더 작게 구현할 수 있다.

나눗셈 체인을 이용한 RSA 모듈로 멱승기의 구현 (Implementation of RSA modular exponentiator using Division Chain)

  • 김성두;정용진
    • 정보보호학회논문지
    • /
    • 제12권2호
    • /
    • pp.21-34
    • /
    • 2002
  • 본 논문에서는 최근 발표된 멱승방법인 나눗셈 체인을 적용한 새로운 모듈로 멱승기의 하드웨어 구조를 제안하였다. 나눗셈 체인은 제수(divisor) d=2 또는 $d=2^I +1$ 과 그에 따른 나머지(remainder) r을 이용하여 지수 I를 새롭게 변형하는 방법으로 전체 멱승 연산이 평균 약 1.4$log_2$E 번의 곱셈으로 가능한 알고리즘이다. 이것은 Binary Method가 하드웨어 구현 시 항상 worst case인 $2log_2$E의 계산량이 필요한 것과 비교할 때 상당한 성능개선을 의미한다. 전체 구조는 파이프라인 동작이 가능한 선형 시스톨릭 어레이 구조로 설계하였으며, DG(Dependence Graph)를 수평으로 매핑하여 k비트의 키 사이즈에 대해 두 개의 k 비트 프레임이 k/2+3 개의 PE(Processing Element)로 구성된 두 개의 곱셈기 모듈을 통해 병렬로 동시에 처리되어 100% 처리율을 이루게 하였다. 또한, 규칙적인 데이터 패스를 가질 수 있도록 나눗셈체인을 새롭게 코딩하는 방법을 제안하였다. ASIC 구현을 위해 삼성 0.5um CMOS 스탠다드 셀 라이브러리를 이용해 합성한 결과 최장 지연 패스는 4.24ns로 200MHz의 클럭이 가능하며, 1024비트 데이터 프레임에 대해 약 140kbps의 처리속도를 나타낸다. 복호화 시에는 CRT(Chinese Remainder Theorem)를 적용하여 처리속도를 560kbps로 향상시켰다. 전자서명의 검증과정으로 사용되기도 하는 암호화 과정을 수행할 때 공개키 E는 3,17 혹은 $2^{16} +1$의 사용이 권장된다는 점을 이용하여 E를 17 비트로 제한할 경우 7.3Mbps의 빠른 처리속도를 가질 수 있다.

래딕스-4 몽고메리 곱셈기 기반의 고속 RSA 연산기 설계 (Design of high-speed RSA processor based on radix-4 Montgomery multiplier)

  • 구본석;유권호;장태주;이상진
    • 정보보호학회논문지
    • /
    • 제17권6호
    • /
    • pp.29-39
    • /
    • 2007
  • 본 논문에서는 래딕스-4 몽고메리 곱셈기 기반의 고속 RSA 연산기를 제안하고 그 구현 결과를 제시한다. 캐리저장 가산기 기반의 래딕스-4 몽고메리 곱셈기를 제안하고, 중국인의 나머지 정리를 적용할 수 있도록 그 구조를 확장하였다. 이를 바탕으로 설계한 1024-비트 RSA 연산기는 1024-비트 모듈러 지수승을 0.84M 클락 사이클, 512-비트 지수승은 0.25M 클락 사이클 동안 각각 계산할 수 있으며, 0.18um 공정을 이용하여 구현한 결과, 최대 300MHz 클락 속도를 가지므로 1024-비트 지수승은 365Kbps, 512-비트 지수승은 1,233Kbps의 성능을 각각 가진다. 또한 고속 RSA 암호 시스템의 구현을 위해, 몽고메리 매핑 계수 계산 및 중국인 나머지 정리의 전처리 과정에 적용할 수 있도록 모듈러 감산 기능을 하드웨어로 구현하였다.