• 제목/요약/키워드: Pollard rho algorithm

검색결과 4건 처리시간 0.015초

Multiple Parallel-Pollard's Rho Discrete Logarithm Algorithm

  • Lee, Sang-Un
    • 한국컴퓨터정보학회논문지
    • /
    • 제20권8호
    • /
    • pp.29-33
    • /
    • 2015
  • This paper proposes a discrete logarithm algorithm that remarkably reduces the execution time of Pollard's Rho algorithm. Pollard's Rho algorithm computes congruence or collision of ${\alpha}^a{\beta}^b{\equiv}{\alpha}^A{\beta}^B$ (modp) from the initial value a = b = 0, only to derive ${\gamma}$ from $(a+b{\gamma})=(A+B{\gamma})$, ${\gamma}(B-b)=(a-A)$. The basic Pollard's Rho algorithm computes $x_i=(x_{i-1})^2,{\alpha}x_{i-1},{\beta}x_{i-1}$ given ${\alpha}^a{\beta}^b{\equiv}x$(modp), and the general algorithm computes $x_i=(x_{i-1})^2$, $Mx_{i-1}$, $Nx_{i-1}$ for randomly selected $M={\alpha}^m$, $N={\beta}^n$. This paper proposes 4-model Pollard Rho algorithm that seeks ${\beta}_{\gamma}={\alpha}^{\gamma},{\beta}_{\gamma}={\alpha}^{(p-1)/2+{\gamma}}$, and ${\beta}_{{\gamma}^{-1}}={\alpha}^{(p-1)-{\gamma}}$) from $m=n={\lceil}{\sqrt{n}{\rceil}$, (a,b) = (0,0), (1,1). The proposed algorithm has proven to improve the performance of the (0,0)-basic Pollard's Rho algorithm by 71.70%.

다중 초기치 Pollards's Rho 소인수분해 알고리즘 (Integer Factorization Algorithm of Pollard's Rho Based on Multiple Initial Values)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제17권6호
    • /
    • pp.19-25
    • /
    • 2017
  • 본 논문은 비트코인 채굴에 필요한 SHA-256 암호 해시 값(n)을 구성하는 2개의 소수(p,q)를 빠르게 해독하는 소인수분해법을 다룬다. 본 논문에서는 Pollard's Rho 소인수분해 알고리즘의 수행횟수를 월등히 감소시킨 알고리즘을 제안하였다. Rho (${\rho}$) 알고리즘은 $(x_0,y_0)=(2,2)$ 초기치에 대해 $x_i=x^2_{i-1}+1(mod\;n)$$y_i=[(y^2_{i-1}+1)^2+1](mod\;n)$을 계산하여 1 < $gcd({\mid}x_i-y_i{\mid},n)$ < n으로 소인수를 구한다. 이 알고리즘은 특정 합성수에 대해서는 소인수 분해에 실패할 수 있다. 제안된 알고리즘은 Pollard Rho 알고리즘에 $(x_0,y_0)=(2^k,2^k)$와 ($2^k,2$), $2{\leq}k{\leq}10$을 적용하였다. 그 결과 모든 합성수에 대해 소인수분해를 할 수 있었으며, Pollard Rho 알고리즘의 수행횟수를 67.94% 감소시켰다.

큐를 이용한 이산대수의 사이클 검출 (Cycle Detection in Discrete Logarithm Using a Queue)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제17권3호
    • /
    • pp.1-7
    • /
    • 2017
  • 본 논문은 ${\alpha}^{\gamma}{\equiv}{\beta}$(mod p)에서 ${\gamma}$를 구하는 Pollard의 Rho와 Brent의 이산대수 알고리즘의 수행횟수를 크게 감소시키는 알고리즘을 제안하였다. 제안된 방법은 Brent 방법으로 충돌을 검출하였다. 차이점은 $x_0=1$ 대신 $x_0={\alpha}{\beta}$을, $y=x_i$, ($i=2^k$) 대신 크기가 10인 Queue에 $y_j{\leftarrow}x_i$, ($i=2^k$, $1{\leq}j{\leq}10$)를 저장하는 방법을, ${\beta}_{\gamma}$ 대신 ${\beta}={\beta}_{\gamma}$, ${\beta}_{{\gamma}^{\prime}}$, ${\beta}_{{\gamma}^{-1}}$의 충돌을 찾는 방법을 적용하였다. 제안된 Queue 적용법은 $x_0=y_0=1$${\beta}_{\gamma}$의 충돌을 검출하는 Pollard의 Rho 알고리즘의 수행횟수를 65.02%, $x_0=1$으로 ${\beta}_{\gamma}$의 충돌을 검출하는 Brent 알고리즘의 수행횟수를 47.80% 감소시켰다.

배열을 이용한 이산대수의 사이클 검출 (Cycle Detection of Discrete Logarithm using an Array)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제23권5호
    • /
    • pp.15-20
    • /
    • 2023
  • 지금까지는 Pollard의 Rho 알고리즘이 대칭키의 암호를 해독하는 이산대수 문제에 대해 가장 효율적인 방법으로 알려져 있다. 그러나 이 알고리즘은 거인걸음 보폭 m=⌈${\sqrt{p}}$⌉개의 데이터를 저장해야 하는 단점과 더불어 O(${\sqrt{p}}$) 수행 복잡도를 보다 감소시킬 수 있는 방법에 대한 연구가 진행되고 있다. 본 논문은 이산대수의 사이클 검출을 위한 Nivasch의 스택 법의 데이터 갱신 횟수를 73% 이상 감소시키는 배열법을 제안하였다. 제안된 방법은 배열을 적용하였으며, (xi<0.5xi-1)∩(xi<0.5(p-1))인 경우에 한해 배열 값을 갱신하는 방법을 적용하였다. 제안된 방법은 스택법과 동일한 모듈러 연산횟수를 보였지만 스택 법에 비해 이진탐색 법을 적용하여 배열 갱신 횟수와 탐색 시간을 획기적으로 감소시켰다.