def keyGenerating(primeBit, A): myPK = [0, 0, 0] batasBawah = pow(2, (primeBit - 1)) up = primeBit batasAtas = (pow(2, up)) batasAtas = batasAtas - 1 prime = randint(batasBawah, batasAtas) prime = nonExshaustingPrimeGenerator.valueOf(prime) #prime = nonExshaustingPrimeGenerator.nextProbablePrime(prime) while (primality.pengujianMSR(prime) == False): prime = nonExshaustingPrimeGenerator.nextProbablePrime( prime) #randint(batasBawah, batasAtas) prime = int(prime) alpha = primitiveRoot.GaussForPrimitiveRoot(prime) alpha_a = pow(alpha, A) alpha_a = alpha_a % prime myPK[0] = alpha myPK[1] = alpha_a myPK[2] = prime return myPK