计算机密码学实验1

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

计算机密码学实验1

实验1古典密码学一、实验目的通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础。二、实验原理古典密码算法的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面主要讲两种常见的具有代表性的古典密码算法。1、替代密码替代密码算法的原理是使用替代法进行加密,就是将明文中的字符用其他字符替代后形成密文。例如:明文字母a,b,c,d,用d,e,f,g作对应替换后形成密文.替代密码包括多种类型,如单表替代密码、多明码替代密码、多字母替代密码、多表替代密码等。以单表替代密码——恺撒密码为例。它的加密方法就是将明文中的每个字母用此字符在字母表中后面第k个字母替代。它的加密过程可以表示为下面的函数:E(m)=(m+k)modn,其中,m为明文字母在字母表中的位置数;n为字母表中的字母个数;k为密钥;E(m)为密文字母在字母表中对应的位置数。2、置换密码置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码有时又称为换位密码。矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attackbeingsat\nfive,密钥为cipher,将明文按照每行6个字母的形成排在矩阵中,形成如下形式:attackbeginsatfive根据密钥cipher中各字母在字母表中出现的先后顺序,给定一个置换:根据上面的置换,将原有矩阵中字母按照第1,4,5,3,2,6列的顺序排列,则有下面的形式:aacttkbingesaivfte从而得到密文:abatgftetcnvaiikse其解密的过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。一、实验环境运行Windows或者Linux操作系统的PC机,具有gcc(Linux)、VC(Windows)等C语言编译环境。二、实验内容和步骤(1)自己创建明文信息,并选择一个密钥,编写替代密码算法的实现程序,实现加密和解密操作;(2)自己创建明文信息,并选择一个密钥,编写置换密码算法的实现程序,实现加密和解密操作
查看更多

相关文章

您可能关注的文档