Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check1-iws44/
Upload File :
Current File : /var/www/html/venkat/check1-iws44/gcd_e.py

import random
def isPrime(n):
    rang = int(n**0.5)+1;
    for i in range(2,rang):
        if n%i==0:
            return False

    return True
def rprime():
	p = 10000
	q = 100000
	primes = [i for i in range(p,q) if isPrime(i)]
	n = random.choice(primes)
	return n
def gcd(a,b):
	while a:
		a, b = b%a, a
	return a 

def modinv(a,m):
	gcd , x, y = egcd(a,m)
	if gcd != 1:
		return 0  # modular inverse does not exist
	else:
		return x % m

def egcd(a,b):
	x,y, u,v = 0,1, 1,0
	while a != 0:
		q, r = b//a, b%a
		m, n = x-u*q, y-v*q
		b,a, x,y, u,v = a,r, u,v, m,n
	gcd = b
	return gcd, x, y
p1 = rprime()
q1 = rprime()
pp = (p1-1)*(q1-1)
#kk = input("inverse: ")
#pp = input("modn: ")
kk = 3;
inv = modinv(kk,pp)
while (inv == 0):
	kk = kk + 1;
	inv = modinv(kk,pp)
print p1, q1, pp, kk, inv