信息加密与哈希函数

DES加密:

DES加密是三大著名且经典的加密算法之一,为分组对称加密算法。DES算法(或国产等效算法)在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC(消息鉴别码Message Authentication Code)校验等。

DES(Data Encryption Standard)是分组对称密码算法。

DES算法利用多次组合替代算法和换位算法,分散和错乱的相互作用,把明文编制成密码强度很高的密文,它的加密和解密用的是同一算法。

DES算法是一种分组加密机制,将明文分成N个组,然后对各个组进行加密,形成各自的密文,最后把所有的分组密文进行合并,形成最终的密文。

3DES算法:

3DES即三重数据加密算法,相当于是对每个数据块应用三次DES加密。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击。

3DES使用3个密钥,对明文先使用key1进行des加密形成密文1,接着使用key2对密文1进行解密形成密文2,最后使用key3对密文2进行加密形成密文3。即:密文=EK3(DK2(EK1(明文))),明文=DK1(EK2(DK3(密文)))。

3DES标准定义了三种密钥选项:

密钥选项1:三个密钥是独立的。

密钥选项2:K1和K2是独立的,而K3=K1密钥选项3:三个密钥均相等,即K1=K2=K3密钥选项1的强度最高,拥有3 x 56 = 168个独立的密钥位。

密钥选项2的安全性稍低,拥有2 x 56 = 112个独立的密钥位。该选项比简单的应用DES两次的强度较高,即使用K1和K2,因为它可以防御中途相遇攻击(英语:meet-in-the-middle attack)。

密钥选项3:等同于DES,只有56个密钥位。这个选项提供了与DES的兼容性,因为第1和第2次DES操作相互抵消了。该选项不再为国家标准科技协会(NIST)所建议,亦不为ISO/IEC 18033-3所支持。

MD5算法:

英文名:Message Digest Algorithm V5。

中文名:消息摘要算法第五版。

算法的输入:任何长度的字节流。

算法的输出:16字节值(有时会以32位十六进制字符表示)。

算法特点:加密过程不需要密钥,加密后的数据无法被解密。只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。所以不存在密钥的管理与分发问题。

算法流程:相当复杂。

算法应用:文件一致性验证、数字证书、访问认证。

 

古典密码学:

 1.解密"由人俱乙口一中"和"大中口由人由工",两段密文的解密结果相同。都是:5201314

2.解密佛曰:諳摩呐若死漫哆蘇菩世梵智藝梵楞梵多梵夷冥數罰不一智提爍梵漫漫罰知冥槃僧奢心哆利皤切缽伊諳姪藝哆諦呐室智怯神怯瑟侄醯呐涅哆倒侄醯奢麼穆奢集般夢依侄神梵度亦三心滅楞逝諳無顛諳離諳。冥智恐死即者怯所不離。

解为摩斯电码:.. .-.. --- ...- . -.-- --- ..- 再解为:iloveyou

3.YmJhYWFhYmJiYWJhYmFhYWFhYWFiYWFhYmFhYmFhYWFiYmFiYWFhYmFhYmFhYWFhYWFiYWFiYg==  base64解码为:

bbaaa abbba babaa aaaaa baaab aabaa aabba baaab aabaa aaaaa baabb 再解为:y o u a r e g r e a t

对称加密(DES):

1.利用DES Tool对文本信息进行加密和解密,结果如图:

DES 算法 python des算法的作用_密钥长度

 

DES 算法 python des算法的作用_DES 算法 python_02

2. 利用DES tool对文件进行加密解密。选用的是txt文件,1.txt为要加密的文件,2.txt为加密好的文件,3.txt为解密后的2.txt文件。

DES 算法 python des算法的作用_txt文件_03

3.打开DES,勾选3DES,输入密钥1,密钥2和明文,进行加密,得到密文,记录下此时的密钥1,密钥,明文和密文。取消勾选3DES,用密钥1解密文得到明文1。用密钥2加密明文1得到密文1。用密钥1解密文1得到明文。我们会发现得到的明文和之前使用3DES时输入的明文一样。