• 제목/요약/키워드: Public-key cryptosystems

검색결과 58건 처리시간 0.022초

RSA 암호계에 대한 결정적 공격법에 관한 연구 (On a Deterministic Attack Against The RSA Cryptosystem)

  • 김용태
    • 한국전자통신학회논문지
    • /
    • 제13권4호
    • /
    • pp.737-744
    • /
    • 2018
  • RSA 암호계는 가장 널리 쓰이는 공개키 암호계로서, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA 암호계의 안정성은 큰 수를 소인수 분해하는 것이 어렵다는 것에 기반을 두고 있다. 이러한 이유로 큰 정수의 소인수분해 방법에 많은 연구가 진행되고 있으나, 지금까지 알려진 연구 결과는 모두 실험적이거나 확률적이다. 본 논문에서는, 복소 이차체의 order의 류 반군의 구조와 비 가역 이데알의 성질을 이용하여 인수분해를 하지 않으면서 큰 정수의 소인수를 구하는 알고리즘을 구성한 다음, RSA 암호계에 대한 결정적 공격법을 제안하기로 한다.

Knapsack 공개키 암호법의 효율적인 구현 (An Efficient Construction of Chor-Rivest Knapsack Cryptosystem)

  • 김세헌
    • 정보보호학회논문지
    • /
    • 제1권1호
    • /
    • pp.16-28
    • /
    • 1991
  • Knapsack 암호체계는 NP-Complete 인 Knapsack 문제에 기초한 공개키 암호체계이다. 이러한 암호체계의 안정성에 관하여서는 그동안 많은 논란이 있어 왔다. 쉬운 Knapsack 문제를 모듈라연산으로 숨기는 거의 모든Knapsack 암호체계가 계속하여 개발되어 왔다.특히 Bose-Chowla 정리에 근거하여 모듈라 연산을 사용하지 않는 Chor_Rivest knapsack 암호체계는 기존의 모든 암호분석 방법에 대하여 안전한 것으로 알려져 있다. 본 연구에서는 Knapsack 문제를 정수계획법 문제로 변환하고 이를 이완하여 해를 구함으로써 Knapsack 문제의 부분해를 구할 수 있음을 보인다. 이는 일반적인 Knapsack 암호체계는 구현상의 효율성이 제고된 안전한 Knapsack 공개키 암호체계를 제시하고자 한다.

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(2$^{m}$ ) 상의 고속 곱셈 역원 연산 알고리즘 (A Fast Algorithm for Computing Multiplicative Inverses in GF(2$^{m}$) using Factorization Formula and Normal Basis)

  • 장용희;권용진
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제30권5_6호
    • /
    • pp.324-329
    • /
    • 2003
  • Diffie-Hellman 키분배 시스템과 타원곡선 암호시스템과 같은 공개키 기반 암호시스템은 GF(2$^{m}$ ) 상에서 정의된 연산, 즉 덧셈, 뺄셈, 곱셈 및 곱셈 역원 연산을 기반으로 구축되며, 이들 암호시스템을 효율적으로 구현하기 위해서는 위 연산들을 고속으로 계산하는 것이 중요하다. 그 중에서 곱셈 역원이 가장 time-consuming하여 많은 연구 대상이 되고 있다. Format 정리에 의해$\beta$$\in$GF(2$^{m}$ )의 곱셈 역원 $\beta$$^{-1}$$\beta$$^{-1}$=$\beta$$^{2}$sup m/-2/이므로 GF(2$^{m}$ )의 임의의 원소에 대해 곱셈 역원을 고속으로 계산하기 위해서는, 2$^{m}$ -2을 효율적으로 분해하여 곱셈 횟수를 감소시키는 것이 가장 중요하며, 이와 관련된 알고리즘들이 많이 제안되어 왔다 이 중 Itoh와 Tsujii가 제안한 알고리즘[2]은 정규기저를 사용해서 필요한 곱셈 횟수를 O(log m)까지 감소시켰으며, 또한 이 알고리즘을 향상시킨 몇몇 알고리즘들이 제안되었지만, 분해과정이 복잡하다는 등의 단점이 있다[3,5]. 본 논문에서는 실제 어플리케이션에서 주로 많이 사용되는 m=2$^{n}$ 인 경우에, 인수분해 공식 x$^3$-y$^3$=(x-y)(x$^2$+xy+y$^2$)와 정규기저론 이용해서 곱셈 역원을 고속으로 계산하는 알고리즘을 제안한다. 본 논문의 알고리즘은 곱셈 횟수가 Itoh와 Tsujii가 제안한 알고리즘 보다 적으며, 2$^{m}$ -2의 분해가 기존의 알고리즘 보다 간단하다.

