• 제목/요약/키워드: Exponentiation algorithm

검색결과 67건 처리시간 0.03초

모듈라 멱승 연산의 빠른 수행을 위한 새로운 모듈라 곱셈 알고리즘 (A New Modular Multiplication Algorithm for Fast Modular Exponentiation)

  • 홍성민;오상엽;윤현수
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 1995년도 종합학술발표회논문집
    • /
    • pp.173-182
    • /
    • 1995
  • 모듈라 멱승(modular exponentiation) 연산은 암호학에서 기본적이고 중요한 연산이다. 그러나, 이는 다정도 정수(multiple precision integer)들을 다루기 때문에 그 연산시 간이 무척 많이 걸리므로 이를 단축시킬 필요가 있다. 모듈라 멱승 연산은 모듈라 곱셈(modular multiplication)의 반복으로서, 전체 연산시간을 단축시키기 위해서는 모듈라 곱셈의 수행시간을 단축시키거나, 모듈라 곱셈의 반복횟수를 줄이는 것이 필요하다. 본 논문에서는 모듈라 곱셈을 빠르게 수행하기 위한 알고리즘 두 개를 제안한다. 하나는 서로 다른 두 수의 모듈라 곱셈 알고리즘이고, 다른 하나는 모듈라 제곱을 빠르게 수행하는 알고리즘이다. 이 둘은 기존의 모듈라 곱셈 알고리즘들에 비해 각각 절반과, l/3가량의 단정도 곱셈(single-precision multiplication)만을 필요로 한다. 실제로 PC상에서 구현한 결과 각각 100%와 30%의 속도향상을 보인다.

  • PDF

효율적인 $GF(p^m)$ 멱승 연산을 이용한 타원곡선 기저점의 고속 생성 (Fast Generation of Elliptic Curve Base Points Using Efficient Exponentiation over $GF(p^m)$))

  • 이문규
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제34권3호
    • /
    • pp.93-100
    • /
    • 2007
  • Koblitz와 Miller가 암호시스템에 타원곡선을 사용할 것을 제안한 이래, 타원곡선 암호에 관한 다양한 연구가 진행되어 왔다. 타원곡선 암호는 타원곡선 상의 점들이 덧셈 연산에 대한 군을 형성한다는 관찰에 기반하고 있는데, 안전한 암호를 실현하기 위해서는 군의 위수에 큰 소수를 인자로 포함하는 적절한 타원곡선을 찾고 이 큰 소수를 위수로 갖는 기저점을 찾는 작업이 매우 중요하다. 현재까지 타원 곡선을 찾거나 해당 군의 위수를 계산하는 방법에 관해서는 많은 연구가 있어 왔으나, 곡선이 주어질 때 기저점을 찾는 문제에 대한 연구 결과는 많지 않다. 이에 본 논문에서는 $GF(p^m)$ 상에서 정의된 타원곡선 상에서 임의의 기저점을 찾는 효율적인 방안을 제시한다. 먼저 우리는 기저점을 찾는 데 있어 가장 중요한 연산이 멱승 연산임을 밝히고, 다음에 $GF(p^m)$ 상에서의 멱승을 빠르게 하기 위한 효율적인 알고리즘들을 제시한다. 마지막으로 이 알고리즘들을 구현하여 다양한 실제 타원 곡선 상에서 실험한 결과들을 제시하는데, 이에 따르면 본 논문에서 제안하는 알고리즘은 이진 멱승에 기반한 기저점 탐색 알고리즘에 비해 탐색 속도를 1.62-6.55 배 향상시킴을 확인할 수 있다.

