《图解密码技术》笔记
刚刚搜索了下好多人都写过了。我就不详细写了,简单写下自己的总结
1.历史上的密码
(1)凯撒密码:其实就是把平移加密法,比如把字母全部向后便宜两个字母,比如iloveyou加密为knqxgaqw;解密的时候反向解密为iloveyou。
缺点:很容易被破解最多尝试25次就可以破解出大概的意思,暴力破解都很简单。
(2)简单替换密码:把字母对应相互替换,比如把i替换成l,l替换成o,o替换成i,iloveyou加密为loiveyiu;解密的时候反向解密为iloveyou。
优点:解密的时候比凯撒密码更复杂。
缺点:暴力破解很难,犹太人发现了频谱法破解,比如根据某个字母出现的频率来破解(比如某个行业或者生活正a字母用的最多,而密文中b出现的次数最多,机密的时候就要把b替换成a),文本越多破解几率越大。
(3)其他:比如藏头诗,这种属于混淆,放入一些不相干的文字,真正有意义的文字放在有规律的地方。
缺点:知道规律很容易破解
优点:也许可以顺便写首优美的诗(应该是缺点吧,加个密还要写首诗)
(4)enigma加密机:二战时候的使用的加密机器很牛逼的。等到阿兰.图灵他们破解后才让战局得到一定的逆转。
原理:每次输入一个字母(a)返回一个对应的字母(b),这个时候a和b的电路是联通的,破解的人输入b能得到a,同时转自转一下,下一次输入转子转一下,输入m得到a。这样就避免了简单替换密码的缺点
2.对称加密
加密解密用的相同的秘钥很多时候用xor运算。
比如一次性密码本,被称为无法破击的密码,但是一次性密码本的密码和源文件一样大,密码需要专门的配送。
另外还有DES,多重DES。AES等,AES的安全性更高
3.公钥加密
加密解密用的不同的秘钥,秘钥自己用,公钥可以发布出去。这样比人发的消息和你发的消息别人不能随意更改和查看。
代表:RSA,缺点速度可能慢点
4.单项散列函数
不可逆,用于文件等是否被篡改。比如md5,SHA-3等
5.消息认认证码
相当于单向散列值和对称加密的结合,保证消息的准确性和来源的可靠性双重验证。
但是不能防止否认。比如这条消息可能是有秘钥的双方发的。
6.数字签名
相当于单向散列值和公钥加密的结合,保证消息的准确性和来源的可靠性双重验证。并且可以知道加密人,无法否认。主要作用不是对消息加密,主要是对消息的来源的确认和数据正确性的确认。
9.证书
证书相当于给公钥加上数字签名。如图中,认证机构给bob的公钥加上自己的签名,这样有个统一的可信任的中心,大家要默认新人认证机构。
可能出问题的环节:1.bob去认证的时候被劫持更改,2.认证机构的私钥泄露。
10展望
量子密码:
利用光子的偏振不可预测以及观测行为会影响光子的状态。 可以检测到别人是否“窃听”,
量子计算机:
理论上可以暴力破解现在的所有密码。