常用加密算法解析

转载自 常用加密算法解析

 

 

今天介绍下工作当中常用的加密算法、分类、应用。

 

1、对称加密算法

所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。

 

分类

常用的算法有:DES、3DES、AES等。

 

DES

全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。

 

3DES

即TripleDES,是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。

 

AES

全称为Advanced Encryption Standard,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

 

优缺点

对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。

 

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

 

应用

保存用户手机号、身份证等敏感但能解密的信息

 

 

2、非对称性加密算法

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

 

分类

常用的算法有:RSA、DSA、ECC等。

 

RSA

全称为Digital Signature Algorithm,是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

 

DSA

全称为Digital Encryption Standard,是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。

 

ECC

全称为Elliptic Curves Cryptography,,也叫椭圆加密算法,是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。

 

与RSA,DSA相比,ECC有以下优点:

安全性高,有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。

处理速度快,在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快。

存储空间占用小。

带宽要求低.

 

优缺点

非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。

 

非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

 

应用

一般用于签名和认证

 

3、散列算法

在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的“散列”或“消息摘要”(Message digest)。

 

分类

常用的算法有:MD5、SHA、HMAC等。

 

MD5

全称为Message Digest Algorithm,即中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

 

SHA

全称为Secure Hash Algorithm,即安全哈希算法,主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。有SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法,其中SHA-1已经不安全。

 

HMAC

全称为Hash Message Authentication Code,即散列消息鉴别码,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。一般的,消息鉴别码用于验证传输于两个共 同享有一个密钥的单位之间的消息。HMAC 可以与任何迭代散列函数捆绑使用。MD5 和 SHA-1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥。

 

应用

效验下载文件正确性,一般在网站上下载文件都能见到

存储用户敏感信息,如密码、 卡号等不可解密的信息

 

建议

AES采用128为即可,RSA建议采用1024位的数字,ECC建议采用160位。RSA加密字符长度有限制,一般采用AES+RSA方式组合使用。

 

误区

很多博客把Base64编码也当做一种加密算法来解释,这是不严谨的。Base64是没有可读性,但不代表这个编码就是加密的。加密需要保证没有密钥的人无法解密信息,更无法从密文中破解任何明文信息,但Base64可以很轻松的反编码。另外,Base64编码也显然没有用到密钥,不具有加密算法的安全性,所以,这个误区大家要纠正过来。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双指针:88. 合并两个有序数组

题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序&#xff0c;时间复杂度为O((nm)log(nm)) 代码&#xff1a; 快排详解 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {for(int im,j0;i<mn;i,j){nums1[i] nums2[j];}quickSor…

bmp180气压传感器工作原理_陕西压力传感器的工作原理信息推荐

压力传感器的工作原理应用广泛的是压阻式压力传感器&#xff0c;它具有极低的价格和较高的精度以及较好的线性特性。下面我们主要介绍这类陕西压力传感器。在了解陕西压力传感器时&#xff0c;我们首先认识一下电阻应变片这种元件。电阻应变片是一种将被测件上的应变变化转换成…

转-rsa加密算法

转自 阮一峰&#xff1b; http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 一、一点历史 1976年以前&#xff0c;所有的加密方法都是同一种模式&#xff1a; &#xff08;1&#…

设计模式之单例模式实践

转载自 设计模式之单例模式实践概念单例模式即一个JVM内存中只存在一个类的对象实例分类1、懒汉式 类加载的时候就创建实例 2、饿汉式 使用的时候才创建实例当然还有其他的生成单例的方式&#xff0c;双重校验锁&#xff0c;枚举和静态内部类&#xff0c;文中会有介绍实践懒汉式…

win7精简_低配电脑的福音:这款小众系统10GB+极限精简+不卡顿,比Win7还快!

自win7停服后&#xff0c;不少用户私信老毛桃&#xff0c;问win10哪个版本的系统好用。这让我怎么回答呢&#xff0c;不同的使用要求安装的系统不一样&#xff0c;但总的来说&#xff0c;世界上没有最完美的系统&#xff0c;只有最适合自己的系统。也有不少用户在评论win10各种…

快慢指针:141. 环形链表(判断是否存在环路)

题目描述 给定一个链表&#xff0c;判断链表中是否有环 题目链接 141. 环形链表 解题思路 使用快慢指针&#xff08;Floyd判圈算法&#xff09;&#xff1a;从链表的头部设置两个指针&#xff0c;p1的步长为1&#xff0c; p2的步长为2&#xff0c;同时向前走&#xff0c;如…

redis集群信息分析-cluster info-cluster nodes

【README】 本文po出 redis集群的节点信息&#xff0c;槽信息&#xff0c;以及字段含义 【1】集群信息 192.168.163.203:6380> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluste…

彻底理解正向代理和反向代理

转载自 彻底理解正向代理和反向代理平时工作中我们会接触到各种代理&#xff0c;它到底是什么概念呢&#xff0c;又是什么工作原理&#xff0c;下面我们具体来分析一下。1、概念正向代理这个很好理解&#xff0c;比如说你现在要访问一个外国的社交网站www.facebook.com&#xf…

