文档库

最新最全的文档下载
当前位置:文档库 > 信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

实验五古典密码算法

实验目的:

通过编程实现替代密码算法和置换密码算法,加深对古典密码体制的了解,为深入学习密码学奠定基础。

实验环境:

运行Windows 或Linux 操作系统的PC 机,具有gcc(Linux)、VC(Windows)等C 语言编

译环境。

实验原理:

古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法进行文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。

1. 替代密码

替代密码算法的原理是使用替代法进行加密,就是将文中的字符用其它字符替代后形成密文。例如,明文字母a、b、c、d,用D、E、F、G 做对应替换后形成密文。

替代密码包括多种类型,如单表替代密码、多明码替代密码、多字母替代密码、多表替

代密码等。下面我们介绍一种典型的单表替代密码——凯撒(Caesar)密码,又叫循环移位密码。它的加密方法就是将文中的每个字母用此字符在字母表中后面第K 个字母替代。它的加密过程可以表示为下面的函数:

E(m)=(m+k) mod n

其中,m 为明文字母在字母表中的位置数;n 为字母表的字母个数;k 为密钥;E(m)为

密文字母在字母表中对应的位置数。

例如,对于明文字母H,其在字母表中的位置数为8,设k=5,则按照上式计算出来的

密文为L,计算过程如下:

E(8)=(m+k) mod n=(8+5) mod 26=13=I

2. 置换密码

置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现

明文信息的加密。置换密码有时又称为换位密码。

矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在

一个矩阵中,然后根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attack begins at five,密钥为cipher,将明文按照每行6 个字母的形式排在矩阵中,形成如

下形式:

a t t a c k

b e g i n s

a t f i v e

根据密钥cipher 中各字母在字母表中出现的先后顺序,给定一个置换:

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法

信息安全 实验五 古典密码算法