网络安全之加密算法.ppt_第1页
网络安全之加密算法.ppt_第2页
网络安全之加密算法.ppt_第3页
网络安全之加密算法.ppt_第4页
网络安全之加密算法.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

凯撒密码算法,凯撒密码是一种非常古老的加密方法,相传当年凯撒大帝行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母与字母之间的替换。,下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。,1.密钥是数字 凯撒密码关键的是密匙,密匙也就是一个数字,比如说密匙是1,那对英文单词book这个单词加密,结果就是相应的每个字母在字母表中的序号减去1,比如b在英文单词里排第二位,那加密后就是a,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,把第二个去掉。然 后,把正常字母序列写在这个序列下面: Mountaibcdefghjklpqrsvwxyz.密文字母序 Abcdefghijklmnopqrstuvwxyz.明文字母序,在加密的时候,用上面那个序列里的字母代替原文中的字母写成密文。例如,m代替a,o代替b。解密时方向相反。所以,加密heishere的结果是:btcqbkpt。,如果文本中有数字,那么不妨写一个36字符的序列,并把数字加在你的密码中。评价:这种方法比简单移位系统安全,可以在日记中使用。 但是,如果加密的文字有(大约)400字符以上,那么攻击者手工花费1天时间即可破解,因为英文和其它语言中每个字母都有一定的使用频率,破解者根据这些频率就可以破译。,这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左19位,就产生这样一个明密对照表: 明文: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 z 密文: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 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 A 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 Z B 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 A CC 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 D 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 C E E 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 F 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 E G 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 F H 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 G I 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 H J 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 I K K 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 L 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 K M 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 L N 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 M O 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 N P 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 O Q Q 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 R 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 Q S 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 R T 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 U 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 T V V 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 W 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 V X 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 W Y 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 X Z 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,维吉尼亚密码(类似于今天我们所说的置换密码)引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。 假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:,TO BE OR NOT TO BE THAT IS THE QUESTION 当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下: 密钥:RELATIONSRELATIONSRELATIONSREL 明文:TOBEORNOTTOBETHATISTHEQUESTION 密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY 历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。,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 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) 计算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签名算法的变种,被美国NIST作为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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论