可验证随机数的分析与实现毕业论文
2021-10-15 21:04:36
摘 要
在信息安全领域中,密码学是其核心要素,而随机数又在密码学中发挥了十分重要的作用。很多时候随机数的安全就决定了整个系统的安全,所以相关领域对随机数提出了更高的要求。可验证随机数不仅要求随机性还要求其随机性可以验证。它在加密协议中有许多应用,如密钥管理,数字签名和认证等。在本文中,我们介绍了一种可行的可验证随机数的构造方案,并对相关的概念进行了介绍,然后对可行方案的具体实现进行说明。
本文的工作主要有以下几个方面:
1、介绍了几种插值多项式的构造方法。分别介绍了利用拉格朗日插值法和重心插值法对可验证随机数进行快速构造的方法。
2、介绍了一种利用插值多项式来构造可验证随机数的方案。基于客户端服务器模型提出了一种可验证随机数的系统方案,并对此方案进行了分析。
3、根据之前介绍的方法进行系统的实现,对此系统的具体实现进行了详细说明,并对实现之后的系统进行了试验和分析。
关键词:可验证随机数,多项式插值法,秘密共享
Abstract
In the field of information security, cryptography is the core element, and a random number but also played a very important role in cryptography. A lot of times random number determines the security of the entire system, so the relevant areas of the random number is proposed higher requirements. verifiable random numbers not only requires randomness but also requested its randomness can be verified. It has many applications, such as key management, digital signatures, encryption and authentication protocols. In this article, we introduced a possible construction program verifiable random numbers, and concepts are introduced, and then implementation of feasible options will be explained.
The main work of this paper includes the following aspects:
1、Introduces several interpolation polynomial constructor.Respectively use Lagrange interpolation, Newton interpolation method and interpolation method for gravity for quick verifiable random numbers configuration.
2、Introduces a scheme of polynomial interpolation to construct a verifiable random number. Proposed a scheme verifiable system of random numbers based on a client-server model, and this scheme is analyzed.
3、The concrete realization of this system is described in detail, and after system implementation were tested and analyzed.
Keywords:Verifiable Random Number;Interpolation Polynomial; Secret Sharing
目录
第一章 绪论 1
1.1研究背景及意义 1
1.2国内外研究现状 2
1.3研究内容与结构安排 2
第二章 可验证随机数需求分析 4
2.1项目背景 4
2.2任务概述 4
2.3功能需求 4
2.3.1功能需求概述 4
2.3.2系统模块 5
2.3.3功能划分 5
2.3.4功能描述 5
2.4性能需求 5
2.5其他需求 5
2.6可行性分析 6
2.7用户特征 6
2.8运行环境 6
2.9系统属性要求 6
第三章 可验证随机数的相关概念 7
3.1 密码学 7
3.2随机数 7
3.3可验证随机数 7
3.4秘密共享 8
第四章 可验证随机数构造方案的分析 9
4.1引言 9
4.2插值法 9
4.3插值多项式的存在性和唯一性的证明 9
4.4拉格朗日插值多项式的构造方法 10
4.5基于插值多项式的可验证随机数生成方案 11
4.5.1具体步骤 11
4.5.2效率分析 11
4.5.3安全性分析 11
4.6 基于插值多项式的可验证随机数方案的效率提高 12
4.7无可信方的可验证随机数的生成方案 13
4.7.1具体步骤 13
4.7.2效率分析 15
4.7.3安全性分析 15
第五章 系统实现 16
5.1引言 16
5.2服务器端 16
5.3运算模块 17
5.3.1数据结构 17
5.3.2vc 与matlab混合编程概述 18
5.3.3验证实现 19
5.4通信模块 21
5.4.1Socket套接字 21
5.4.2基于TCP/IP的Socket编程 21
5.4.3通信规则 22
5.5客户端 22
5.6系统分析 23
5.6.1效率分析 23
5.6.2安全性分析 23
第六章 总结与展望 24
6.1本文总结 24
6.2未来展望 24
参考文献 25
致谢 26
第一章 绪论
1.1研究背景及意义
随着信息化时代的到来,我们的生活和信息的关系越来越密切,信息资源也变成了社会发展中所需要的战略资源。在国际舞台上关于信息的获取、使用和控制的斗争也愈发频繁和激烈,信息安全不仅关系到社会的稳定同时也决定着国家的安全,所以信息安全成为了一个不得不重视的问题。现今,全世界的人都通过因特网联到了一起,信息安全不再是一个专门领域的概念,而是渗透到了各行各业中,逐渐变得与每一个普通人密切相关。所以,为了提高信息与网络的安全性,需要积极的发展以自主技术为基础的信息安全产业,然而技术的发展又需要对信息安全领域的基础研究作为支持,从而提高整个专业领域的水平。
信息安全领域内的一个重要研究内容就是密码学,而随机序列是密码学中的一个基础要素:在密钥生成、数字签名、认证与鉴别等应用中以及各种与安全通信有关的协议中都需要有高质量的随机序列来进行支持。[1]随机序列在很大程度上决定了整个系统的安全性。在密码学中十分依赖随机序列的安全性,只有真正的随机序列其随机性才符合信息安全的要求,符合要求的随机序列是无法被提前预测的。是否可以产生真正的随机数目前仍有争议,但是随机序列的构造、操纵和重复获取可以肯定是无法做到的。所以在实践中一般使用伪随机数或不可预测序列。