《信息安全基础实验指导》实验指导书实验一古典密码算法实验名称:古典密码算法实验类型:设计性实验学时:4适用对象:信息安全一、实验目的学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础
二、实验要求分析替代密码算法和置换密码算法的功能需求,详细设计实现替代密码算法和置换密码算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论
替代密码算法和置换密码算法的实现程序必须提供加密和解密两个接口:intencrypt()和intdecrypt()
当加密或者解密成功时返回CRYPT_OK,失败时返回CRYPT_ERROR
三、实验原理古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密
它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密
下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象
替代密码替代密码的原理是使用替代法进行加密,就是将明文由其它的字母、数字或符合所代替后形成密文
这里每个明文字母对应的密文字母可能是一个,也可能是多个
接收者对密文进行逆向替换即可得到明文
替代密码有五种表现形式:单表代替即简单替代密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符
这是所有加密中最简单的方法
多名码代替就是将明文字母表中的字符映射为密文字母表中的多个字符
多名码简单代替早在1401年就由DuchyMantua公司使用
在英文中,元音字母出现频率最高,降低对应密文字母出现频率的一种方法就是使用多名码,如e可能被密文5、13或25替代
多音码代替就是将多个明文字符代替为一个密文字符
比如将字母“i”和“j”对应为“K”,“v”和“w”代替为“L”最古老的这种多字母加密始见于1563年由波他的《密写评价》(Defurtio