实 验 报 告 实验课程名称 现 代 密 码 学 学 院 理学院 年级 0 8 专业班 03 学 生 姓 名 丁朋 学 号 2 5 开 课 时 间 2 0 1 0 至 2 0 1 1 学年第 二 学期 总 成 绩 教师签名 实验项目 名 称 实验一、古典密码(认识密码学) 成绩 一、实验目的 通过实现简单的古典密码算法,理解密码学的相关概念如明文(plaintext)、密文(ciphertext)、加密密钥(encryption key)、解密密钥(decryption key )、加密算法(encryption algorithm)、解密算法(decryption algorithm)等
二、实验内容 1)用 C\C++语言实现仿射变换(Affine)加/解密算法;2)用 C\C++语言实现统计 26个英文字母出现的频率的程序;3)利用仿射变换加/解密程序对一段较长的英文文章进行加密,再利用统计软件对明文和密文中字母出现的频率进行统计并作对比,观察有什么规律
放射变换: 加密: 26mod,bammEcba 解密: 26mod1,bcacDmba 其中 a, b 为密钥,25,0ba,且 gcd(a, 26)=1 实验要求:加/解密程序对任意满足条件的 a、b 都能够处理
三、实验步骤 (1)统计 26 个英文字母出现的频率的程序 #include #include #include using namespace std; void main(){ ifstream in("a
txt"); vector s; vector n(26,0); for(int i=0;i>x; ) for(int i=0;i