<p>我在Wiki上遵循RSA算法:<a href="http://en.wikipedia.org/wiki/RSA_(algorithm)" rel="nofollow">http://en.wikipedia.org/wiki/RSA_(algorithm)</a></p>
<p>我使用的是python3.3.0,我正在尝试RSA加密,但遇到了两个我不知道怎么做的问题。你知道吗</p>
<p>在Encryptions类中,我的方法都需要缩进一级,以表明它们是该类的方法,而不是全局函数。你知道吗</p>
<p>当主脚本在最后请求输入时,如果我只是按return,就会抛出一个异常,说明Python达到了一个意外的EOF。你知道吗</p>
<p>我该怎么做?你知道吗</p>
<p>到目前为止我的代码是:</p>
<p>你知道吗模块化.py你知道吗</p>
<pre><code>def _base_b_convert(n, b):
if b < 1 or n < 0:
raise ValueError("Invalid Argument")
q = n
a = []
while q != 0:
value = int(q % b)
a.append(value)
q =int(q / b)
return a
def mod_exp(base, n, mod):
if base < 0 or n < 0 or mod < 0:
raise ValueError("Invalid Argument")
a = (_base_b_convert(n, 2))
x = 1
pow = base % mod
for i in range(0, len(a)):
if a[i] == 1:
x = (x * pow) % mod
pow = pow**2 % mod
return x
</code></pre>
<p>你知道吗主.py你知道吗</p>
<pre><code>from encryptions import Encryptions
def main():
enc = Encryptions()
message = enc.encrypt(message)
print(message)
print()
print("Decrypting message:")
message = enc.decrypt(message)
print(message)
input("--Press any key to end--")
if __name__ == '__main__':
main()
</code></pre>