《密码学基础实验》实验指导书(模板)_第1页
《密码学基础实验》实验指导书(模板)_第2页
《密码学基础实验》实验指导书(模板)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二密码学基础实验一、实验目的通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为 深入学习密码学奠定基础。二、实验环境运行Windows操作系统的PC机、具有C语言编译环境。三、实验原理古典密码算法历史上曾被广泛应用,大都比拟简单,使用手工和机械操作来实 现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密 和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法 建立一个初步的印象。.替代密码替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替 代后形成密文。例如:明文字母a, b, c, d ,用D, E, F, G

2、做对应替换后形 成密文。替代密码包括多种类型,如单表替代密码,多明码替代密码,多字母替代密码, 多表替代密码。下面我们介绍一种典型的单表替代密码,恺撒(caesar)密码,又叫循环移位密 码。它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母 替代。它的加密过程可以表示为下面的函数:E(m)=(m+k) mod n其中:m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密 钥;E(m)为密文字母在字母表中对应的位置数。例如,对于明文字母H,其在字母表中的位置数为8,设k=4,那么按照上式计 算出来的密文为L:E(8)=(m+k) mod n =(8+4) mod 2

3、6 = 12 = L凯撒密码是将每一个字母向前推移K位。如K=3,那么它的每一个明文字符都由 其右边第三个(模26)字符代换如将字母A换作字母D,将字母B换作字母E。如有这样一条指令:RETURN TO ROME用恺撒密码加密后就成为:UHWXUA WR URPH如果这份指令被敌方截获,也将不会泄密,因为字面上看不出任何意义。这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左19位,就 产生这样一个明密对照表:明:ABCDEFGHIJKLMNOPQRSTUVWXYZ密:TUVWXYZABCDEFGHIJKLMNOPQRS2.置换密码置换密码算法的原理是不改变明文字符,只将字符在明文中

4、的排列顺序改变, 从而实现明文信息的加密。置换密码有时又称为换位密码。矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给的顺序安 排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。 例如,明文为attack begins at five,密钥为cipher,将明文按照每行6列的形式排在 矩阵中,形成如下形式:attackbeginsa t f i v e根据密钥cipher中各字母在字母表中出现的先后顺序,给定一个置换: 123456145326根据上面的置换,将原有矩阵中的字母按照第1列,第4列,第5列,第3列,第 2列,第6列的顺序排列,那么有下面形式:

5、a a c 11 kbingesa i v f t e从而得到密文:abatgftetcnvaiikse。其解密的过程是根据密钥的字母数作为列数,将密文按照列,行的网页序写出,再根据 由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。四、实验内容1、用VC+6.0编程实现替换密码;2、用VC+6.0编程实现置换密码;五、实验步骤(1)根据实验原理局部对替代密码算法的介绍,自己创立明文信息,并选择 一个密钥k,编写替代密码算法的实现程序,实现加密和解密操作。(2)根据实验原理局部对置换密码算法的介绍,自己创立明文信息,并选择 一个密钥,编写置换密码算法的实现程序,实现加密和解密操作文按照列,行的顺 序写出,再根据由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。六、实验结果1、L2、某个公司采用公用 传递数据,数据是四位的整数,在传递过程中是加 密的,加密规那么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论