4 多表代替密码之Hill 密码 2实现
摘要:该解密方法的KEY 不是一个数或者一段字符串,而是一个矩阵, 比如有个3*3的KEY:那么如果我们要加密一个长度为N的字符串, 那么把N除以3,分成M个3个字母组成的小段, 对每个小段尽心加密:1. 将明文分成M个小段:{{p1,p2,p3},{p4,p5,p6}...{..pN}}2. 对每个小段...
阅读全文
4 多表代替密码之Hill 密码_1 矩阵工具类
摘要:在说明Hill加密之前要先复习线性代数的知识,主要是关于矩阵的一些运算和概念。一、矩阵的逆:定义方阵M的逆矩阵应该满足M*M^-1==I,其中I是单位矩阵,比如:但是这个地方是对英文字母进行加密,所以矩阵中的数字都是模26的值,比如: *=这个地方结果就应该mod26, 最后结果就是:那么上面两个相...
阅读全文
3 多字母代替密码
摘要:单表代替密码的缺点是通过分析每个字母出现的频率可以破解出密码, 那么如果我们把多个字母当成一个单元整体替换,那么这种概率就会小很多。比如最著名的Playfair 密码:一、首先确定一个由加密词所构成的一个5*5的加密矩阵, 比如我们使用monarchy,MONARCHYBDEFGI/JKLPQSTU...
阅读全文
2单表代替密码
摘要:Caesar 密码只有25种可能的秘钥,远不够安全。 如果让每个明文字母对应的密文字母没有规律,那么安全程度会提升很多, 比如这章所讲的单表代替密码, 思路如下:让明文字母中的每一个字母固定地和任意的一个字母交换,如果A-> C, E->Z, B->X,这样第一个字母就可以和26个字母中的任意一个交...
阅读全文
1Caesar加密
摘要:Julius Caesar发明的较早的加密术,举个例子:明文: meet me after the toga party密文: PHHW PH DIWHU WKH WRJD SDUWB其实就是讲每个字母往后移3位, 如: a->d, e->h;对于最后的三个字母采取循环模式,xyz->abc.那么...
阅读全文