信息加密与消息摘要(1)
《孙子兵法》有云:“知己知彼,百战不殆。不知彼而知己,一胜一负;不知彼不知己,每战必败”。信息传递在信道中可能存在着各种威胁,我国古代就非常重视信息保密以及身份认证的方式。在战争中,保护己方秘密并洞悉敌方秘密是克敌制胜的重要条件。
加密的定义
明文:原始的为加密的数据为明文
密文:即加密的结果
明文通过“密钥”的加密成为密文,再通过解密的过程,把密文恢复成为原始的明文
古典密码学
凯撒密码
将消息的加密通过当前字母替换为在常规字母表中第n个位置之后的那个字母来完成
栅栏密码
将要传递的消息中的字母交替排成上下两行,再将下面一行的字母排在上面一行的后边,从而形成一段密码。如图,我们对wyb进行加密,结果为wby,对hloodlwr进行解密,结果为helloword
当铺密码
当铺密码是一种很有意思的密码,专门用来加密数字的,不需要密钥,明文信息包含在加密后的密文中。
它通过一个汉字中隐藏的信息:笔画数,来将汉字和数字关联起来,将汉字定义为明文,将数字定义为密文,加密是将数字映射到对应笔画的汉字,解密是将汉字按照笔画映射回数字。
这个加密算法比较简单,实现的话只需要一个汉字笔画对照表,如图
例如,“由人俱乙口一中,大中口由人由工”都是由汉字笔画出头的数目映射的汉字,它们都是5201314的密文
与佛论禅
比如以下的佛语,就是经过加密的密文,我们通过网页解密得到了一串摩斯密码
佛曰:諳摩呐若死漫哆蘇菩世梵智藝梵楞梵多梵夷冥數罰不一智提爍梵漫漫罰知冥槃僧奢心哆利皤切缽伊諳姪藝哆諦呐室智怯神怯瑟侄醯呐涅哆倒侄醯奢麼穆奢集般夢依侄神梵度亦三心滅楞逝諳無顛諳離諳。冥智恐死即者怯所不離
解密后:.. .-.. --- ...- . -.-- --- ..-,通过翻译摩斯密码,解出明文是iloveyou(一般的翻译网站不可以带标点符号)
对称加密算法
DES加密算法
我们使用DES Tool,对明文进行加密。如图所示
对文件进行加密和解密,文件中的文字最好不要有标点符号
消息摘要算法
使用Hash Tool,对文件进行加密,得到MD5的值
然后对文件进行略微的修改,再次进行加密,得到MD5的值
可以发现,两次的MD5的值是不一样的
MD5是对一段信息进行信息摘要,以防止被篡改,MD5的值可以说是文件的“指纹”,每一个文件的MD5的值都是不一样的。