ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:20.35KB ,
资源ID:6188642      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6188642.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二进制下因子分解分数一次一密的改进与实践.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二进制下因子分解分数一次一密的改进与实践.docx

1、二进制下因子分解分数一次一密的改进与实践二进制下因子分解分数一次一密的改进与实践一次一密是Gibert Vernam和Joseph Mauborgne大约在1918年发明的密码系统,其加密方法是一种简单易行的加密方式,但它的可攻破性很难,基本上是不可攻破的。因子分解分数加密是自己设计出的一种新的加密方法,通过对分子不同的分解,再在二进制下,利用分解的因子对给定的明文加密,可设计出多种方式加密,其可实现多次加密,保密性更强,且易操作,更难破解。这将是一篇有理论和实践意义的好的论文,对密码学和编程都有很好的实践作用。第一章主要介绍密码学的定义及发展前景,我们可以粗略地了解密码学的原理;第二章主要介

2、绍一次一密加密系统及其简单应用;第三章主要针对第二章一次一密加密方法进行了改进,增强信息的保密性,并通过C+程序得到验证。1.1 密码学的定义1研究信息的保密和复原保密信息以获取其真实内容的学科称为密码 学。它包括密码编码学和密码分析学。密码编码学是研究对信息进行编码,实现隐蔽信息的一门学科;密码分析学是研究复原保密信息或求解加密算法与密钥的学科。1.2密码学基本简介2密码学是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学

3、的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。1.3 密码学理论基础3在通信过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有收、发双方知道的信息称为密钥。在密钥控制下,由明文变到密文的过程叫加密,其逆过程叫脱密或解密。4现代密码学所涉及的学科包括:信息论、概率论、数论、计算复杂性理论、近世代数、离散数学、代数几何学

4、和数字逻辑等。1.4密码学技术应用51. 数位签章(Digital Signature):6这是以密码学的方法,根据EDI讯息的内容和发信有该把私钥,任何人都无法产生该签名,因此比手写式的签名安全许多。收信人则以发信人的公钥进行数位签章的验证。72. 数位信封(Digital Envelope):8这是以密码学的方法,用收信人的公钥对某些机密资料进行加密,收信人收到后再用自己的私钥解密而读取机密资料。除了拥有该私钥的人之外, 任何人即使拿到该加密过的讯息都无法解密,就好像那些资料是用一个牢固的信封装好,除了收信人之外,没有人能拆开该信封。93. 安全回条:10收信人依据讯息内容计算所得到的回覆

5、资料,再以收信人的私钥进行数位签章后送回发信人,一方面确保收信人收到的讯息内容正确无误, 另一方面也使收信人不能否认已经收到原讯息。114. 安全认证:12每个人在产生自己的公钥之后,向某一公信的安全认证中心申请注册,由认证中心负责签发凭证(Certificate),以保证个人身份与公钥的对应性与正确性。第二章 一次一密2.1 一次一密定义13一次一密指在流密码当中使用与消息长度等长的随机密钥, 密钥本身只使用一次。14具体而言,首先选择一个随机位串作为密钥,然后将明文转变成一个位串,比如使用明文的ASCII表示法。最后,逐位计算这两个串的异或值,结果得到的密文不可能被破解,因为即使有了足够数

6、量的密文样本,每个字符的出现概率都是相等的,每任意个字母组合出现的概率也是相等的。这种方法被称为“一次一密”2.2 一次一密简介15一次一密是一种不可攻破的密码系统,是 Gilbert Vernam 和 Joseph Mauborgne大约在1918年发明的。首先选择一个随机位串作为密钥,然后将明文转变成一个位串,这可以通过将数表示成二进制来实现。最后,逐位计算这两个串的异或值,结果得到的密文是不可能被破解的。2.3 一次一密举例16给定一则信息,我们将信息表示成 :1010100101。异或规则:0+0=0,0+1=1,1+1=0。密钥是:1000100011,用如下方式得到密文:17(明文

7、) 101010010118(密钥)+ 100010001119(密文) 001000011020解密时用相同的密钥,只需要简单地将密文与密钥异或:0010000110+ 1000100011=1010100101。21如果加密的是一个字母的序列,可以这样做些改动。密钥是一个移位数的随机序列,每个数在025之间。解密时用相同的密钥,字母要向相反的方向移动。第三章 二进制下因子分解分数一次一密的改进与实践3.1.两次加密随机给定一则二进制信息和一个分数,取分数的分子的一种分解方式,将分解后的因子作为密钥,均按照一次一密的方法对信息进行两次加密。3.1.1两次加密理论指导随机给定一个分数A/B(A

8、、B均为正实数)及明文X,对于A至少有一种分解方式:A=A1*A2(A1、A2均为正实数),首先将A1和A2化为二进制数A11和A21,我们分别利用A11和A21按照一次一密的加密方法对明文X及加密后的信息加密,实现两次加密,使得原有信息更加安全,不可攻破。3.1.2两次加密实现方法将A1、A2分别表示成二进制数A11、A21,取A11、A21 、X中长度最长的作为密钥的长度L;在A11、A21这两个序列前加0直到分别达到长度L,得到新序列A12、A22;应用一次一密的加密方法A12+X得到A13,A13+ A22得到A23;那么明文X对应的密文即为A23,得到两次加密。从而在一次一密的基础上