$GF(2^{m})$ 상에서 새로운 디지트 시리얼 $AB^{2}$ 시스톨릭 어레이 설계 및 분석 (Design and Analysis of a Digit-Serial $AB^{2}$ Systolic Arrays in $GF(2^{m})$)

  • 김남연;유기영
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권4호
    • /
    • pp.160-167
    • /
    • 2005
  • $GF(2^{m})$ 상의 공개키 암호 시스템에서 나눗셈/역원은 기본이 되는 연산으로 내부적으로 $AB^{2}$ 연산을 반복적으로 수행함으로써 계산이 된다. 본 논문에서는 유한 필드 $GF(2^{m})$상에서 $AB^{2}$ 연산을 수행하는 디지트 시리얼(digit-serial) 시스톨릭 구조를 제안하였다. L(디지트 크기)×L 크기의 디지트 시리얼 구조로 유도하기 위하여 새로운 $AB^{2}$ 알고리즘을 제안하고, 그 알고리즘에서 유도된 구조의 각 셀을 분리, 인덱스 변환시킨 후 병합하는 방법을 사용하였다. 제안된 구조는 공간-시간 복잡도를 비교할 때, 디지트 크기가 m보다 적을 때 비트 패러럴 구조에 비해 효율적이고, $(1/5)log_{2}(m+1)$ 보다 적을 때 비트 시리얼(bit-serial) 구조에 비해 효율적이다. 또한, 제안된 디지트 시리얼 구조에 파이프라인 기법을 적용하면 그렇지 않은 구조에 비해 m=160, L=8 일 때 공간-시간 복잡도가 $10.9\%$ 적다. 제안된 구조는 암호 프로세서 칩 디자인의 기본 구조로 이용될 수 있고, 또한 단순성, 규칙성과 병렬성으로 인해 VLSI 구현에 적합하다.

Weil 정리를 이용한 효율적인 타원곡선의 위수 계산법의 구현 (Efficient Implementations of Index Calculation Methods of Elliptic Curves using Weil's Theorem)

  • 김용태
    • 한국전자통신학회논문지
    • /
    • 제11권7호
    • /
    • pp.693-700
    • /
    • 2016
  • 현재 사용되고 있는 유한체 GF(q)위의 non-supersingular 타원곡선 이산대수문제에 기반한 공개키 암호법의 안전성을 보장하기 위해서는 타원곡선의 위수의 크기와 소인수의 크기를 계산하는 일이 매우 중요하다. 그런데 타원곡선의 위수를 구하는 전통적인 방법인 Schoof 알고리즘은 매우 복잡하여 지금도 개선작업이 진행중이다. 본 논문에서는 복잡한 Schoof 알고리즘을 피하기 위하여, 표수가 2인 유한체의 합성체$GF(2^m)=GF(2^{rs})=GF((2^r)^s)$ 위에서 Weil 정리를 이용하여 타원곡선의 위수를 계산하는 방법을 제안한다. 또한, 그에 따른 알고리즘과 그 알고리즘을 적용한 프로그램을 실행하여 타원곡선 암호법에 사용될 수 있는 효율적인 곡선으로 ${\sharp}E(GF(2^5))=36$일 때의 합성체 $GF(2^5)^{31})$ 위에서 위수에 $10^{40}$ 이상인 소인수를 포함하는 non-supersingular 타원곡선을 찾을 수 있었다.

RSA의 오일러 함수 𝜙(n) 해독 2kβ 알고리즘 (A 2kβ Algorithm for Euler function 𝜙(n) Decryption of RSA)

  • 이상운
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권7호
    • /
    • pp.71-76
    • /
    • 2014
  • 대표적인 공개키 암호방식인 RSA에 사용되는 합성수 n=pq의 큰자리 소수 p,q를 소인수분해하여 구하는 것은 사실상 불가능하다. 공개키 e와 합성수 n은 알고 개인키 d를 모를 때, ${\phi}(n)=(p-1)(q-1)=n+1-(p+q)$을 구하여 $d=e^{-1}(mod{\phi}(n))$의 역함수로 개인키 d를 해독할수 있다. 따라서 ${\phi}(n)$을 알기위해 n으로부터 p,q를 구하는 수학적 난제인 소인수분해법을 적용하고 있다. 소인수분해법에는 n/p=q의 나눗셈 시행법보다는 $a^2{\equiv}b^2(mod\;n)$, a=(p+q)/2,b=(q-p)/2의 제곱합동법이 일반적으로 적용되고 있다. 그러나 다양한 제곱합동법이 존재함에도 불구하고 아직까지도 많은 RSA 수들이 해독되지 않고 있다. 본 논문은 ${\phi}(n)$을 직접 구하는 알고리즘을 제안하였다. 제안된 알고리즘은 $2^j{\equiv}{\beta}_j(mod\;n)$, $2^{{\gamma}-1}$ < n < $2^{\gamma}$, $j={\gamma}-1,{\gamma},{\gamma}+1$에 대해 $2^k{\beta}_j{\equiv}2^i(mod\;n)$, $0{\leq}i{\leq}{\gamma}-1$, $k=1,2,{\ldots}$ 또는 $2^k{\beta}_j=2{\beta}_j$${\phi}(n)$을 구하였다. 제안된 알고리즘은 $n-10{\lfloor}{\sqrt{n}}{\rfloor}$ < ${\phi}(n){\leq}n-2{\lfloor}{\sqrt{n}}{\rfloor}$의 임의의 위치에 존재하는 ${\phi}(n)$도 약 2배 차이의 수행횟수로 찾을 수 있었다.

JPV 소수 생성 알고리즘의 확률적 분석 및 성능 개선 (Probabilistic Analysis of JPV Prime Generation Algorithm and its Improvement)

  • 박희진;조호성
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제35권2호
    • /
    • pp.75-83
    • /
    • 2008
  • Joye와 연구자들은 기존의 조합 소수 판단 검사에서 trial division 과정을 제거한 새로운 소수 생성 알고리즘 (이하 JPV 알고리즘)을 제시하였으며, 이 알고리즘이 기존의 조합 소수 생성 알고리즘에 비해 $30{\sim}40%$ 정도 빠르다고 주장하였다. 하지만 이 비교는 전체 수행시간이 아닌 Fermat 검사의 호출 횟수만을 비교한 것으로 정확한 비교와는 거리가 있다. 기존의 조합 소수 생성 알고리즘에 대해 이론적인 수행시간 예측 방법이 있음에도 불구하고 두 알고리즘의 전체 수행시간을 비교할 수 없었던 이유는 JPV 알고리즘에 대한 이론적인 수행 시간 예측 모델이 없었기 때문이다. 본 논문에서는 먼저 JPV 알고리즘을 확률적으로 분석하여 수행시간 예측 모델을 제시하고, 이 모델을 이용하여 JPV 알고리즘과 기존의 조차 소수 생성 알고리즘의 전체 수행시간을 비교한다. 이 모델을 이용하여 펜티엄4 시스템에서 512비트 소수의 생성 시간을 예측해 본 결과 Fermat 검사의 호출 횟수를 이용한 비교와는 달리 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘보다 느리다는 결론을 얻었다. 이러한 이론적인 분석을 통한 비교는 실제 동일한 환경에서 실험을 통해서 검증되었다. 또한, 본 논문에서는 JPV 알고리즘의 성능 개선 방법을 제시한다. 이 방법을 사용하여 JPV 알고리즘을 개선하면 동일한 공간을 사용할 경우에 JPV 알고리즘이 기존의 조합 소수 생성 알고리즘과 비슷한 성능을 보인다.