密文破解加密算法
实训目的
理解加密系统的概念。
掌握经典加密的主要方法。
理解混淆与扩散的概念。
掌握DES加密的主要方法。
了解非对称加密的重要意义。
掌握RSA加密算法的主要思想与使用方法。
理解数字签名的作用及生成方法。
实训准备及注意事项
1.硬件:装有Windows操作系统的计算机1台。
2.软件:C/C++编译环境、DES Tool、RSATool2v17、Hash Tool。
3.关键程序代码和实验结果以截图的形式进行保留。
实训背景
“密码”或“加密系统”用于“加密”数据。
对于原始的未加密的数据,我们称之为“明文”。
对于加密的结果,我们称之为“密文”。
通过称为“解密”的过程,我们把密文恢复成原始的明文。
古典密码算法历史上曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。古典密码学的两种加密思路如下:
1. 替换密码
简单替换密码加密是通过将当前字母替换为在常规字母表中第n个位置之后的那个字母来完成的。较复杂的替换密码是为字母表建立映射关系,由此可以产生更大的密钥空间。
2. 换位密码
换位密码不对任何明文内容进行替换,而是通过换位(打乱顺序)的方法进行加密。典型的换位密码是双换位密码,这种加密方案首先要将明文写在一个给定大小的矩阵中,然后对行和列依据特定的序列进行置换操作。
混淆(confusion):使密文与密钥的关系尽可能复杂化,使得对手即使获取了许多明文和对应的密文,以及关于密文的一些统计特性,也无法推测密钥。
扩散(diffusion):让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响。这样可以隐蔽明文的统计特性。当然,理想的情况是让明文中的每一位影响密文中的所有位,或者说让密文中的每一位受明文中所有位的影响。
分组密码:可以看成经典的电报密码本加密技术的现代传承,其中由密钥来决定电报密码本的选择。一次加密一组数据,密钥长度为一组数据的长度。
DES加密:
DES加密是三大著名且经典的加密算法之一,为分组对称加密算法。DES算法(或国产等效算法)在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC(消息鉴别码Message Authentication Code)校验等。
DES(Data Encryption Standard)是分组对称密码算法。DES采用了64位的分组