注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

【转】对称加密与不对称加密算法  

2014-04-22 17:20:11|  分类: 参考文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1.2.加密算法
现代密码学中的加密算法都是基于一些数学难题,比如说大整数因式分解等等。从理论上已经证明是安全的,或者是以现行计算机运行速度,brute- force解密这些算法所付出的时间将只存在理论上的可能。顺便扯上一句,还是有大虾在尝试着从数学角度彻底攻破这些加密算法,其中著名的一位是 中国山东大学教授王小云女士 ,在2004年8月的美国国际密码大会上,她公布她的研究小组近年来的研究成果——对MD5、HAVAL-128、MD4和RIPEMD等四个著名密码算法的破译结果,一举成名。
常见的加密算法可以分成三类:Symmetric-key algorithm<对称加密算法>、Public-key cryptography<非对称加密算法或公开密钥加密算法>和Hash算法。下面分别说一下这三类加密算法的流程,按照惯例,我们使用Alice与Bob作为通信的双方,使用Eve作为窃听者:
对称加密算法:
a、Alice根据选择的对称算法计算得到1个密匙数据key1
b、通过某种安全途径,Alice把key1告诉Bob
c、Alice使用key1去加密原始数据,得到密文
d、Alice把密文传给Bob
e、Bob使用key1解密密文,得到原始数据
f、双方交互重复d、e步骤,直至通信结束
名称:  4.png
查看次数: 107
文件大小:  33.4 KB
对称加密算法的优点在于加解密速度快和使用长密钥时的难破解性。它的不足之处是,密匙必须要提前让Bob知道,否则他就无法解密数据,所以对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密。另一个问题是,每对用户每次使用对称加密算法时,都需要生成其他人不知道的惟一密匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为负担。如果用户有n个,则所有用户相互使用对称算法加密通信就共需要n×(n- 1) 个密钥,如果一个用户使用的密钥被泄露,入侵者便可以读取该用户密钥加密的所有文档,如果数个用户共用一个密钥,那所有通信都将泄露。
常见的对称加密算法有:DES、RC2、RC4、RC5和Blowfish,美国国家标准局提出使用AES取代DES。

非对称加密算法:
a、Alice根据选择的非对称加密算法计算得到1对密匙<key1、key2>
b、Alice把key1<publickey公匙>公开出去,任何人都可以使用key1去加密数据
c、Bob使用key1加密原始数据,得到密文
d、Bob把密文传送给Alice
e、Alice使用自己保留的key2<privatekey私匙>解密密文,得到原始数据
f、Bob重复c、d步骤,直至通信结束
在上面的流程中,b步骤公匙是否开放视具体情况而定。非对称加密算法有1对密匙<key1、key2>,key1加密的数据只有key2能解密,key2加密的数据只有key1能解密。由于私匙保留在自己手中,通信者可以自由决定是否公开公匙,让所有人都可以加密数据传送给自己。或是指定用户传送,只让拥有公匙的用户与自己通信。
再来看一个双方交互使用非对称加密算法的例子
a、Alice根据选择的非对称加密算法计算得到1对密匙<key1、key2>;Bob根据选择的非对称加密算法计算得到1对密匙<keyA、keyB>
b、Alice把key1<公匙>公开;Bob把keyA<公匙>公开
c、Alice使用keyA加密原始数据,得到密文;Bob使用key1加密原始数据,得到密文
d、双方互相传送密文
e、Bob使用自己保留的keyB<私匙>解密Alice的密文;Alice使用自己保留的key2<私匙>解密Bob的密文
f、Alice于Bob重复d步骤,直至通信结束
必须要再强调的是,b步骤双方公匙是否开放视具体情况而定。上面的流程是按照最开放的情况下写的,Eve<窃听者>虽然知道双方的公匙,但是由于没有私匙,他只能够加密数据而不能解密双方的密文。如果b步骤是保密传送的话,Eve将还需要想其他办法先获得双方的公匙!
名称:  5.png
查看次数: 107
文件大小:  43.2 KB 
  评论这张
 
阅读(85)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017