用rsa算法解密的更好方法

时间:2015-05-03 18:29:09

标签: java algorithm encryption rsa

我正在尝试使用rsa算法解密ASCII值数组。到目前为止,这就是我所拥有的。

public void decryption3() {
        double d1 = 6;
        double d2 = 5;
        double d3 = 4;
        int key = 161;
        for(int i = 0; i < three.length; i++){
            BigInteger c1 = BigInteger.valueOf((long)(Math.pow(three[i],d1)%key));
            BigInteger c2 = BigInteger.valueOf((long)(Math.pow(three[i],d2)%key));
            BigInteger c3 = BigInteger.valueOf((long)(Math.pow(three[i],d3)%key));
            BigInteger c4 = c1.pow(8);
            BigInteger c5 = c3.pow(2);
            BigInteger c6 = c4.multiply(c5.multiply(c2));
            BigInteger c = c6.mod((BigInteger.valueOf(key)));
            decryption3.add(c);
        }
    }

这正确地计算了值并输出了正确的引用,但我想知道是否有更简单的方法来计算M = C ^ d(mod 161)中的M. 我尝试了多种方式,但这是我找到工作的唯一方法。我知道除了将d分成多个计算之外,还有一种更简单的方法。有什么建议吗?

0 个答案:

没有答案