常见加密算法简介

栏目: 编程工具 · 发布时间: 6年前

内容简介:本文永久更新链接地址:

1. 安全的目标

  • 私密性(confidentiality):将数据加密,他人截获后无法解密;
  • 完整性(integrity):报文没有被篡改过(分为数据完成性和系统完整性);
  • 可用性(availability):
  • 源认证(不可否认性):对发起者的身份进行认证;

2. 加密算法简述

  • 对称加密:加密和解密使用同一个密钥,加密速度快,但不安全,常用于加密数据;例如:DES, 3DES, AES;
  • 非对称加密:加密和解密使用不同的秘钥,公钥加密,私钥解密,加密速度慢,常用于加密秘钥,但是安全;例如:RSA, DSA;
  • 单向加密:定长输出、雪崩效应、不可逆,常用于完整性校验;例如:MD5, SHA;

3. 加密与解密过程

通信双方即A与B,A发送数据给B;
加密过程

  • A使用单线加密算法计算出数据的特征码;
  • A使用自己的私钥加密特征码形成数字签名;将数字签名放到明文数据的后面;
  • A生成一个一次性的对称秘钥,然后结合对称加密算法和对称密钥对明文数据与数字签名进行加密;
  • A使用B的公钥加密对称密钥,然后将加密后对称密钥放到密文数据的后面一起发送给B;
解释:即便第三方将A发送给B的数据截获了,也无法破解数据,因为想要解密密文数据,就需要知道对称秘钥,想得到对称秘钥就需要知道B的私钥,其他人是没有B的私钥的,所以通过这种方式保证了数据的私密性。(如果保管B的私钥,不是这里要考虑的问题了)

解密过程

  • B收到之后使用自己的私钥解密加密后的对称秘钥,得到对称秘钥;
  • B使用同样的对称秘钥和对称加密算法解密密文数据,得到明文数据和数字签名;
  • B使用A的公钥解密数字签名,得到特征码,如果能解密说明这是A发过来的;
  • B使用单向加密算法对明文数据进行计算得出特征码,然后与解密得来的特征码进行对比,如果一致则表示数据没有被篡改过;
以上仅是点到点的通信机制;
通过上述流程保证了身份验证,完整性验证和保密性,三种加密算法全用到了:单向加密、对称加密、分对称加密(公钥加密);这个过程中公钥加密算法的两种作用:身份认证,密钥交换;

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-12/155638.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

个体与交互

个体与交互

Ken Howard、Barry Rogers / 贾永娜、张凯峰 / 机械工业出版社华章公司 / 2012-3-20 / 45.00元

对敏捷软件开发的关注重点,通常都集中在“机制”方面,即过程和工具。“敏捷宣言”认为,个体与交互的价值要高于过程和工具,但这一点很容易被遗忘。在敏捷开发中,如果你重新将注意力放在人的方面,将会收获巨大利益。 本书展示了如何解决敏捷团队在实际项目中遭遇的问题。同时,本书也是很有实用价值的敏捷用户指南,其中包含的故事、最佳实践方法、经验以及技巧均可应用到实际项目当中。通过逐步实践,你将学会如何让团......一起来看看 《个体与交互》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具