查看电脑重启日志_系统日志看硬盘故障图文教程,电脑日志查看磁盘硬盘坏道问题方法...

大家好&#xff0c;我是老盖&#xff0c;感谢观看本篇文章&#xff0c;本文做的也有视频&#xff0c;也可以看我发布的视频。今天和大家讲一下通过电脑的系统日志&#xff0c;判断硬盘是否有问题的一个方法&#xff0c;最近这几天我这个电脑偶尔会卡一下&#xff0c;有的时候还…

redis集群依赖ruby

【README】 redis集群依赖ruby&#xff0c;需安装ruby环境&#xff0c;ruby版本需高于2.2。在创建redis集群前&#xff0c;需要安装ruby &#xff0c;命令如下 yum install ruby yum install rubygems gem install redis 【1】什么是 rubygems 转自 https://www.jianshu.c…

Springboot配置通过URL访问图片(静态资源)

一、确保为web项目&#xff0c;创建WebConfig 实现WebMvcConfigurer &#xff08;推荐&#xff09;或 继承WebMvcConfigurationSupport 说明&#xff1a; SpringBoot2.0 配置WebMvc 需extends WebMvcConfigurationSupport或implements WebMvcConfigurerSpring Boot中只能有一…

区块链技术

转载自 区块链技术最近影响极大的“勒索”病毒袭转全球&#xff0c;造成数以万计的电脑中毒&#xff0c;主要是通过AES/RSA加密电脑办公文件&#xff0c;此种加密方式没有私钥无法解密&#xff0c;黑客提供了解密的方式&#xff0c;就是按黑客提供的交易方式“比特币”交易&…

Springboot实现文件上传,并防止同文件重复上传

目录主要流程编写接受文件上传的Controller编写文件操作结果类编写文件操作类知识总结参考主要流程 在配置文件中添加文件操作的配置&#xff0c;示例&#xff1a; storage:image:#保存位置save-path: D:\classdesign-photo\images\#允许上传的类型allow-type:- jpg- png编写…

asp 执行 exe_EXE程序加密锁下载-EXE程序加密锁电脑版下载v5.0

exe是Windows电脑上常见的程序运行文件格式&#xff0c;EXE程序加密锁能够将该种类型的文件进行加密&#xff0c;帮助用户控制某个软件的使用权限&#xff0c;它的体积可以忽略不计&#xff0c;操作方法也很简单。软件特色EXE程序加密锁是一个功能强大的exe程序锁&#xff0c;能…

dubbo服务调试管理实用命令

转载自 dubbo服务调试管理实用命令 公司如果分项目组开发的&#xff0c;各个项目组调用各项目组的接口&#xff0c;有时候需要在联调环境调试对方的接口&#xff0c;可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法&#xff0c;并能直接invoke具体的方法&#xff…

转-聚合查询变慢-详解Elasticsearch的Global Ordinals与High Cardinality

转自&#xff1a; https://blog.csdn.net/zwgdft/article/details/83215977 【README】 Elasticsearch中的概念很多&#xff0c;本文将从笔者在实践过程中遇到的问题出发&#xff0c;逐步详细介绍 Global Ordinals 和 High Cardinality &#xff0c;这也是笔者的认知过程。文中…

SpringBoot配置Mybatis的两种方式(通过XML配置和通过YML配置文件配置)

一、 通过XML的方式配置Mybatis 在 /src/main/resource下创建Mybatis配置文件 mybatis-config.xml 和 映射文件目录mapper在application.yml指定Mybatis配置文件、映射文件的位置 可选&#xff1a; - mybatis.config-location&#xff1a;配置 mybatis-config.xml 路径mybatis…

cmw500综合测试仪使用_山西优质三相直流电阻测试仪图片-南电合创

感谢您关注我们的产品&#xff0c;本公司除了有此产品介绍以外&#xff0c;还有太阳能接线盒测试仪&#xff0c;绝缘电阻测试仪&#xff0c;回路电阻测试仪&#xff0c;变压器直流电阻测试仪&#xff0c;无线高压核相仪&#xff0c;微机继电保护测试仪&#xff0c;电能质量分析…

内连接,外链接(左连接、右连接、全连接),交叉连接大总结

转载自 内连接&#xff0c;外链接&#xff08;左连接、右连接、全连接&#xff09;&#xff0c;交叉连接大总结1.什么是连接查询呢&#xff1f;概念&#xff1a;根据两个表或多个表的列之间的关系&#xff0c;从这些表中查询数据。目的&#xff1a;实现多个表查询操作。2.分类&…

redis创建集群报错can‘t connect to node 192.168.163.203

【README】 创建集群报错 cant connect to node 192.168.163.203 [rootcentos201 ~]# /usr/local/redis-cluster/bin/redis-trib.rb create --replicas 0 192.168.163.201:6379 192.168.163.202:6379 192.168.163.203:6379 >>> Creating cluster Connecting to no…