9、,实现了因子分解分数的两次加密,使得原有信息更加安全,不可攻破。3.1.3两次加密举例取定分数156/7,明文101010。异或规则:0+0=0,0+1=1,1+1=0。 首先分解分子156:156=4*39。其次,4和39表示成二进制数分别是:100和100111 根据3.1.2实现方法确定密钥长度为:6为了与长度6一致,补0后序列分别是000100、100111(密钥)第一次加密:101010+000100=101110;第二次加密:101110+100111=001001解密时用相同的密钥只需要简单地做两个异或得到两个明文101010; 3.1.4 C+程序验证下面我基于3.1.4的例子

10、来设计一个程序:1#include 2using namespace std;3int main()45 int A,B,C,D,b=32,d=32,count1=0,count2=0,count3=0,max,i,n1,n2,n3;6 int a32=0,c32=0,a1count1,c1count2,M32=0,M1count3;7 int a2max,a3max;8 cout请依次输入分数的分子、分母!AB;10 cout给定分数:A/Bendl;11 cout请分解给定分数的分子,使得分子=C*D!CD;13 coutA=C*Dendl;14 do15 16 b-;17 ab=C%2;

11、18 C=(C-ab)/2;19 while (C!=0&b!=0);20 coutC的二进制形式:;21 for (b;b!=32;b+)22 23 coutab;24 count1+;25 26 cout C的二进制位数:count1endl;27 do28 29 d-;30 cd=D%2;31 D=(D-cd)/2;32 while (D!=0&d!=0);33 coutD的二进制形式:;34 for (d;d!=32;d+)35 36 coutcd;37 count2+;38 39 cout D的二进制位数:count2endl;40 for(i=0;icount1;i+)41 42

12、a1i=a32-count1+i;43 44 for(i=0;icount2;i+)45 46 c1i=c32-count2+i;47 48 /a1,c1分别为100,10011149 cout 请输入一串二进制明文:endl;50 for(i=0;iMi;53 count3+;54 55 for(i=0;icount2)?count1:count2;60 max=(maxcount3)?max:count3;61 cout密钥的长度为:maxendl;62 if(count3!=max)63 64 n3=max-count3;65 for(i=n3;imax;i+)66 67 M1i=M1i

13、-n3;68 69 for(i=0;in3;i+)70 71 M1i=0;72 73 74 if(count1!=max)75 76 n1=max-count1;77 for(i=n1;imax;i+)78 79 a1i=a1i-n1;80 81 for(i=0;in1;i+)82 83 a1i=0;84 85 for(i=0;imax;i+)86 87 if(a1i!=M1i)88 89 a2i=1;90 91 else92 93 a2i=0;94 95 96 97 else98 99 for(i=0;imax;i+)100 101 if(a1i!=M1i)102 103 a2i=1;104

14、 105 else106 107 a2i=0;108 109 110 111 for(i=0;imax;i+)112 113 couta1i;114 115 if(count2!=max)116 117 n2=max-count2;118 for(i=n2;imax;i+)119 120 c1i=c1i-n2;121 122 for(i=0;in2;i+)123 124 c1i=0;125 126 for(i=0;imax;i+)127 128 if(c1i!=a2i)129 130 a3i=1;131 132 else133 134 a3i=0;135 136 137 138 else139

15、 140 for(i=0;imax;i+)141 142 if(a1i!=M1i)143 144 a3i=1;145 146 else147 148 a3i=0;149 150 151 152 cout密文如下:endl;153 for(i=0;imax;i+)154 155 couta3i;156 157 return 0;3.2三次加密随机给定一则二进制信息和一个分数,取分数的分子的一种分解方式,并利用分解后的因子及分母作为密钥分别按照一次一密的方法对信息依次进行加密。3.2.1三次加密理论指导随机给定一个分数A/B(A、B均为正实数)及明文X(二进制信息),对于A至少有一种分解方式:A=

16、A1*A2(A1、A2均为正实数),首先将A1、A2、B化为二进制数A11、A21及B1,我们利用A11、A21和B1按照一次一密的加密方法对X及加密后的信息加密,实现三次加密,使得原有信息比两次加密更加安全,不可攻破。3.2.2三次加密实现方法将A1、A2 和B分别表示成二进制数A11、A21 和B1 ,取A11、A21 、B1 和X中长度最长的作为密钥的长度L;在A11、A21、B1 和X这三个序列前加0直到分别达到长度L,得到新序列A12、A22、B2 、X1;应用一次一密的加密方法A12+ X1得到X2,A22+ X2得到X3,B2+ X3得到X4;那么密文即为X4,得到三次加密。从而

17、在一次一密的基础上,实现了因子分解分数的三次加密,使得原有信息比两次加密更加安全,不可攻破。3.2.3三次加密举例取定分数156/7及明文101010,异或规则:0+0=0,0+1=1,1+1=0,在二进制下,对156/7实施三次加密。首先分解分子156:156=4*39。其次,4、39和7表示成二进制数分别是:100、100111和111。 根据3.1.3实现方法确定密钥长度为:6为了与长度6一致,4、39、7补0后序列分别是000100、100111和000111第一次加密:000100+101010=101110;第二次加密:101110+100111=001001:第三次加密:001001+000111=001110解密时用相同的密钥只需要简单地做三个异或便可以得到明文101010;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1