网络安全之加密算法.ppt

上传人:小飞机 文档编号:6599980 上传时间:2023-11-16 格式:PPT 页数:18 大小:274.64KB
返回 下载 相关 举报
网络安全之加密算法.ppt_第1页
第1页 / 共18页
网络安全之加密算法.ppt_第2页
第2页 / 共18页
网络安全之加密算法.ppt_第3页
第3页 / 共18页
网络安全之加密算法.ppt_第4页
第4页 / 共18页
网络安全之加密算法.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《网络安全之加密算法.ppt》由会员分享,可在线阅读,更多相关《网络安全之加密算法.ppt(18页珍藏版)》请在三一办公上搜索。

1、凯撒密码算法,凯撒密码是一种非常古老的加密方法,相传当年凯撒大帝行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母与字母之间的替换。,下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。,1.密钥是数字 凯撒密码关键的是密匙,密匙也就是一个数字,比如说密匙是1,那对英文单词book这个单词加密,结果就是相应的每个字母在字母表中的序号减去1,比如b在英文单词里排第二位,那加密后就是a

2、,o加密后就是n,依此类推,book加密后就是annj,解密时每个字母的顺序号加1,所对应的字母就是密文。凯撒密码的加密方法是把a变成D,b变成E,c换成F,依次类推,z换成C。这样明文和密码的字母就建立了一一对应的关系。加密原理其实是:对明文加上了一个偏移量29,即a对应的ASCII码位97,D对应的ASCII码位68,相减得到29.,2.密钥是一个单词。例如,选用mountain,写出以下的字母序列:mountaibcdefghjklpqrstvwxyz。就是在正常字母序列中抽掉你的密码mountain。由于mountain中有两个n,把第二个去掉。然后,把正常字母序列写在这个序列下面:M

3、ountaibcdefghjklpqrsvwxyz.密文字母序 Abcdefghijklmnopqrstuvwxyz.明文字母序,在加密的时候,用上面那个序列里的字母代替原文中的字母写成密文。例如,m代替a,o代替b。解密时方向相反。所以,加密heishere的结果是:btcqbkpt。,如果文本中有数字,那么不妨写一个36字符的序列,并把数字加在你的密码中。评价:这种方法比简单移位系统安全,可以在日记中使用。但是,如果加密的文字有(大约)400字符以上,那么攻击者手工花费1天时间即可破解,因为英文和其它语言中每个字母都有一定的使用频率,破解者根据这些频率就可以破译。,这种加密方法还可以依据移

4、位的不同产生新的变化,如将每个字母左19位,就产生这样一个明密对照表:明文:ab c defg h i jklm n o p q rstuv wxyz密文:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S在这个加密表下,明文与密文的对照关系就变成:明文:b a i d u密文:UTB WN,很明显,这种密码的密度是很低的,只需简单地统计字频就可以破译。于是人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。3.“维吉尼亚”密码 它是由16世纪法国亨利三世王朝的布莱瑟维吉尼亚发明的,其特点是将26个恺撒密表合成一个,见下表:,A

5、B C D E F G H I J K L M N O P Q R S T U V W X Y ZA A B C D E F G H I J K L M N O P Q R S T U V W X Y ZB B C D E F G H I J K L M N O P Q R S T U V W X Y Z ACC D E F G H I J K L M N O P Q R S T U V W X Y Z A BD D E F G H I J K L M N O P Q R S T U V W X Y Z A B CE E F G H I J K L M N O P Q R S T U V W

6、X Y Z A B C DF F G H I J K L M N O P Q R S T U V W X Y Z A B C D EG G H I J K L M N O P Q R S T U V W X Y Z A B C D E FH H I J K L M N O P Q R S T U V W X Y Z A B C D E F GI I J K L M N O P Q R S T U V W X Y Z A B C D E F G HJ J K L M N O P Q R S T U V W X Y Z A B C D E F G H IK K L M N O P Q R S T

7、U V W X Y Z A B C D E F G H I JL L M N O P Q R S T U V W X Y Z A B C D E F G H I J KM M N O P Q R S T U V W X Y Z A B C D E F G H I J K LN N O P Q R S T U V W X Y Z A B C D E F G H I J K L MO O P Q R S T U V W X Y Z A B C D E F G H I J K L M NP P Q R S T U V W X Y Z A B C D E F G H I J K L M N OQ Q

8、R S T U V W X Y Z A B C D E F G H I J K L M N O PR R S T U V W X Y Z A B C D E F G H I J K L M N O P QS S T U V W X Y Z A B C D E F G H I J K L M N O P Q RT T U V W X Y Z A B C D E F G H I J K L M N O P Q R SU U V W X Y Z A B C D E F G H I J K L M N O P Q R S TV V W X Y Z A B C D E F G H I J K L M N

9、 O P Q R S T UW W X Y Z A B C D E F G H I J K L M N O P Q R S T U VX X Y Z A B C D E F G H I J K L M N O P Q R S T U V WY Y Z A B C D E F G H I J K L M N O P Q R S T U V W XZ Z A B C D E F G H I J K L M N O P Q R S T U V W X Y,维吉尼亚密码(类似于今天我们所说的置换密码)引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代

10、表明文字母,左面第一列代表密钥字母,对如下明文加密:,TO BE OR NOT TO BE THAT IS THE QUESTION 当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:密钥:RELATIONSRELATIONSRELATIONSREL明文:TOBEORNOTTOBETHATISTHEQUESTION密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY 历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子

11、密码机上。,RSA算法 RSA算法是第一个既能用于数据加密也能用于数字签名的算法。安全有效性:1)已有确定一个数是不是质数的快速算法;2)尚未找到确定一个合数的质因子的快速算法。,工作原理:1)任意选取两个不同的大质数p和q,计算乘积r=p*q;2)任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意:e的选取是很容易的,例如,所有大于p和q的质数都可用。3)确定解密密钥d:d*e=1 mod(p-1)*(q-1)根据e、p和q可以容易地计算出d。4)公开整数r和e,但是不公开d;5)将明文P(假设P是一个小于r的整数)加密为密文C,计算方法为:C=Pe mod r

12、6)将密文C解密为明文P,计算方法为:P=Cd mod r,RSA算法实现例1.假如RSA算法的公开密钥是(143,7),明文P=80,求密文?答:c=P7 mod 143=807 mod 143=141例2.RSA算法中:p=23,q=13,e=17,求公开密钥及秘密密钥,并计算明文100的密文值?答:n=p*q=23*13=299 所以公开密钥是(299,17);z=(p-1)(q-1)=(23-1)(13-1)=264 d*e=1(mod 264*k)d*e-1=264*k 1=d*e-264*k d=(264*k+1)/17所以:d=233 k=17即:秘密密钥是(299,233)计算

13、100的密文:c=10017 mod 299=289,例3.RSA算法中:p=43,q=59,e=17,求公开密钥及秘密密钥,并计算P=1000的密文值?答:n=p*q=43*59=2537 所以公开密钥是(2537,17);z=(p-1)(q-1)=(43-1)(59-1)=2436 d*e-1=2436*k 1=d*e-2436*k d=(2436*k+1)/17 所以:d=1433 k=10 计算1000的密文 c=100017 mod 2537=2105,DSA算法Digital Signature Algorithm(DSA)是Schnorr和ElGamal签名算法的变种,被美国NI

14、ST作为DSS(DigitalSignature Standard)。算法中应用了下述参数:p:L 位长的素数。L是64的倍数,范围是512到1024;q:p-1的160位的素因子;g:g=h(p-1)/q)mod p,h满足h 1;x:x q,x为私钥;y:y=gx mod p,(p,q,g,y)为公钥;H(x):One-Way Hash函数。DSS中选用SHA(Secure Hash Algorithm)。,p,q,g可由一组用户共享,但在实际应用中,使用公共模数可能会带来一定的威胁。签名及验证协议如下:1.P产生随机数k,k q;2.P计算 r=(gk mod p)mod q s=(k(-1)(H(m)+xr)mod q 签名结果是(m,r,s)。3.验证时计算 w=s(-1)mod q u1=(H(m)*w)mod q u2=(r*w)mod q v=(gu1*yu2)mod p)mod q 若v=r,则认为签名有效。,DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号