黑客攻击RSA密码
使用小素数可能会破坏RSA密码,但如果使用大数字则认为不可能.指出难以破解RSA密码的原因如下:
暴力攻击不起作用有太多可能的钥匙要完成.此外,这会占用大量时间. 字典攻击在RSA算法中不起作用,因为键是数字的,并且不包含任何字符. 字符的频率分析非常难以理解,因为单个加密块代表各种字符. 攻击RSA密码没有具体的数学技巧.RSA解密方程为 :
M = C ^ d mod n
在小素数的帮助下,我们可以尝试攻击RSA密码,下面提到相同的示例代码 :
def?p_and_q(n): ???data?=?[] ???for?i?in?range(2,?n): ??????if?n?%?i?==?0: ?????????data.append(i) ???return?tuple(data) def?euler(p,?q): ???return?(p?-?1)?*?(q?-?1) def?private_index(e,?euler_v): ???for?i?in?range(2,?euler_v): ??????if?i?*?e?%?euler_v?==?1: ?????????return?i def?decipher(d,?n,?c): ???return?c?**?d?%?n def?main(): ??????e?=?int(input("input?e:?")) ??????n?=?int(input("input?n:?")) ??????c?=?int(input("input?c:?")) ??????#?t?=?123 ??????#?private?key?=?(103,?143) ??????p_and_q_v?=?p_and_q(n) ??????#?print("[p_and_q]:?",?p_and_q_v) ??????euler_v?=?euler(p_and_q_v[0],?p_and_q_v[1]) ??????#?print("[euler]:?",?euler_v) ??????d?=?private_index(e,?euler_v) ??????plain?=?decipher(d,?n,?c) ??????print("plain:?",?plain) if?__name__?==?"__main__": ???main()
输出
以上代码产生以下输出 :
以上就是python密码学黑客攻击RSA密码的详细内容,更多关于python密码学RSA攻击的资料请关注其它相关文章!
查看更多关于python密码学黑客攻击RSA密码的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did17036