2015年10月

RSA破解算法研究的一些心得

最近研究RSA破解算法,找了大量资料,得到一些心得,这里记录下。
1、RSA算法有公钥和私钥,一般资料上都是数字来举例,实际看见的有字母,这里要注意下资料上的是10进制,实际是16进制。
2、公钥和私钥是一对,一个私钥对应一个公钥,用公钥可以计算出私钥,用私钥可以计算出公钥,不过用私钥计算公钥的计算量比用公钥计算私钥的计算量小。
3、公钥本身也是一对,私钥本身也是一对的,公钥(n,e),私钥(n,d),其中n=pq,p和q是互不相等的质数,令t=(p-1)(q-1),有p和q了就可以计算出n,e是自己选的,一般是用的65537(16进制10001),e需要和t互质,且1<e<t,然后公式ed%t=1,这里e和t是已知的,解出一个d就可以了。
4、知道怎么用p、q生成公钥、私钥了,那么现在就知道了破解RSA算法的方法了,把公钥中的n拿来分解质因数,就可以得到p、q,然后就可以计算出私钥了。

补充:公钥和私钥区分并不明显,公钥加密用私钥解密,私钥加密的用公钥解密。

下面是我用python写的代码,测试了些简单的,可以很快计算出,代码用的python 3





- 阅读剩余部分 -

安装cydia substrate时无法Link的解决方法

问题现象:
点击link substrate files后出现shell status1:[Unix.cpp:99]Permission denied

解决过程:
1、确认是否给了cydia substrate root权限。
2、使用ES文件管理器等文件管理工具进入/system/vendor,修改/system/vendor/lib权限为drwxrwxrwx。
3、进入cydia substrate,重新点击link substrate files。
4、重新开关机,问题解决。

附:
1、设备无法启动时,怎么解决?
2、Getting Started
3、安卓 Java 教程(VioletExample)