是的,这是公认的作业。我已经使用phi(n)
和p
使用Miller-Rabin生成了q
,现在我需要生成e
。据我了解,使用3或65537作为e
是标准的,但是我应该特别地“找到e –相对于phi(n)来说是质数的398位数字”
我的问题是如何?似乎试图找到大数的因素正是使RSA安全的问题,并且遍历每个400位数字并测试相对素数似乎显然是错误的,所以我觉得我误会了。
感谢您的帮助
编辑:
我目前正在使用的代码
def generate_e(r):
# r is phi(n)
e = long_string() # uses a string as a seed
e = base_10(e) # converts string to base-10
e = e % pow(10, 398) # make len(e) == 398
# make e odd
if e % 2 == 0:
e -= 1
# iterate over increasing odd numbers until relative prime with phi(n) is found
while extended_euclid(e, r) != 1:
e += 2
return e