密码学实验第三组实验报告

时间:2024.3.31

云南大学数学与统计学实验教学中心实验报告

一、    实验目的:

了解零知识证明,同时掌握FFS识别方案。

二、实验内容:

1.  理解零知识证明

2.  基于GMP实现FFS零知识证明方案

三、实验环境

Linux平台 Code::Block IDE

www.koding.com  网络在线编程平台(本实验是在此平台中完成的,效果一样)

四、实验过程(请学生认真填写):

1.     预备知识:

“零知识证明”它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

2.    实验过程

A、原理分析:

Feige-Fait-Shamir是一种并行的认证形式。具体做法如下

              首先:选择大素数 q 和 p, 计算 n=pq ,Peggy 拥有密钥 s1, s2, ...,sk

               接着做如下UML图中的内容:

              

B、具体代码:

实验结果:

//缺点有:首先在编写好程序后才发现,无法模拟伪造者来进行。这个由结果就能看出来。

//同时,此程序仅仅模拟,做不到并行认证。

五、实验总结

1.遇到的问题、分析并的出方案(列出遇到的问题和解决办法,列出没有解决的问题):

遇到问题

主要是对于算法的不熟悉,不能清晰的认识整个算法运作。

分析并解决:

仔细揣摩,并且动手写了一下算法的UML图。得到了加深。

2.体会和收获。

收获:

加深了GMP中函数的运用。

在学习零知识证明的知识后,了解了什么是零知识证明,同时会了一点零知识证明的方法。这是比较大的收获——毕竟以前从没有想过这方面的东西,接触之后才恍然。

当然这个FFS算法也并不是一定的安全。也存在着一定的缺陷和漏洞,例如验证次数、对于vi的猜测等等。

六、参考文献

   GMP_Document

《应用密码学》 林岱岳

《密码学概论》wade trape

七、教师评语:


第二篇:密码学实验讲义及实验报告20xx


密码学基础

实 验 指 导 书

黑龙江大学计算机科学技术学院

20xx年3月

黑龙江大学计算机科学技术学院——密码学基础实验报告

目录

前言........................................................................................................................... - 2 - 要求与评分标准....................................................................................................... - 3 - 1 要求 ...................................................................................................................- 3 - 2 评分标准 ...........................................................................................................- 3 - 实验1 古典密码的实现(3学时) .................................................................... - 4 - 实验2 对称密钥密码体制的实现(6学时) .................................................... - 4 - 实验3 公开密钥密码算法的实现(6学时) .................................................... - 5 - 实验4 数字签名算法的实现(3学时) ............................................................ - 5 - 附录1:实验报告格式 ........................................................................................... - 7 -

- 1 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

前言

密码学基础是一门理论性和实践性都很强的课程,各种加密算法、解密算法在现实中有广泛的应用。为了培养学生的实际工作能力,加深对各种算法的理解,本课程在古典密码、对称密钥密码算法、非对称密钥密码算法以及数字签名上均安排了上机实践的内容,使学生在掌握各种算法的原理的基础上,按以下的基本实践内容的要求完成各个算法,达到学以致用的目的。

学生在做加密算法时,对明文利用加密算法进行加密后,需要再利用解密算法进行解密,以便验证结果的正确性;在做数字签名时,对消息进行数字签名后,需要进行验证。

本课程共安排了六个实验题目,每个题目根据难易程度而学时不等。每个同学在实验报告的最后要给出对每个实验的收获、体会、希望和建议以便于不断改进教学积累经验。

- 2 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

要求与评分标准

《密码学基础》课程实验的目的是为了使学生在课堂学习的同时,通过一系列的实验,使学生加深理解和更好地掌握《密码学基础》课程教学大纲要求的内容。

1 要求

在《密码学基础》的课程实验过程中,要求学生做到:

(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前做出思考和分析。

(2)仔细观察调试程序过程中出现的各种问题,记录主要问题,做出必要说明和分析。

(3)认真按照模板书写实验报告。

(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。

(5)实验课程不迟到。如有事不能出席,所缺实验一般不补。

(6)同学在做实验之前要求熟练掌握一种开发环境进行程序设计。 2 评分标准

实验的验收分为两个部分。第一部分是上机操作,包括设计结果的验收与检查。第二部分是提交书面的实验报告。具体评分标准如下:

(1)实验成绩占总成绩的20%。

(2)每个实验满分5分,验收时按完成情况打分。

- 3 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

实验1 古典密码的实现(3学时)

(一)实验目的

1了解各种古典密码的加密过程和解密过程

2掌握两种古典密码加密和解密的具体实现

(二)实验类型

验证型

(三)实验内容与步骤

1用自己熟悉的语言实现程序。

2输入明文消息以及密钥。

3实现一种古典密码的加密、解密过程。

4实现另一种古典密码。

5 总结古典密码的密钥空间以及安全性。

实验2 对称密钥密码体制的实现(6学时)

(一)实验目的

1掌握对称密钥密码体制

2掌握DES加密、解密算法

3掌握子密钥的产生过程

(二)实验类型

验证

(三)实验内容及步骤

1消息的分组

在DES算法中,每一次只能对64位明文进行加密,首先对明文消息进行分组,如果消息不够64的整数倍,用零进行填充。

2初始置换

建立初始置换表,将明文通过置换表进行置换。

316次迭代运算

在每一次迭代中,包含扩展置换、子密钥产生、S-盒代替等操作。扩展操作,利用扩展规则,将32位信息扩展成48位。将扩展得到的信息与子密钥进行异或, - 4 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

子密钥按照子密钥规则产生。S-盒代替,利用8个S盒将48位信息压缩成32为。在迭代中的结构采用Feistel结构。

4逆置换

将16次迭代的结果进行逆置换产生密文。

5 利用加密的逆过程进行解密,验证加密的正确性。

(四)有关说明:

1该算法加密可以是二进制,也可以是字符或者是数字,如果是字符或者是数字,首先将其转化成比特流。

实验

(一)实验目的

1掌握公开密钥密码的原理

2掌握RSA算法的加密和解密过程

3用程序实现RSA算法的加密和解密

(二)实验类型

设计型

(三)实验步骤与内容

1素数的判定

在RSA算法中,需要应用大的素数,采用Rabin-miller算法对大数进行判断,是否为素数。

2 大数的运算(小数模拟)

将大数的运算做为一个子程序,完成求逆的过程,产生公开密钥和私有密钥。 3 幂运算

在RSA算法中,需要进行幂的运算,将此运算做成子函数形式。

4 利用RSA算法进行加密,并用私有密钥进行解密。 3 公开密钥密码算法的实现(6学时)

实验4 数字签名算法的实现(3学时)

(一)实验目的:

1掌握数字签名的原理

2掌握其中一种数字签名算法

- 5 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

(二)实验类型

设计型

(三)实验步骤及内容:

1 选择数字签名算法(数字签名标准DSS或者RSA数字签名)。 2 划出签名过程和验证过程的流程图。

3 输入DSS算法的各个参数

包括系统公共参数:大素数P,P-1的素因子,以及生成元。每个用户的公开密钥和私有密钥。

4 签名过程

发送方选择一个随机数r,利用签名信息计算出签名信息(R,S),将此信息发送给接受方,信息的传送可以用SOCKET实现。

5 验证过程

接受方接受信息后,要用数字签名的验证算法验证签名的正确性。 - 6 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

附录1:实验报告格式

实验报告格式说明:

各位同学请在上机实验后认真撰写实验报告,实验报告成绩作为实验成绩的一部分。

- 7 -

黑龙江大学计算机科学技术学院——密码学基础实验报告

实 验 报 告 课程名称: 密码学基础

实验名称: 古典密码的实现

实验编号: 实验1

指导教师:

一、实验目的

二、实验内容与实验步骤

三、实验环境

操作系统Windows XP

开发环境VC++ 6.0

四、实验过程与分析

//主要设计思想与算法

五、实验结果总结

//测试用例、实验结果

//经验、教训、收获、体会

六、附录 班级:计算机 学号: 姓名: 组号: 实验成绩: 批阅教师签字: 实验日期: 2007 年 11月 8 日 实验时间: 18时 0分- 20时 0分

//如果你对这个实验还有其他的解决方案或设想,请在此描述。 //回答实验内容与步骤中提出的问题

8

更多相关推荐:
实验报告_密码学

信息安全实验报告学号学生姓名班级实验三密码学实验一古典密码算法实验一实验目的通过编程实现替代密码算法和置换密码算法加深对古典密码体制的了解为深入学习密码学奠定基础二编译环境运行windows或linux操作系统...

实验报告_密码学

密码学与网络安全技术课程上机报告学号119xx4339姓名许海龙班级网112班教师卫琳娜安徽工业大学密码学实验一古典密码算法实验一实验目的通过编程实现替代密码算法和置换密码算法加深对古典密码体制的了解为深入学习...

密码学实验报告

密码学实验报告学院计算机科学与技术班级学号姓名指导老师实验日志实验题目DES或AES分组密码实验目的熟悉分组密码加解密算法的基本原理加深对所提供的部分源程序的理解分组密码将明文分成一组一组在密钥的控制下经过加密...

密码学实验报告

密码学实验报告实验一DES加密算法实验一实验目的理解对称加解密算法的原理和特点理解DES算法的加解密原理二实验背景DES算法为密码体制中的对称密码体制又被称为美国数据加密标准是19xx年美国IBM公司研制的对称...

密码学实验报告

江苏大学学院专业姓名学号计算机学院信息安全09023090604035小组成员AES对称加密算法实现一AES对称加密算法实现原理AESTheAdvancedEncryptionStandard接受一个128位的...

密码学实验报告3

哈尔滨工程大学实验报告实验名称DES加密班级学号姓名实验时间20xx615成绩指导教师实验室名称哈尔滨工程大学实验室与资产管理处制一实验名称MD5加密二实验目的通过编程实现MD5加密的算法设计并加深对其的了解三...

密码学实验报告四

现代密码学实验报告报告创建时间

现代密码学课程设计实验报告 -

西安科技大学《现代密码学》课程设计报告题目:密码学计算器学院:计算机科学与技术学院班级:姓名:学号:日期:20XX.1.8一.课程设计题目密码学计算器的研究与实现二.分工对称密码程序实现Des算法组长:古典密码…

密码学实验1

现代密码学及其应用实验报告报告创建时间20xx1125备注1教师在布置需撰写实验报告的实验前应先将报告书上的实验题目实验性质实验目的实验项目内容等项目填写完成然后再下发给学生2教师在布置需撰写报告的实验项目时应...

安徽工业大学密码学实验报告

安徽工业大学密码学实验报告姓名甘家伟学号109074288班级网101指导教师卫琳娜20xx年12月1日实验一古典密码学实验一凯撒密码的加解密1实验原理在密码学中存在着各种各样的置换方式但所有不同的置换方式都包...

密码学实验

信息安全导论实验报告实验名称密码学实验学员姓名培养类型所属学院指导教员所属单位杨毅科学和工程技术类计算机学院赵文涛学号专业年级职称20xx06043013信息安全20xx级教授计算机学院网络工程系计算机学院网络...

密码学实验4

实验4非对称密码算法RSA一实验目的通过实际编程了解非对称密码算法RSA的加密和解密过程加深对非对称密码算法的认识二实验原理1算法原理步骤如下这里设B为是实现者1B寻找出两个大素数p和q2B计算出npq和np1...

密码学实验报告(37篇)