精品文档---下载后可任意编辑《信息安全基础实验指导》实验指导书实验一 古典密码算法实验名称:古典密码算法实验类型: 设计性实验学 时:4适用对象: 信息安全一、实验目的学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深化学习密码学奠定基础。二、实验要求分析替代密码算法和置换密码算法的功能需求,详细设计实现替代密码算法和置换密码算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论。替代密码算法和置换密码算法的实现程序必须提供加密和解密两个接口:int encrypt()和 int decrypt()。当加密或者解密成功时返回 CRYPT_OK,失败时返回 CRYPT_ERROR。三、实验原理古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。1.替代密码替代密码的原理是使用替代法进行加密,就是将明文由其它的字母、数字或符合所代替后形成密文。这里每个明文字母对应的密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。替代密码有五种表现形式:单表代替即简单替代密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。这是所有加密中最简单的方法。 多名码代替就是将明文字母表中的字符映射为密文字母表中的多个字符。多名码简单代替早在1401 年就由 DuchyMantua 公司使用。在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如 e 可能被密文 5、13 或 25 替代。 多音码代替就是将多个明文字符代替为一个密文字符。比如将字母“i” 和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于 1563 年由波他的《密写评价》(De furtiois literarum notis)一书。 多表代替即由多个简单代替组成,也就是使用了两个或两个以上的代替表。比如使用有 5 个简单代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第二个表,第三个字母用第三个表,以此类推,循环使用这五张代替表。多表代替密码由莱昂.巴蒂斯塔于 1568年发明,著名的维吉尼亚密码和博福特密码均是多表代替密码。下面我们介绍一种典型的单表替代密码——凯撒(Caesar)密码,又叫循环移位密码。...