모듈라 멱승 연산의 빠른 수행을 위한 덧셈사슬 휴리스틱과 모듈라 곱셈 알고리즘들 (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%의 성능향상을 보인다.

고속 멱승을 위한 새로운 모듈라 감소 알고리듬 (A New Modular Reduction Algorithm for Fast Exponentiation)

  • 하재철;이창순;문상재
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 1996년도 종합학술발표회논문집
    • /
    • pp.151-159
    • /
    • 1996
  • 본 논문에서는 right-to-left 형태의 멱승 연산에 적합한 고속 모듈라 감소 알고리듬을 제안하고 이를 여러 멱승 방식에 적용했을 경우의 계산 속도 및 메모리 사용효율을 기존의 방식들과 비교하였다. 분석 결과, 기존의 방식보다 고속으로 멱승을 수행할 수 있고 m-ary 방식이나 window 방식에서는 사용 메모리를 줄일 수 있다.

  • PDF

윈도우 방법과 인수분해 방법을 혼합한 빠른 멱승 알고리즘 (A Fast Exponentiation Algorithm Using a Window Method and a Factoring Method)

  • 박희진;박근수;조유근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.539-541
    • /
    • 2000
  • 윈도우 방법과 인수분해 방법을 혼합 적용하면 멱승 연산에 사용되는 곱셈 연산의 횟수를 줄임으로써 멱승 연산을 빠르게 수행할 수 있다. 지수가 512비트일 때 윈도우의 크가 5인 윈도우 방법은 607번 정도의 곱셈 연산을 필요로 하는데 반해 윈도우와 인수분해 방법을 혼합한 방법은 599번 정도의 곱셈 연산을 필요로 한다. 이는 현실적으로 가능한 멱승 연산 중에서 가장 적은 수의 곱셈 연산을 요구하는 방법이다.

  • PDF

나눗셈 체인을 이용한 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의 빠른 처리속도를 가질 수 있다.

특정한 유한체 Fq상에서의 제곱근 알고리즘 (Square Root Algorithm in Fq for Special Class of Finite Fields)

  • 구남훈;조국화;권순학
    • 한국통신학회논문지
    • /
    • 제38A권9호
    • /
    • pp.759-764
    • /
    • 2013
  • $q{\equiv}5$ (mod 8)의 경우에 유한체 $F_q$상에서 Atkin의 제곱근 알고리즘과 $q{\equiv}9$ (mod 16)의 경우에 Kong의 알고리즘으로부터 일반적인 제곱근 알고리즘을 제안한다. 우리의 알고리즘은 s가 $2^s|q-1$을 만족하는 가장 큰 양의 정수라 할 때, $2^s$차 원시근 ${\xi}$를 미리 계산하였고 s의 값이 작을 때 적용가능하다. 제시한 알고리즘은 제곱근을 계산하기 위해 한 번의 지수계산이 필요하고, Akin, M$\ddot{u}$ller, Kong의 알고리즘과 비교해보아도 유리하다.

타원곡선 공개키 생성을 위한 고속 스칼라곱 연산 시스템 구현 (Development of High Speed Scalar Product Operation System for ECC Public Key)

  • 김갑열;이철수;박석천
    • 한국정보통신학회논문지
    • /
    • 제14권2호
    • /
    • pp.394-402
    • /
    • 2010
  • 온라인에서 유통되는 수많은 정보들은 데이터로 제작되어 전송되고 있으며 이들 정보들은 타인에 노출될 경우 큰 문제가 발생할 수 있는 정보들이 다수 차지하고 있다. 따라서 과거부터 최근까지 보호가 필요한 정보들의 안전한 유통채널 확보를 위해 다양한 방법들이 연구되고 있으며 그 대표적인 기술이 암호 시스템이다. 암호 시스템은 다양한 수학적 이론과 다양한 암호 알고리즘을 바탕으로 구현되므로 고속 연산의 중심을 두고 연구가 진행되어 지고 있다. 하지만 최근 들어 비공개키 암호 시스템에 비해 공개키 암호 시스템에 대한 연구는 지지부진한 형편이며 따라서 본 논문에서는 대표적인 공개키 암호 시스템인 ECC 암호 시스템에서 고속 공개키 생성을 위한 스칼라곱 연산 시스템을 연구하였다. 제안하는 시스템은 실제 구현을 통해 기존 이진 NAF 시스템과 이진 검색 시스템을 비교 분석 하였고 그 결과 본 논문에서 제안한 시스템이 기존 시스템보다 공개키 생성의 시간적 효율이 우수한 것을 확인하였다.

유한체 $F{_p}{^{k}}$에서 효율적으로 제곱근을 구하는 알고리즘들 (Efficient Computation of Square Roots in Finite Fields $F{_p}{^{k}}$)

  • 한동국;최두호;김호원;임종인
    • 정보보호학회논문지
    • /
    • 제18권6A호
    • /
    • pp.3-15
    • /
    • 2008
  • 본 논문에서는 확장체 $F{_p}{^{k}}$(k 홀수) 에서 효율적으로 제곱근을 구하는 방법을 제안한다. 제곱근을 구하는 알고리즘은 표수 p의 조건에 따라서 여러 가지 방법들이 제안되었다. 특히, 알고리즘을 구성하는 중심 되는 연산 중의 하나가 지수승연산이다. 본 연구에서는 기존의 제곱근을 구하는 알고리즘에 사용되는 지수승의 지수들이 표수 p을 활용한 p-진법으로 표현할 경우, 특별한 형태의 주기성을 가지는 표현으로 나타내어짐을 증명하고, 이것을 활용해 기존의 알고리즘들을 효율적으로 계선하는 방법을 제안한다. 본 논문에서 제안한 방법은 표수 p의 조건에 의존하지 않고, 지수승 기반의 기존의 모든 제곱근 알고리즘에 적용 가능하다는 장점을 가지고 있다. 지금까지 알려진 바로는, 본 논문이 처음으로 Tonelli-Shanks 알고리즘을 효율적으로 개선하였으며, $p{\equiv}1$ (mod 16) 인 경우 60% 이상의 효율성 증대가 있었다. 다른 제곱근 알고리즘에 적용한 결과들도 비교표들을 이용해 언급되어 있으며, 기존의 방법들에 비해 상당히 효율적임을 나타내고 있다.

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