信息系统安全实验指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《信息系统安全》课程实验指导书

实验学时:课内实验18学时

实验类型:验证性

实验要求:必修

适用对象:软件工程

实验一:古典密码算法---代换技术(4学时)

一、实验目的

通过本实验的学习,使学生编程实现古典密码算法中的代换密码技术,培养学生的编程能力和对基础算法的理解,加深对古典密码体制技术的了解,为今后继续深入现代密码学的学习奠定基础。

二、实验内容

实现代换密码的加解密;

三、实验原理、方法和手段

古典密码算法历史上曾被广泛应用,大都使用手工和机械操作来实现加密和解密,比较简单。古典密码主要是利用密码算法实现文字信息的加密和解密,本实验运用两种常见的具有代表性的古典密码技术---代换密码技术,以帮助学生对密码算法建立一个初步的认识和印象。

代换密码:

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

代换密码包括多种类型,如单表替代密码,多明码替代密码,多字母替代密码,多表替代密码等.本实验利用一种典型的单表替代密码---恺撒(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 26 = 12 = L

四、实验环境、条件

运行Windows 7操作系统的PC机,具有C语言编译环境。

五、实验组织运行要求

根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学,每个学生按照实验指导书,独立完成实验。

六、实验步骤

根据实验原理部分对凯撒密码算法的介绍,自己创建明文信息,并选择一个密钥k,编写凯撒密码算法的实现程序,实现加密和解密操作.

参考程序:

1.加密:K=4

2.解密密文:VSRQJHEREVTXDUHSDQWYU:

def decrypt_password(password, offset)

pwdLength = len(password)

pwd = ""

for index in range(pwdLength):

ascciiNum = ord(password[index]) - 65 + offset

ascciCha = chr(ascciiNum % 26 + 65)

pwd += str(ascciCha)

return pwd

for index in range(0, 26):

print decrypt_password("VSRQJHEREVTXDUHSDQWU", -3).lower() 明文为: spongebobsquarepantr

七、实验报告

本实验为古典密码学算法的验证类实验,需要按实验报告模板的表格填写,具体要求如

下:

(1)实验总结要反映实验步骤中的结果,并提供文字描述。

(2)除教师评语外,实验报告表中的每项内容均由本实验的同学填写。

(3)实验总结和实验自我评语,严禁雷同。

(4)实验报告需要按实验报告模板的格式进行填写。

实验二:古典密码算法---置换技术(4学时)

一、实验目的

通过本实验的学习,使学生编程实现古典密码算法中的置换密码技术,培养学生的编程能力和对基础算法的理解,加深对古典密码体制技术的了解,为今后继续深入现代对称密码学的学习奠定基础。

二、实验内容

实现置换密码的加解密。

三、实验原理、方法和手段

古典密码算法历史上曾被广泛应用,大都使用手工和机械操作来实现加密和解密,比较简单。古典密码主要是利用密码算法实现文字信息的加密和解密,本实验运用常见的具有代表性的古典密码技术---置换密码技术,以帮助学生对密码算法建立一个初步的认识和印象。置换密码:

置换密码又称为换位密码,算法的原理是不改变、替换明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。

矩阵换位法是实现置换密码的一种常用方法(类似于教材中的双换位密码)。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。

例如,明文为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中各字母在字母表中出现的先后顺序,给定一个置换:

1 2 3 4 5 6

F=

1 4 5 3

2 6

根据上面的置换,将原有矩阵中的字母按照第1列,第4列,第5列,第3列,第2列,第6列的顺序排列,则有下面形式:

a a c t t k

b i n g e s

a i v f t e

从而得到密文:abatgftetcnvaiikse

其解密的过程是根据密钥的字母数作为列数,将密文按照列,行的顺序写出,再根据由密钥给出的矩阵置换产生新的矩阵,从而恢复明文。

四、实验环境、条件

运行Windows操作系统的PC机,具有C语言、C++编译环境。

五、实验组织运行要求

根据本实验的特点、要求和具体条件,采用以学生自主训练为主的开放模式组织教学,每个学生按照实验指导书,独立完成实验。

六、实验步骤

根据实验原理部分对置换密码算法的介绍,自己创建明文信息,并选择一个密钥,编写置换密码算法的实现程序,实现加密和解密操作.

七、实验报告

本实验为古典密码学算法的验证类实验,需要按实验报告模板的表格填写,具体要求如下:

(1)实验总结须反映实验步骤中的结果,并提供文字描述。

(2)除教师评语外,实验报告表中的每项内容均由本实验的同学填写。

(3)实验总结和实验自我评语,严禁雷同。

(4)实验报告需要按实验报告模板的格式进行填写。

实验三:DES加解密算法的实现(6学时)

一、实验目的

通过本实验的学习,使学生学会编程实现DES加解密算法,培养学生的编程能力和对DES算法的理解,深入理解对称加密算法和Feistel结构,为今后继续深入对称和非对称密码学的学习奠定基础。

二、实验内容

实现DES算法的加解密。

三、实验原理、方法和手段

DES(Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。DES算法以被应用于许多需要安全加密的场合。

1.DES加密:

相关文档
最新文档