MCPcopy Create free account
hub / github.com/subbarayudu-j/TheAlgorithms-Python / generateKey

Function generateKey

ciphers/rsa_key_generator.py:10–28  ·  view source on GitHub ↗
(keySize)

Source from the content-addressed store, hash-verified

8 print('Key files generation successful.')
9
10def generateKey(keySize):
11 print('Generating prime p...')
12 p = rabinMiller.generateLargePrime(keySize)
13 print('Generating prime q...')
14 q = rabinMiller.generateLargePrime(keySize)
15 n = p * q
16
17 print('Generating e that is relatively prime to (p - 1) * (q - 1)...')
18 while True:
19 e = random.randrange(2 ** (keySize - 1), 2 ** (keySize))
20 if cryptoMath.gcd(e, (p - 1) * (q - 1)) == 1:
21 break
22
23 print('Calculating d that is mod inverse of e...')
24 d = cryptoMath.findModInverse(e, (p - 1) * (q - 1))
25
26 publicKey = (n, e)
27 privateKey = (n, d)
28 return (publicKey, privateKey)
29
30def makeKeyFiles(name, keySize):
31 if os.path.exists('%s_pubkey.txt' % (name)) or os.path.exists('%s_privkey.txt' % (name)):

Callers 1

makeKeyFilesFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected