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

上传人:b****5 文档编号:6188642 上传时间:2023-01-04 格式:DOCX 页数:10 大小:20.35KB
下载 相关 举报
二进制下因子分解分数一次一密的改进与实践.docx_第1页
第1页 / 共10页
二进制下因子分解分数一次一密的改进与实践.docx_第2页
第2页 / 共10页
二进制下因子分解分数一次一密的改进与实践.docx_第3页
第3页 / 共10页
二进制下因子分解分数一次一密的改进与实践.docx_第4页
第4页 / 共10页
二进制下因子分解分数一次一密的改进与实践.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

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

《二进制下因子分解分数一次一密的改进与实践.docx》由会员分享,可在线阅读,更多相关《二进制下因子分解分数一次一密的改进与实践.docx(10页珍藏版)》请在冰豆网上搜索。

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

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

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

一次一密是GibertVernam和JosephMauborgne大约在1918年发明的密码系统,其加密方法是一种简单易行的加密方式,但它的可攻破性很难,基本上是不可攻破的。

因子分解分数加密是自己设计出的一种新的加密方法,通过对分子不同的分解,再在二进制下,利用分解的因子对给定的明文加密,可设计出多种方式加密,其可实现多次加密,保密性更强,且易操作,更难破解。

这将是一篇有理论和实践意义的好的论文,对密码学和编程都有很好的实践作用。

第一章主要介绍密码学的定义及发展前景,我们可以粗略地了解密码学的原理;

第二章主要介绍一次一密加密系统及其简单应用;

第三章主要针对第二章一次一密加密方法进行了改进,增强信息的保密性,并通过C++程序得到验证。

1.1密码学的定义

1研究信息的保密和复原保密信息以获取其真实内容的学科称为密码学。

它包括密码编码学和密码分析学。

密码编码学是研究对信息进行编码,实现隐蔽信息的一门学科;密码分析学是研究复原保密信息或求解加密算法与密钥的学科。

1.2密码学基本简介

2密码学是研究如何隐密地传递信息的学科。

在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。

著名的密码学者RonRivest解释道:

“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。

密码学是信息安全等相关议题,如认证、访问控制的核心。

密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。

密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。

密码学已被应用在日常生活:

包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。

1.3密码学理论基础

3在通信过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有收、发双方知道的信息称为密钥。

在密钥控制下,由明文变到密文的过程叫加密,其逆过程叫脱密或解密。

4现代密码学所涉及的学科包括:

信息论、概率论、数论、计算复杂性理论、近世代数、离散数学、代数几何学和数字逻辑等。

1.4密码学技术应用

51.数位签章(DigitalSignature):

6这是以密码学的方法,根据EDI讯息的内容和发信有该把私钥,任何人都无法产生该签名,因此比手写式的签名安全许多。

收信人则以发信人的公钥进行数位签章的验证。

72.数位信封(DigitalEnvelope):

8这是以密码学的方法,用收信人的公钥对某些机密资料进行加密,收信人收到后再用自己的私钥解密而读取机密资料。

除了拥有该私钥的人之外,任何人即使拿到该加密过的讯息都无法解密,就好像那些资料是用一个牢固的信封装好,除了收信人之外,没有人能拆开该信封。

93.安全回条:

10收信人依据讯息内容计算所得到的回覆资料,再以收信人的私钥进行数位签章后送回发信人,一方面确保收信人收到的讯息内容正确无误,另一方面也使收信人不能否认已经收到原讯息。

114.安全认证:

12每个人在产生自己的公钥之后,向某一公信的安全认证中心申请注册,由认证中心负责签发凭证(Certificate),以保证个人身份与公钥的对应性与正确性。

第二章一次一密

2.1一次一密定义

13一次一密指在流密码当中使用与消息长度等长的随机密钥,密钥本身只使用一次。

14具体而言,首先选择一个随机位串作为密钥,然后将明文转变成一个位串,比如使用明文的ASCII表示法。

最后,逐位计算这两个串的异或值,结果得到的密文不可能被破解,因为即使有了足够数量的密文样本,每个字符的出现概率都是相等的,每任意个字母组合出现的概率也是相等的。

这种方法被称为“一次一密”

2.2一次一密简介

15一次一密是一种不可攻破的密码系统,是GilbertVernam和JosephMauborgne大约在1918年发明的。

首先选择一个随机位串作为密钥,然后将明文转变成一个位串,这可以通过将数表示成二进制来实现。

最后,逐位计算这两个串的异或值,结果得到的密文是不可能被破解的。

2.3一次一密举例

16给定一则信息,我们将信息表示成:

1010100101。

异或规则:

0+0=0,0+1=1,1+1=0。

密钥是:

1000100011,用如下方式得到密文:

17(明文)1010100101

18(密钥)+1000100011

19(密文)0010000110

20解密时用相同的密钥,只需要简单地将密文与密钥异或:

0010000110+1000100011=1010100101。

21如果加密的是一个字母的序列,可以这样做些改动。

密钥是一个移位数的随机序列,每个数在0~25之间。

解密时用相同的密钥,字母要向相反的方向移动。

第三章二进制下因子分解分数一次一密的改进与实践

3.1.两次加密

随机给定一则二进制信息和一个分数,取分数的分子的一种分解方式,将分解后的因子作为密钥,均按照一次一密的方法对信息进行两次加密。

3.1.1两次加密理论指导

随机给定一个分数A/B(A、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,得到两次加密。

从而在一次一密的基础上,实现了因子分解分数的两次加密,使得原有信息更加安全,不可攻破。

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.4C++程序验证

下面我基于3.1.4的例子来设计一个程序:

1#include

2usingnamespacestd;

3intmain()

4{

5intA,B,C,D,b=32,d=32,count1=0,count2=0,count3=0,max,i,n1,n2,n3;

6inta[32]={0},c[32]={0},a1[count1],c1[count2],M[32]={0},M1[count3];

7inta2[max],a3[max];

8cout<<"请依次输入分数的分子、分母!

"<

9cin>>A>>B;

10cout<<"给定分数:

"<

11cout<<"请分解给定分数的分子,使得分子=C*D!

"<

12cin>>C>>D;

13cout<

14do

15{

16b--;

17a[b]=C%2;

18C=(C-a[b])/2;

19}while(C!

=0&&b!

=0);

20cout<<"C的二进制形式:

";

21for(b;b!

=32;b++)

22{

23cout<

24count1++;

25}

26cout<<"C的二进制位数:

"<

27do

28{

29d--;

30c[d]=D%2;

31D=(D-c[d])/2;

32}while(D!

=0&&d!

=0);

33cout<<"D的二进制形式:

";

34for(d;d!

=32;d++)

35{

36cout<

37count2++;

38}

39cout<<"D的二进制位数:

"<

40for(i=0;i

41{

42a1[i]=a[32-count1+i];

43}

44for(i=0;i

45{

46c1[i]=c[32-count2+i];

47}

48//a1[],c1[]分别为100,100111

49cout<<"请输入一串二进制明文:

"<

50for(i=0;i<6;i++)

51{

52cin>>M[i];

53count3++;

54}

55for(i=0;i

56{

57M1[i]=M[i];

58}

59max=(count1>count2)?

count1:

count2;

60max=(max>count3)?

max:

count3;

61cout<<"密钥的长度为:

"<

62if(count3!

=max)

63{

64n3=max-count3;

65for(i=n3;i

66{

67M1[i]=M1[i-n3];

68}

69for(i=0;i

70{

71M1[i]=0;

72}

73}

74if(count1!

=max)

75{

76n1=max-count1;

77for(i=n1;i

78{

79a1[i]=a1[i-n1];

80}

81for(i=0;i

82{

83a1[i]=0;

84}

85for(i=0;i

86{

87if(a1[i]!

=M1[i])

88{

89a2[i]=1;

90}

91else

92{

93a2[i]=0;

94}

95}

96}

97else

98{

99for(i=0;i

100{

101if(a1[i]!

=M1[i])

102{

103a2[i]=1;

104}

105else

106{

107a2[i]=0;

108}

109}

110}

111for(i=0;i

112{

113cout<

114}

115if(count2!

=max)

116{

117n2=max-count2;

118for(i=n2;i

119{

120c1[i]=c1[i-n2];

121}

122for(i=0;i

123{

124c1[i]=0;

125}

126for(i=0;i

127{

128if(c1[i]!

=a2[i])

129{

130a3[i]=1;

131}

132else

133{

134a3[i]=0;

135}

136}

137}

138else

139{

140for(i=0;i

141{

142if(a1[i]!

=M1[i])

143{

144a3[i]=1;

145}

146else

147{

148a3[i]=0;

149}

150}

151}

152cout<<"密文如下:

"<

153for(i=0;i

154{

155cout<

156}

157return0;

}

3.2三次加密

随机给定一则二进制信息和一个分数,取分数的分子的一种分解方式,并利用分解后的因子及分母作为密钥分别按照一次一密的方法对信息依次进行加密。

3.2.1三次加密理论指导

随机给定一个分数A/B(A、B均为正实数)及明文X(二进制信息),对于A至少有一种分解方式:

A=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,得到三次加密。

从而在一次一密的基础上,实现了因子分解分数的三次加密,使得原有信息比两次加密更加安全,不可攻破。

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