2918.A密钥分散管理系统——密钥确认算法实现 毕业设计论文.doc
《2918.A密钥分散管理系统——密钥确认算法实现 毕业设计论文.doc》由会员分享,可在线阅读,更多相关《2918.A密钥分散管理系统——密钥确认算法实现 毕业设计论文.doc(38页珍藏版)》请在课桌文档上搜索。
1、毕 业 设 计(论 文)题 目:密钥分散管理系统密钥确认算法实现摘 要随着人类社会进入信息时代,信息的产生、处理及安全保密已成为大家都关心的事情。为了实现信息的安全保密,人们可以采用密钥加密信息,从而使不拥有秘密钥的非法人员无法窃获信息。这使得信息的安全保密主要维系于秘密钥的安全,而不是对加密算法的保密。所以保证秘密钥的安全及如何有效地管理密钥成了密码学中十分重要的课题。本论文主要介绍了多用户口令分散管理系统的口令确认算法及界面。该程序能够迅速、准确地对n个用户中的任意k个或k个以上合法用户的口令进行确认,并对用户码和上机时间等有关信息进行记录,可在一定时间内屏蔽连续多次口令输入错误的合法用户
2、,对非法用户的恶意攻击具有较强的抗攻击能力,所编软件应具有通用性。界面设计合理、友好,具有检错和出错提示功能,界面同时应能适应系统内部参数的变化,保持相对稳定性。将密钥s S分成n个子密钥vi V,1 i n。它们满足:已知任意不少于 k (1 k n)个子密钥 vi ,可容易恢复密钥 s ;若仅知任意不多于 k - 1 个子密钥vi ,则关于密钥 s 就完全不能确定。称这种方案为( k , n)门限方案。利用这样的方案,可以将用户输入的子密钥合成后与原系统生成的密钥进行对比,当输入的k个子密钥合成后的主密钥与原系统生成的主密钥相同时,可判定为完全通过。否则,若用户多次输入错误口令,将对其进行
3、一定时间的屏蔽。关键词:密码学;密钥;分散管理;线性方程组;加密ABSTRACTAs human society entered the information age, information generation, processing and security has become a matter of interest to everyone. In order to achieve the security and confidentiality of information, people can encrypt information with key, so that peo
4、ple who dont possess the secret key can not steal illegal personnel information. This makes the security and confidentiality of information mainly depending on the security of secret keys, rather than the secrecy of the encryption algorithm. Therefore, ensuring the safety of the secret key and how t
5、o effectively manage key has become a very important issue in cryptography.This paper mainly introduces the confirmation algorithm and interface of a decentralized multi-user password management system. The program can quickly and accurately confirm any k or more than k of n legitimate users passwor
6、d. And record the user code and the time. It can shield the legitimate users who input the wrong password many times within a certain period of time. It can strongly counteract malicious attacks of illegal users. The software should be universal. The interface designing should be reasonable and frie
7、ndly. It should be with prompt error and error functions. The interface should be able to adapt to changes of system parameters and to keep stable.Key s S will be divided into n sub-keys vi V, 1 i n. They meet: no less than any known k (1 k n) sub-key vi, could easily resume the key s; if only knowi
8、ng any more than k - 1 sub-key vi, the key s can not be identified completely. That program is named the (k, n) threshold scheme.Using such programs, we can compare the sub-keys that users entered with the original system-generated keys. When the key that composed by the k inputting sub-keys is same
9、 to the original system-generated primary key, it can be judged to be completely through. Otherwise, if the users enter the wrong password several times, there is a certain period of time for their shield.Key words:Cryptography ; Key ; Decentralized management ; System of linear equations ; Encrypti
10、on目 录第一章 绪论11.1 研究的背景11.2 研究的目的1第二章 密钥分散管理相关理论32.1 (k,n)门限方案32.2 防止子密钥窜改的一般方法32.3 高斯消元法42.3.1 简介42.3.2在信息学方面的应用42.4 MD5加密算法62.4.1 简介62.4.2 算法描述72.5 密钥分配与管理102.5.1 密钥分配方案102.5.2 密钥的管理11第三章 相关技术153.1 MFC简介153.2 VC+ 6.015第四章 需求分析184.1 需求分析的任务184.2 系统功能分析184.3 系统需求分析的步骤18第五章 总体设计195.1 设计目标195.2 设计原理195.
11、3 密码确认系统的实现195.4 系统配置205.5 流程设计205.5.1密钥分散205.5.2 密钥确认21第六章 详细设计226.1 代码设计226.1.1 文件列表226.1.2 核心代码236.1.3 程序界面24结束语26致 谢27参考文献28附录A29第一章 绪论1.1 研究的背景在今天的信息社会里,通信安全保密问题的研究已不仅仅出于军事、政治和外交上的需要。科学技术的研究和发展及商业等方面,无一不与信息息息相关。所以信息就是生命,信息就是时间,信息就是财富。由于信息是共享的,信息的扩散会产生社会影响,所以保护信息的安全是信息时代的迫切需要。保护信息的安全无疑是十分重要的,然而信
12、息的丢失不容易被发现。同时它又是具有时间性的。同一信息在不同时间里的价值也是不一样的,有时候获得信息的时间比信息本身还重要。信息的存储和传输是通过载体进行的,例如,信使便是以人作为载体的。近代通信的载体有电波或电信号、磁盘等。保密有载体保密和通信保密两种。密码学主要研究保密通信,而且仅限于数据通信保密。此外,还有语音保密和图像传输保密等。近年来,密码学研究之所以十分活跃,主要原因是它与计算机科学的蓬勃发展息息相关。此外还由于电信事业以及防止日益严重的计算机犯罪的需要。由于公共和私人部门的一些机构越来越多地应用电子数据处理,将数据存储在数据库中,因此防止非法泄露、删除、修改等是必须正视的问题。特
13、别是,电子资金传输系统是一个由通信网络互相联结的金融机构,并通过这种网络传输大量资金,这是密码通信通向民用的典型例子。因此,信息的安全性也成为全社会关心的问题。1.2 研究的目的随着人类社会步入信息时代,信息的产生、处理及安全保密已成为大家都关心的事情。为了实现对信息的安全保密,人们可以采用密钥加密信息,从而使不拥有秘密钥的非法人员无法窃获信息。这使得信息的安全保密主要维系于秘密钥的安全,而不是对加密算法的保密。所以保证秘密钥(简称密钥)的安全及如何有效地管理密钥成了密码学中十分重要的课题。显然,原始的将密钥存放于某人的记忆中,或是存放于某个特殊的保险柜中等方法已均不能保证密钥的安全,并且也不
14、便于对密钥的管理。由于网络的开放性,互连性等特性,致使网络易受到黑客,恶意软件或者其他方法(如暴力穷尽)破解主密钥。由于系统的复杂性,不可能完全阻止新安全漏洞的产生。只要他们某次攻击获得成功,便可能获得主密钥,而且内部管理人员在不经意的情况下可以泄露甚至篡改主密钥,内部非管理人员可以利用管理漏洞窃取主密钥。密钥管理是数据加密技术中的重要一环,密钥管理的目的是确保密钥的安全性(真实性和有效性)。密钥既可以作为一个整体保存,也可以分散保存。整体保存的方法有人工记忆、外部记忆装置、密钥恢复、系统内部保存;分散保存的目的是尽量降低由于某个保管人或保管装置的问题而导致密钥的泄漏。一个好的密钥管理系统应该
15、做到:(1)密钥难以被窃取;(2)在一定条件下窃取了密钥也没有用,密钥有使用范围和时间的限制;(3)密钥的分配和更换过程对用户透明,用户不一定要亲自掌管密钥。为此,Shamir提出了一种实现密钥分散保管的好方法,即(k, n)门限密钥分散保管方案,简称为(k , n)门限方案。Shamir采用Lagrange内插多项式的方法构造了一种(k , n)门限方案。后来,许多学者对此作了研究,提出了许多种(k , n)门限方案。目的是使密钥的安全性有进一步提高。第二章 密钥分散管理相关理论2.1 (k,n)门限方案定义1将密钥sS分成n个子密钥viV,1in。它们满足:已知任意不少于k(1kn)个子密
16、钥vi,可容易恢复密钥s;若仅知任意不多于k-1个子密钥vi,则关于密钥s就完全不能确定.称这种方案为(k,n)门限方案。从Shannon信息论出发,可等价地有定义2。定义2将密钥sS分成n个子密钥vi集合V,1in。它们满足:对任意k个不同下标的集合,有这里H(x)为熵函数,称这种方案为(k,n)门限方案.若方案不允许有数据扩张,则还要求即每个子密钥长度应等于密钥的长度.多密钥(k,n)门限方案定义:定义3将密钥s1,s2,slS分成n个子密钥viV,1in,它们满足:对任意k个不同下标的集合,有 j=1,2,l称这种方案为l密钥(k , n)门限方案。2.2 防止子密钥窜改的一般方法Sha
17、mir最初提出(k,n)门限方案思想时,并没考虑防止子密钥窜改的问题。实际上为了防止对主密钥的窜改与破坏,需要(k,n)门限方案中有辨认掌握子密钥人员的合法性、防止子密钥被窜改的功能。下面将利用公开密钥的思想,对于任意一个(k,n)门限方案,给出了防止子密钥窜改的一般方法。该方法简易、且克服了上述诸方案的一些缺点。自从1976年Diffie和Hellman提出用陷门单向函数构造公开密钥保密通信思想以来,引起了各国学者的普遍关注。在公开密钥保密通信中,每个用户有两种密钥加密密钥E和解密密钥D,它们同时满足3个下面条件:(1)D是E的逆,对明文p,D(E(p)=p。(2)E,D都是容易计算的。(3
18、)仅由E去找出D几乎是不可能的。满足(1)(3)的E称为陷门单向函数。这里E是可以公开的,而D需要严格保密。对任意一个(k,n)门限方案,我们可利用上述的陷门单向函数E来使它具有防止子密钥窜改的功能。设s为该(k,n)门限方案密钥,vi为子密钥(1in)。取定一个陷门单向函数E,计算v i=E(v i)将vi,E公开。使用时,对任意k个子密钥vij,1jk,若有vij=E(vij),1jk成立,则确认子密钥vij未经窜改,否则为不合法或窜改,不能进行恢复主密钥的行动。由上述公开密钥的思想,该方法是可行的。关于公开密钥保密通信系统已有很多种。例如,RSA系统,背包系统(已被攻破),McEliec
19、e系统,二次剩余系统等。我们可利用其中好的系统给出的E,使(k,n)门限方案具有防止子密钥窜改的功能。2.3 高斯消元法2.3.1 简介高斯消元法,又称高斯消去法,实际上就是我们俗称的加减消元法。数学上,高斯消去法或称高斯约当消去法,由高斯和约当得名(很多人将高斯消去作为完整的高斯约当消去的前半部分),它是线性代数中的一个算法,用于决定线性方程组的解,决定矩阵的秩,以及决定可逆方矩阵的逆。当用于一个矩阵时,高斯消去产生“行消去梯形形式”。例如:一个二元一次方程组,设法对每个等式进行变形,使两个等式中的同一个未知数的系数相等,这两个等式相减,得到一个新的等式,在这个新的等式中,细数相等的未知数就
20、被除去了(系数为0)。同样的也适合多元多次方程组。2.3.2在信息学方面的应用高斯消元法是求解线性方程组的重要方法,在信息学中有广泛的应用。什么是线性方程组?含m个方程和n个未知量的方程组定义为a11x1+a12x2+.+a1nxn=b1a21x1+a22x2+.+a2nxn=b2am1x1+am2x2+.+amnxn=bm这个方程组称为mn线性方程组,其中aij和bi为实数。这个方程组有多种表示方法。例如,我们知道mn矩阵(用大写字母表示)是一个m行n列的数阵,n维向量(用加粗的小写字母表示)是n个数的数组,也就是一个n1矩阵(列向量。我们不考虑行向量)。另外,大家也都知道矩阵乘法。因此一个
21、mn线性方程组可以表示为Ax=b,其中A是由系数aij组成的mn矩阵即系数矩阵,x是n维的未知数向量,b是m维的结果向量。如果把向量b写到A的右边得到m(n+1)的矩阵,得到的新矩阵称为这个方程组的增广矩阵。每一个方程组均对应于一个增广矩阵。下面介绍一下矩阵的初等行变换:1. 交换两行;2. 用非零实数乘以任一行;3. 把某一行的倍数加到另一行上。同理可以定义初等列变换。初等行变换和初等列变换统称初等变换。定理:对于一个方程组对应的增广矩阵进行有限次初等行变换,所得矩阵对应的方程组与原方程组等价。即它们是等价方程组。高斯消元的过程,就是利用初等行变换将原来不容易求解的方程组转化为容易求解的方程
22、组。下面我们以求解nn线性方程组为例。因为如果mn,这个mn方程组一般不会有唯一的解。定义:上三角矩阵是一个nn的矩阵,其中对于任意ij的项aij=0。若i=j时aij0则称为严格上三角矩阵。下面就是一个严格上三角矩阵。1 2 10 1 10 0 1我们发现,如果将系数矩阵化为上三角矩阵,就可以轻而易举地求解。可以证明,nn方程组有唯一解等价于它的增广矩阵可以化为严格上三角矩阵。消元过程如下:对于增广矩阵A1. for i:=1 to n-1 do2. 选择第i至第n行中第i个元素绝对值最大的行,与第i行交换/选择主元,由于涉及实数除法运算,选取大绝对值可以减小误差3. for j:=i+1
23、to n do4. 使用第3种行变换使aji=0根据得到的矩阵,可以回代求出每个未知数xi 。这只是对于有唯一解的情况。那么,其他情况呢?我们定义在消元过程中保留的那行称为主行,主行第一个非零元素称为主元。消元的任务就是使主元非0,使主元下方元素变为0。当消元过程中无法选择非0主元,则此方程组无解或无穷解。此时,我们选择右边一列操作。即,若第i行为主行,在第j列无法选择主元,就对第i+1列操作。这样,最后的结果不再是上三角形,而是行阶梯形:每一次在竖直方向下降1,在水平方向扩展可能大于1。在增广矩阵中能够选择主元的列对应的变量称为首变量,跳过的列对应的变量称为自由变量。定义:行阶梯形矩阵是一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2918.A密钥分散管理系统密钥确认算法实现 毕业设计论文 2918. 密钥 分散 管理 系统 确认 算法 实现 毕业设计 论文

链接地址:https://www.desk33.com/p-1266323.html