当我尝试执行python程序时,我从终端获得了这个
Traceback (most recent call last):
File "ring.py", line 1, in <module>
import os, hashlib, random, crypto.PublicKey.RSA
ImportError: No module named crypto.PublicKey.RSA
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题,其他问题已证明对我的情况完全没用.
那个模块在那里,但在错误的地方?我应该从node.js这样的地方下载模块吗?或者它更像Java?
BigInteger正在发生一些奇怪的事情.我正在尝试为分配实现自己的RSA.代码如下,并且使用小数字可以很好地工作.如果我选择p = 11,q = 5,e = 7和d = 23,则终端上的输出为
Original message is: 19
Encryption of message is: 24
Decryption of message is: 19
Run Code Online (Sandbox Code Playgroud)
但是,如果我用更大的数字更改数字,它就不再起作用了.以下代码:
import java.math.BigInteger;
class RSAdumb{
public static void main(String[] args) {
BigInteger m = new BigInteger("19");
BigInteger p = new BigInteger("99989");
BigInteger q = new BigInteger("99991");
BigInteger n = p.multiply(q);
BigInteger e = new BigInteger("65537");
BigInteger d = new BigInteger("4232182107");
BigInteger c = m.modPow(e,n); //Returns a BigInteger whose value is (this^e mod n)
BigInteger check = c.modPow(d,n); …Run Code Online (Sandbox Code Playgroud)