密码学
生活就是屁颠屁颠的过
所有命运馈赠的礼物,早已在暗中标好了价格
展开
-
python密码学总结
总结导图加密法介绍凯撒加密法换位加密法乘数加密法仿射加密法简单替代加密法维吉尼亚加密法一次一密加密法RSA加密法破译加密法介绍凯撒加密法介绍里及有破译代码实例。破译换位加密法破译仿射加密法破译替代加密发破译维吉尼亚加密法一次一密加密法和RSA目前没有完美的破译方法。算法补充质数筛选法频率分析算法在破译维吉尼亚算法里介绍欧几里得的扩展算法,找出模逆算法在仿射...原创 2020-03-14 22:21:28 · 25840 阅读 · 0 评论 -
RSA加密法
RSA加密RSA加密法也叫做公钥密码学加密法。有两个密钥,一个用来加密,另一个用来解密。使用一个密钥加密的消息只能使用另一个密钥解密。公钥和全世界共享用于加密,密钥必须藏好用于解密。RSA密钥创建RSA体系的密钥由两个数字组成,创建密钥的步骤:1.创建两个随机的非常大的质数,这些数字分布成为p和q。将这些数字相乘得到一个数字,称为n。2.创建一个随机数,称作e,使它与(p-1)*(...原创 2020-03-12 21:03:52 · 26072 阅读 · 0 评论 -
质数筛选算法
判断方法1.直接计算2.埃拉托色尼筛选法3.拉宾米勒算法直接计算import mathdef isPrime(num): # 判断数是不是质数 if num < 2: return False # 目标数字的平方根内的整数是否能整除,如果能整除说明不是质数 for i in range(2, int(math.sqrt(num))...原创 2020-03-11 21:51:31 · 26227 阅读 · 0 评论 -
一次一密加密法
简介一次一密(OPT)加密法:是牢不可破的加密法,这个加密法不便于日常使用,通常只用于高度机密消息。维吉尼亚程序无需任何修改就可以实现此加密法。在维吉尼亚加密法的基础上增加以下条件便是一次一密加密法:1.密钥和要加密的消息同样长2.密钥由真正随机符号组成3.密钥只用一次,永不对其他消息复用一次一密加密法的密钥叫做密码本.为什么牢不可破1.如果密钥和消息一样长,那么每个可能的密文字母...原创 2020-03-10 22:10:25 · 32548 阅读 · 0 评论 -
破译维吉尼亚加密法
思路2种方法:1.字典攻击:把字典文件里的每个单词作为维吉尼亚密钥来尝试,这种方式只适用密钥不是随机密钥。2.利用卡西斯基实验来破解,即使是随机密钥也能工作。建议永远不要使用英语单词作为维吉尼亚加密密钥,这样容易受到字典攻击。卡西斯基实验1.在密文里找出每个至少3个字母长的重复字母集因为他们是使用密钥里的相同子密钥来加密的相同明文字母2.获取间距的因数次数最高的因数很可能就是维...原创 2020-03-09 21:38:48 · 27677 阅读 · 3 评论 -
维吉尼亚加密法
维吉尼亚加密法使用超过一组替代加密,也称为多表替代加密法。密钥是一系列字母,例如英文单词。加密方法就像在相同的消息上使用多个凯撒加密法。算法大意例如用 "PIZZA"作为密钥第一个子密钥是P 二个子密钥是I 三是Z 四是Z 五是A用第1个来加密第1个明文字母,第2个加密第2个明文字母,以此类推到了第6个明文字母时回过头来用第1个子密钥加密。例如:加密消息为 Common sen...原创 2020-03-04 21:30:03 · 28105 阅读 · 0 评论 -
破解替代加密法
思路首先必须先找出字典文件里的每个单词的模式,把它们放置在一个列表里排序好,以便获取匹配特定密词的单词模式的所有候选单词。计算字典文件里的每个单词的单词模式,保存到另一个文件里,及 wordPatterns.py文件。计算单词模式的代码是 makeWordPatterns.py理论步骤1.找出密文里的每个密词的单词模式2.找出每个密词可以解密成哪些英文单词3.使用密词的候选单词列表为...原创 2020-03-02 22:00:19 · 26326 阅读 · 0 评论 -
简单替代加密法
替代加密法主要思想就是通过将明文替代成另外一个文字来进行加密。优势就是能够有效的抵挡暴力破解。算法大意例如:使用密钥 “VJZBGNFEPLITMXDWKQUCRYAHSO”要加密的信息是:Attack at dawn.正常序列:ABCDEFGHIJKLMNOPQRSTUVWSYZ密钥序列:VJZBGNFEPLITMXDWKQUCRYAHSO密文:Vccvzi vc bvax.代码...原创 2020-02-23 20:17:42 · 27455 阅读 · 0 评论 -
破译仿射加密法
思路由于凯撒加密法有“回调”效果,仿射加密法也有。凯撒加密法受符号集大小的因素,同理仿射加密法也是,可以写个小程序验证。得出结论: 如果符号集大小是95 那么密钥可能有就是95*95=9025种(未减去不互质数),如果减去不能用的密钥,剩下数字是7125.已知可能密钥数,进行暴力破解代码实现# 验证仿射加密法“回调”效果程序def affineKeyTest(): impo...原创 2020-02-20 21:51:34 · 25806 阅读 · 0 评论 -
仿射加密法
仿射加密法乘数加密法 + 凯撒加密法 = 仿射加密法凯撒加密法:[https://blog.csdn.net/youngdianfeng/article/details/104333494]乘数加密法下面介绍。乘数加密法原创 2020-02-19 21:42:03 · 26730 阅读 · 0 评论 -
乘数加密法
乘数加密凯撒加密法是将加密和解密符号设计把他们转换成数字,加上或减去密钥,在把新的数字转换回符号,如果将加上密钥变成乘以密钥,就是乘数加密法。算法大意明文(例如F)乘以密钥(例如7),再对26取模(明文符号集的“回调”),再使用这个符号(例如:J)。例如:明文:A 数字:0 算法:(07)%26 = 0 密文:A明文:B 数字:1 算法:(17)%26 = 7 密文:H利弊优势...原创 2020-02-19 21:34:32 · 27183 阅读 · 0 评论 -
破译换位加密法
思路破译 换位加密法暴力破解方案众多密钥中,正确的密钥很可能产生可读英文通过英文检测来判断正确密钥代码实例# 换位思考加密代码文件名称为transpositionEncrypt.pyimport transpositionEncryptUPPERLETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'LETTERS_AND_SPACE = UPPERLETT...原创 2020-02-17 20:49:59 · 26513 阅读 · 0 评论 -
换位加密算法
换位加密不是把字符替换成其他字符,而是搞乱消息符号的顺序,使原来的消息不可读。算法大意明文为:Common sense is not so common.一行为8个格子,写入字符,超出则下一行。(空白字符以 ( ) 表示)1 2 3 4 5 6 7 8C o m m o n se n s e i ...原创 2020-02-16 20:01:35 · 28086 阅读 · 0 评论 -
凯撒加密法
凯撒加密法根据密钥以不同方式加密消息,密钥是从0到25的整数。算法大意将明文通过有序替换的方式变成密文,及将明文在密文字典的位置加上密钥数值后锁定密文字典里的新文字就成了密文。此方法缺点就是当知道了字典后可以尝试暴力破解。代码实例# 密文字典global LETTERSLETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'# 加密算法def cliper...原创 2020-02-15 20:05:12 · 28033 阅读 · 0 评论