• Title/Summary/Keyword: Pollard Rho algorithm

Search Result 4, Processing Time 0.019 seconds

Multiple Parallel-Pollard's Rho Discrete Logarithm Algorithm

  • Lee, Sang-Un
    • Journal of the Korea Society of Computer and Information
    • /
    • v.20 no.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%.

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

  • Lee, Sang-Un
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.17 no.6
    • /
    • pp.19-25
    • /
    • 2017
  • This paper deals with integer factorization of two prime p,q of SHA-256 secure hash value n for Bit coin mining. This paper proposes an algorithm that greatly reduces the execution time of Pollard's rho integer factorization algorithm. Rho(${\rho}$) algorithm computes $x_i=x^2_{i-1}+1(mod\;n)$ and $y_i=[(y^2_{i-1}+1)^2+1](mod\;n)$ for intial values $(x_0,y_0)=(2,2)$ to find the factor 1 < $gcd({\mid}x_i-y_i{\mid},n)$ < n. It however fails to factorize some particular composite numbers. The algorithm proposed in this paper applies multiple initial values $(x_0,y_0)=(2^k,2^k)$ and ($2^k,2$), $2{\leq}k{\leq}10$ to the existing Pollard's Rho algorithm. As a results, the proposed algorithm achieves both the factorization of all the composite numbers and the reduction of the execution time of Pollard's Rho by 67.94%.

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

  • Lee, Sang-Un
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.17 no.3
    • /
    • pp.1-7
    • /
    • 2017
  • This paper proposes a discrete logarithm algorithm that largely reduces execution times of Pollard's Rho and Brent's algorithm in obtaining ${\gamma}$ from ${\alpha}^{\gamma}{\equiv}{\beta}$(mod p). The proposed algorithm can be distinguished from the conventional Brent's algorithm by three major features: it sets an initial value as $x_0={\alpha}{\beta}$ in lieu of $x_0=1$; replaces $y=x_i$, ($i=2^k$) pointer with $y_j{\leftarrow}x_i$, ($i=2^k$, $1{\leq}j{\leq}10$) for a Queue the size 10; and detects collision of ${\beta}_{\gamma}$, ${\beta}_{{\gamma}^{\prime}}$, ${\beta}_{{\gamma}^{-1}}$ instead of ${\beta}_{\gamma}$. This Queue method has reduced the execution time of Pollard's Rho algorithm with $x_0=y_0=1$ by 65.02%, and that of Brent's algorithm with $x_0=1$ by 47.80%.

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

  • Sang-Un Lee
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.23 no.5
    • /
    • pp.15-20
    • /
    • 2023
  • Until now, Pollard's Rho algorithm has been known as the most efficient way for discrete algebraic problems to decrypt symmetric keys. However, the algorithm is being studied on how to further reduce the complexity of O(${\sqrt{p}}$) performance, along with the disadvantage of having to store the giant stride m=⌈${\sqrt{p}}$⌉ data. This paper proposes an array method for cycle detection in discrete logarithms. The proposed method reduces the number of updates of stack memory by at least 73%. This is done by only updating the array when (xi<0.5xi-1)∩(xi<0.5(p-1)). The proposed array method undergoes the same number of modular calculation as stack method, but significantly reduces the number of updates and the execution time for array through the use of a binary search method.