Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. g=25857960803
  2. h=20101567521
  3. p=34359738421
  4. N=p-1
  5.  
  6. def Shanks(g,h,p,N):
  7.     n=floor(sqrt(N).numerical_approx())+1
  8.     L1=[]
  9.     L1.append(1)
  10.    
  11.     for i in range(n+1):
  12.         L1.append((L1[i-1]*g)%p)
  13.     gn=L1[n].inverse_mod(p)
  14.     l2=h
  15.     j=0
  16.    
  17.     while j<n+1 :
  18.         for i in range(n+1):
  19.             if l2==L1[i]:
  20.                 x=i+n*j
  21.                 break
  22.         l2=(l2*gn)%p
  23.         j=j+1
  24.     return x
  25.  
  26. t=cputime()
  27. Shanks(g,h,p,N)
  28. #g.powermod(1099511627791)
  29. #print(randint(1,p-1))
  30. #rozw=25303478531
  31. cputime(t)
  32.  
  33. p=next_prime(2^35)
  34. F=GF(p)
  35. g=F.random_element()
  36. N=g.multiplicative_order()
  37.  
  38. N % (p-1)
  39. g
  40. h
  41. p
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement