我正在练习RSA非对称加密技术并发现了一些非常奇怪的东西:更改部分私钥仍然可以解密该消息!
这是我的步骤:(在ubuntu 16.04上)
openssl genrsa -out private.key
openssl rsa -in private.key -pubout -out pub.key
然后我尝试分析私钥的结构,看看我是否改变了一些无意义的字段:
openssl rsa -in faked_private.key -text -out faked_private.txt
私钥:(2048位),模数,publicExponent,privateExponent,prime1,prime2,exponent1,exponent2,coefficient
我对RSA内部的理论不太了解,但从基本的素数公式n = p * q,我认为至少素数不应该改变。
是否有人可以在这个问题上提供帮助,答案更简单? (真的不想深入数学......)
感谢。