首页 > 编程语言 >常见加密算法介绍

常见加密算法介绍

时间:2022-09-05 16:11:16浏览次数:121  
标签:加密 常见 介绍 算法 密钥 非对称 CVE 加密算法

常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。

1.对称加密
指加密和解密使用相同密钥的加密算法,这种加密方法称为对称加密,也称为单密钥加密。
优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。
缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥,如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为重大负担。

常见的对称加密算法:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
其中RC4(Rivest Cipher 4):算法简单,运行速度快,且密钥长度可变,安全性不高。
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。

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

常见的非对称加密算法:RSA、ECC、El Gamal、DSA和Diffie-Hellman
其中RSA:是目前最有影响力的公钥加密算法,支持变长密钥,处理速度较慢。
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的数字签名标准。
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学,抗攻击性强,处理速度快,带宽要求低,ECC 被广泛认为是在给定密钥长度的情况下,最强大的非对称算法。

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

常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

4.加密算法选择
由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
对称加密算法不能实现签名,因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,可以考虑采用非对称加密算法。

在实际的操作过程中,通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

 

常见加密算法、协议漏洞的验证:使用namp验证SSL/TSL相关漏洞CVE-2015-2808,CVE-2013-2566,CVE-2014-3566,CVE-2016-2183,CVE-2015-4000,瞬时 Diffie-Hellman 公共密钥过弱 等 - 迪克推多0 - 博客园 (cnblogs.com)

常见加密算法、协议漏洞的修复:SSL/TSL相关漏洞CVE-2015-2808,CVE-2013-2566,CVE-2014-3566,CVE-2016-2183,cve-2015-4000,瞬时 Diffie-Hellman 公共密钥过弱修复总结 - 迪克推多0 - 博客园 (cnblogs.com)

标签:加密,常见,介绍,算法,密钥,非对称,CVE,加密算法
From: https://www.cnblogs.com/zcg-cpdd/p/16658544.html

相关文章

  • 常见的网页复制粘贴禁用问题
    1.网页无法选取文字按下键盘的F12调出开发者工具,点击console控制台,输入以下代码后回车即可:解除网页无法选取文字vareles=document.getElementsByTagName('*');for(......
  • (转)java中常见的关键字
    原文:https://www.cnblogs.com/zxy6/p/14176980.html什么是关键字呢?概述:关键字就是在java语言中赋予特殊含义的单词特点:1.组成的关键字的单词全是小写......
  • MyBatis一级缓存介绍
    MyBatis一级缓存介绍默认情况下,MyBatis只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。这也就是大家常说的MyBatis一级缓存,一级缓存的作用域是SqlSession。M......
  • 深度神经网络DNN介绍
    DNN网络结构DNN是从多层感知器发展而来的第三代神经网络,DNN的网络结构分为三部分:输入层、隐藏层、输出层。DNN的层与层之间是全连接的,第\(i\)层的任意一个神经元一定与第......
  • MyBatis二级缓存介绍
    MyBatis二级缓存介绍缓存,这个伟大的创新,无处不在,而且还喜欢分级,往往以多级缓存的形式出现。mybatis的缓存如出一辙,也划分为一级缓存和二级缓存。紧跟 MyBatis一级缓存介......
  • 常见步进电机的特点、选型方法以及型号参数说明基本知识
    1、什么是步进电机?步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数......
  • # 常见案例
    目录常见案例1.利用函数封装方式,翻转任意一个数组2.利用函数封装方式,对数组排序--冒泡排序3.判断闰年4.倒计时5.数组去重6.查找字符串中重复元素常见案例1.利用函数封装......
  • ENVI 5.1二次开发之——新增事件处理介绍及综合应用
    本文主要介绍ENVI5.1新增的事件处理方法,并在最后提供一个为ENVI5.1添加快捷键的补丁,利用的方法就是事件处理。如果大家对于IDL中快速可视化的事件处理比较了解,那么学习E......
  • 实现防抖和节流,原理介绍+应用场景
    防抖和节流都是为了解决事件被频繁触发的问题防抖(debounce)原理:当持续触发事件时,在设定的时间内没有再次触发事件,则事件才会处理函数一次;如果在设定时间之前再次触......
  • ENVI5.5.3/IDL8.7.3新特性介绍
    ENVI5.5.3/IDL8.7.3于2020年2月正式发布。在ENVI5.5.3版本中,改进了一些更人性化的工具和设置,如主界面右下角显示文件的基本信息、可以更改窗口背景颜色等;帮助我们在ENVI中......