一 :概述

在现代密码学诞生以前,就已经有很多的加密方法了。例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊。16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码、猪圈密码,基于多表代换的维吉尼亚密码,二战中德军广泛使用的恩格玛加密机…但最终都找到了有效的破解算法。

现代密码学的诞生标志是1977年1月由美国国家标准局公布的数据加密标准(Data Encryption Standard,DES)。
在经过20多年之后,为适应现代的安全要求,2000年美国国家和标准技术协会筛选和评测出了被称为AES(Advanced Encryption Standard)的加密算法作为新的加密标准。目前,AES已被广泛使用,且未发现致命缺陷。到目前为止,AES是一个安全的加密算法。

然而,在加密算法之外,面临一个问题,那就是:秘钥的分发。就是说,解密方如何获得加密方的秘钥呢? 从而出现了:对称加密和非对称加密

1、对称加密算法:

加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合。缺点是密钥的传输比较麻烦。如AES算法;

2、非对称加密算法:

加密和解密用的密钥是不同的,这种加密方式是用数学上的难解问题构造的,通常加密解密的速度比较慢,适合偶尔发送数据的场合。优点是密钥传输方便。常见的非对称加密算法为RSA、ECC和EIGamal。

非对称加密算法的加密模式:

(1)乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。

(2)甲方获取乙方的公钥,然后用它对信息加密。

(3)乙方得到加密后的信息,用私钥解密。

二:简介:

对称加密: 加密和解密的秘钥使用的是同一个.
非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
对称加密算法: 密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高.

三:区别

对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用.

例如针对C/S模型,

服务端计算出一对秘钥pub/pri。将私钥保密,将公钥公开。
客户端请求服务端时,拿到服务端的公钥pub。
客户端通过AES计算出一个对称加密的秘钥X。 然后使用pub将X进行加密。
客户端将加密后的密文发送给服务端。服务端通过pri解密获得X。
然后两边的通讯内容就通过对称密钥X以对称加密算法来加解密。

优点:

算法公开、计算量小、加密速度快、加密效率高,  安全

缺点:

在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

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

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

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

速度较慢

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

Hash算法(摘要算法)

Hash算法特别的地方在于它是一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。

常见的摘要算法有: MD2、MD4、MD5、HAVAL、SHA

非对称加密和对称加密的区别相关推荐

  1. 【加密】对称加密DES和非对称加密AES、数字签名|非对称加密--公钥和私钥的区别

    目录 对称加密DES和非对称加密AES.数字签名 对称加密 1.1 定义 1.2 优缺点 1.3 常用对称加密算法 非对称加密( Asymmetric Cryptography ) 非对称加密(现代加 ...

  2. 细数非对称加密与对称加密的区别

    2019独角兽企业重金招聘Python工程师标准>>> 有两种加密方法常常在SSL生态系统中被提及--非对称加密与对称加密. SSL握手期间的非对称加密 当你浏览一个使用SSL证书的 ...

  3. java-信息安全(九)-基于DH,非对称加密,对称加密等理解HTTPS

    概述 java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS 如果想要理解好https,请尽量了解好以上信息等. 参看文章: http://www.ruanyifeng.com/blog/ ...

  4. JackHttp -- 浅谈编码、加密(对称加密,非对称加密,Hash算法)

    如果你还不清楚 JackHttp 是什么,请戳这里!!! JackHttp 是一个网络框架系列,为什么还要分享编码和加密呢?主要有如下几个原因: HTTP 在网络传输过程中是明文的. HTTP 在网络 ...

  5. 非对称加密和对称加密

    什么是非对称加密 对称加密算法在加密和解密时使用的是同一个秘钥:而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key, ...

  6. SSL证书背后的加密技术--非对称加密和对称加密

    SSL(安全套接字层)是一种标准的安全技术,用于在服务器和客户端之间建立加密连接.安装SSL证书后,就可以建立此安全连接.但这是如何实现的?数据是如何加密的?本文介绍了SSL背后的加密技术,它涵盖了非 ...

  7. Android安全加密:对称加密

    Android安全加密专题文章索引 Android安全加密:对称加密 Android安全加密:非对称加密 Android安全加密:消息摘要Message Digest Android安全加密:数字签名 ...

  8. 网络安全,非对称加密,对称加密和非对称加密的区别

    当今世界,网络安全问题比以往任何时候都更需认真对待. 本文是属于<网络安全>系列文章之一,我们将详细阐述了安全性的基础知识.在本文中,我们将阐述非对称加密的原理,这是确保真实性.完整性和保 ...

  9. iOS-常见三种加密(MD5、非对称加密,对称加密)

    任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要.在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障. 本 ...

最新文章

  1. C# WinForm控件、自定义控件整理(大全)
  2. 从oracle9i/92数据库中导出数据至 oracle 8.1.7 数据库中
  3. angularJS和jQuery的区别
  4. 洛谷P3376 【模板】网络最大流
  5. 30个使用jQuery打造的世界级一流网站
  6. 还记得范进中举的故事吗
  7. 项目管理系列之项目范围时间及资源管理(二)
  8. Angular中的routerLink 跳转页面和默认路由
  9. Windows常用命令行命令
  10. 三维重建面试0:*SLAM滤波方法的串联综述
  11. vscode css提示_lt;css-doodle/gt;让你成为CSS艺术家
  12. Linux下弹出CDROM的程序(参考网上程序)
  13. Short, Integer, Long缓存
  14. 五十三、微信小程序云开发豆瓣电影小项目
  15. VBA代码实例---Msgbox函数及应用实例
  16. ARMv8 Linux内核head.S源码分析
  17. 搭建自有HTTPS环境
  18. 优化Unity渲染器
  19. 数据库:故障种类,恢复技术,备份方式
  20. JZ2440学习笔记一

热门文章

  1. 分布式搜索 Elasticsearch —— 删除索引
  2. java 8 方法引用(method references)
  3. Linux基础之文件权限详解
  4. php:兄弟连之面向对象版图形计算器1
  5. JOSSO在JBOSS中安装与配置
  6. 使用Python连接数据库的脚本
  7. byte转化为Bitmap,防止内存溢出
  8. Verilog 补码加法溢出判断及处理
  9. 【python数字信号处理】——DFT、DTFT(频谱图、幅度图、相位图)
  10. 机器学习——支持向量机SVM之线性模型