Esempio n. 1
0
import numpy
import gmpy2
from collections import defaultdict


p=13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084171


g=11717829880366207009516117596335367088558084999998952205599979459063929499736583746670572176471460312928594829675428279466566527115212748467589894601965568

h=3239475104050450443565264378728065788649097520952449527834792452971981976143292558073856937958553180532878928001494706097394108577585732452307673444020333

B=numpy.powmod(2,20,p)

# hash_table=[None] * (B+1)
hash_table=defaultdict(int)
i=0;

for i in range(0,B+1):
	print i
	l= numpy.powmod(g,i,p)
	l=gmpy2.invert(l,p)
	z=(h*l)%p
	# print l;
	hash_table[z]=i;
	# print z
	# print hash_table[i] 

m=numpy.powmod(g,B,p)

# for i in range(0,B+1):
Esempio n. 2
0
import gmpy2
import math
from collections import defaultdict

from gmpy2 import mpz
gmpy2.get_context().precision=10000


N = 179769313486231590772930519078902473361797697894230657273430081157732675805505620686985379449212982959585501387537164015710139858647833778606925583497541085196591615128057575940752635007475935288710823649949940771895617054361149474865046711015101563940680527540071584560878577663743040086340742855278549092581
N=179769313486231590772930519078902473361797697894230657273430081157732675805505620686985379449212982959585501387537164015710139858647833778606925583497541085196591615128057575940752635007475935288710823649949940771895617054361149474865046711015101563940680527540071584560878577663743040086340742855278549092581
N=648455842808071669662824265346772278726343720706976263060439070378797308618081116462714015276061417569195587321840254520655424906719892428844841839353281972988531310511738648965962582821502504990264452100885281673303711142296421027840289307657458645233683357077834689715838646088239640236866252211790085787877

N=720062263747350425279564435525583738338084451473999841826653057981916355690188337790423408664187663938485175264994017897083524079135686877441155132015188279331812309091996246361896836573643119174094961348524639707885238799396839230364676670221627018353299443241192173812729276147530748597302192751375739387929
N= mpz(N)*6
A=gmpy2.ceil(gmpy2.sqrt(gmpy2.mpz(N)))
B=numpy.powmod(2,20,N)
for i in range(0,B+1):
	print i
	
#x=mpz(A*A) -N 
	A=mpz(A)
	
	z=mpz(A)*mpz(A)
#print mpz(z)+1
	y=mpz(z)-mpz(N)
	x=gmpy2.sqrt(gmpy2.mpz(y))
	p=mpz(A)-mpz(x)
	q=mpz(A)+mpz(x)
	#print p
	#print mpz(p)
	if mpz(mpz(p)*mpz(q)) == mpz(N):
Esempio n. 3
0
import numpy
import gmpy2
import math
from collections import defaultdict

from gmpy2 import mpz
gmpy2.get_context().precision=100000


N = 179769313486231590772930519078902473361797697894230657273430081157732675805505620686985379449212982959585501387537164015710139858647833778606925583497541085196591615128057575940752635007475935288710823649949940771895617054361149474865046711015101563940680527540071584560878577663743040086340742855278549092581
N=179769313486231590772930519078902473361797697894230657273430081157732675805505620686985379449212982959585501387537164015710139858647833778606925583497541085196591615128057575940752635007475935288710823649949940771895617054361149474865046711015101563940680527540071584560878577663743040086340742855278549092581
#N=648455842808071669662824265346772278726343720706976263060439070378797308618081116462714015276061417569195587321840254520655424906719892428844841839353281972988531310511738648965962582821502504990264452100885281673303711142296421027840289307657458645233683357077834689715838646088239640236866252211790085787877
A=gmpy2.ceil(gmpy2.sqrt(gmpy2.mpz(N)))
B=numpy.powmod(2,20,N)
for i in range(0,B+1):
	#print i
	
#x=mpz(A*A) -N 
	A=mpz(A)
	
	z=mpz(A)*mpz(A)
#print mpz(z)+1
	y=mpz(z)-mpz(N)
	x=gmpy2.sqrt(gmpy2.mpz(y))
	p=mpz(A)-mpz(x)
	q=mpz(A)+mpz(x)
	#print p
	#print mpz(p)
	if mpz(mpz(p)*mpz(q)) == mpz(N):
		break