对称加解密和非对称加解密

转载 2017年12月15日 00:00:00

        (点击上方蓝字,快速关注)

什么是对称加密技术?

  对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。

  对称加密算法在电子商务交易过程中存在几个问题:

 1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;

 2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;

 3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;

 4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。

  假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。

  常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES 

 

什么是非对称加密技术


1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。

非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。

如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可(企业分发后一般保存的是私钥,用户拿的是公钥),因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。
非对称加密的典型应用是数字签名。

常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

对称加/解密和非对称加/解密的区别

对称加/解密和非对称加/解密主要有以下区别。

(1)对称加/解密使用分组加/解密方法对一段明文按固定长度划分成多组,然后分别对每组使用可变长度的密码迭代编码,最后将每组编码后的密文重新组合到一起,解密时也一样,先对密文按固定长度划分成多组,然后使用密码解密每一组,最后重新组合明文。非对称加/解密算法使用几乎不可逆的算法来加/解密,加密和解密使用不同的密码。

(2)对称加/解密算法和非对称加/解密算法都是公开的,对称加/解密算法的安全性依赖于密码的强度和密码的保存,而非对称加/解密算法只需公开一对密码中的其中一个,另外一个无需公开,所以非对称加/解密算法安全性比较大。


加密解密---非对称密钥/对称密钥

形象直观讲--加密 网络安全的第一个目标机密性。 对称密钥密码:秘密信息通信双方都知道,基于共享的秘密。[ DES]              基于字符的替换和组;基于流的改变;公布密钥及加密解密算法...
  • chelp
  • chelp
  • 2014-03-16 21:03:10
  • 1628

加解密,对称与非对称 签名 数字证书原理

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,...
  • wm_1991
  • wm_1991
  • 2016-07-20 16:46:23
  • 1880

java对称/非对称加解密的例子

  • 2008年12月17日 09:21
  • 19KB
  • 下载

C#RSA非对称加解密类

  • 2011年07月28日 16:27
  • 3KB
  • 下载

js前端加密java后台解密(对称与非对称)

因项目需求,需要对ajax的请求不为明文,方法为加密;之前没有搞过,所以遇到了许多坑 方式(AES) 引用方式: //AES function aesEncrypt(text,ke...
  • growing_ningmeng
  • growing_ningmeng
  • 2017-09-06 10:36:26
  • 360

java RSA非对称加密详解

简介RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时...
  • a394268045
  • a394268045
  • 2016-08-17 17:26:27
  • 6868

对称加密和非对称加密定义

对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度...
  • u011682673
  • u011682673
  • 2016-09-22 14:04:21
  • 383

对称加密、非对称加密和散列计算的简单总结

今天看到了对称加密、非对称加密和散列计算,现在写写简单的理解。对称加密(DES、3DES、AES),(可逆)在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求...
  • werewolf_st
  • werewolf_st
  • 2015-05-23 10:45:17
  • 1368

Java实现对称式和非对称式加密

1.       什么是对称式加密和非对称式加密 对称式加密:解密方式是加密方式的逆运算,即加密和解密使用的是同一个密钥(初等加密算法)。 非对称式加密:加密和解密需要两个密钥进行,这两个密钥是公钥和...
  • ziqi_han
  • ziqi_han
  • 2015-06-13 14:18:09
  • 3277

加密算法之:对称加密与非对称加密扫盲贴

对称加密:加密(encryption)与解密(decryption)使用的是同样的密钥(secret key)。优点:算法公开、计算量小、加密速度快、加密效率高,缺点:秘钥的管理和分发非常困难,不够安...
  • aitangyong
  • aitangyong
  • 2016-12-25 11:08:16
  • 4264
收藏助手
不良信息举报
您举报文章:对称加解密和非对称加解密
举报原因:
原因补充:

(最多只允许输入30个字)