RSA Q和P太大

时间:2018-11-28 08:15:02

标签: c++ rsa

我的RSA代码有问题。例如,如果我输入p = 11,q = 3,e = 3,n = 33和d = 7,则适用于小p和q。

但是,如果我为他们提供更大的价值,那就行不通了。我正在调试我的代码,发现问题发生在cryptoMsg方法中。我认为某些价值可能太大。但是例如Wolfram alpha可以处理此计算。在下面,您可以看到我的用于加密和解密方法的代码。

long double encryptMsg(int n, int e, long double message) {
    // Encryption c = (msg ^ e) % n 
    long double c = pow(message, (long double)e);
    long double k = fmod(c, (long double)n);
    cout << "encrypted message : " << k << endl;
    return k;
}

void decryptMsg(int n, int d, long double message) {
    // Decryption m = (c ^ d) % n 
    long double k = pow(message, (long double)d);
    long double erg = fmod(k, (long double)n);
    cout << erg << endl;

}

0 个答案:

没有答案