常见加密算法介绍及比较

简介: 常见加密算法介绍及比较

常见加密算法

常见的对称加密算法主要有DES、3DES、AES等,常见的非对称算法主要有RSA、DSA等,散列算法主要有SHA-1、MD5等。也有的地方将对称加密和非对称加密归类为双向加密,将散列算法归类为单向加密。

对称算法又可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算(即运算之前将明文分为若干组,然后分别对每一组进行运算,这些位组称为分组),相应的算法称为分组算法或分组密码

三种对称算法介绍---DES,3DES,AES

DESData Encryption Standard(数据加密标准,又美国国密局,选中的IBM的方案,密钥长度为56,标准提出是要使用64位长的密钥,但是实际中DES算法只用了64位中的56位密钥,这一点是容易出错的)

 

3DEStrip DES(3级DES,是DES的升级版,主要是为了应对快速发展的计算机能力,能够在24小时内暴力破解传统的56位长度密钥的DES,而3DES相当于对统一数据块采用3次DES,3次DES使用的密钥如果完全不同,则密钥长度可以达到168位,大大延长了被暴力破解的时间)

 

AESAdvanced Encryption Standard(高级数据加密标准,是美国国密局为下一代加密算法,挑选的标准)

 

以上三种都是对称加密算法,且是国际算法,因为都是美国佬搞的,而我国国密局也制定了自己的对称加密算法,叫国密算法,SM1(相当于AES),和SM4(相当于3DES)。

 

对称加密算法(加解密密钥相同)

名称

密钥长度

运算速度

安全性

资源消耗

DES

56位

较快

3DES

112位或168位

AES

128、192、256位

 

两种非对称算法介绍

RSA加密算法

             RSA本身并没有特殊的含义,RSA算法是1977年三个工作在麻省理工学院的学者提出的,RSA就是他们三人姓氏开头字母拼在一起组成的。

RSA加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前最优秀的公钥方案之一。RSA是第一个能同时用于加密和数宇签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

 

DSA加密算法

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

      相比于RSA,DSA 只用于签名,而 RSA 可用于签名和加密。

 

非对称算法(加密密钥和解密密钥不同)

名称

成熟度

安全性(取决于密钥长度)

运算速度

资源消耗

RSA

DSA

只能用于数字签名

 

对称与非对称算法比较

名称

密钥管理

安全性

速度

对称算法

比较难,不适合互联网,

一般用于内部系统

快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理

非对称算法

密钥容易管理

慢,适合小数据量加解密或数据签名

 

 

 

散列加密算法(单向加密算法)

MD5加密算法

      MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

      MD5被广泛用于各种软件的密码认证和钥匙识别上。MD5用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改。MD5的典型应用是对一段Message产生fingerprin指纹,以防止被“篡改”。如果再有—个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于操作系统的登陆认证上,如UNIX、各类BSD系统登录密码、数字签名等诸多方。

 

SHA1加密算法

      SHA1是和MD5一样流行的消息摘要算法。SHA加密算法模仿MD4加密算法。

      SHA1主要适用于数字签名标准里面定义的数字签名算法。对于长度小于2“64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。SHA1不可以从消息摘要中复原信息,而且两个不同的消息不会产生同样的消息摘要。这样,SHA1就可以验证数据的完整性,所以说SHA1是为了保证文件完整性的技术。

      SHA1是一种比MD5的安全性强的算法,理论上,凡是采取“消息摘要”方式的数字验证算法都是有“碰撞”的——也就是两个不同的东西算出的消息摘要相同,互通作弊图就是如此。但是安全性高的算法要找到指定数据的“碰撞”很困难,而利用公式来计算“碰撞”就更困难一目前为止通用安全算法中仅有MD5被破解。

题外话:清华大学王小云等人发现了当前所用的HASH算法存在的问题,使得新的HASH算法具有更好的安全性。

散列算法比较

名称

安全性

速度

SHA-1

MD5

参考链接:

https://yq.aliyun.com/articles/156277

https://blog.csdn.net/hengshujiyi/article/details/45972533

相关文章
|
算法 安全 数据安全/隐私保护
密码学基础-对称密码算法(Symmetric-key Algorithm)
密码学基础-对称密码算法(Symmetric-key Algorithm)
|
3月前
|
自然语言处理 监控 数据可视化
2025年国内外知名数据可视化软件盘点:功能亮点与应用价值
在数字化转型背景下,数据可视化软件成为企业释放数据价值的关键工具。本文从功能亮点、市场表现等维度,解析瓴羊Quick BI、Tableau、Power BI等主流工具在可视化能力、用户友好性、集成兼容性等方面的差异,并结合行业应用与用户评价,为企业选型提供实用参考。像瓴羊 Quick BI 的“智能小Q”一样,自然语言交互、智能洞察(如自动识别数据异常、预测趋势)将成为标配。
|
3月前
|
人工智能 边缘计算 自然语言处理
2025国内AI数字人企业厂商权威排名与综合对比选择建议
像衍科技领衔数字人产业革新,依托浙大科研基因与全栈技术布局,在三维图形、实时渲染等领域构筑专利壁垒。携手IDG、红杉资本,三年跻身国家高新企业,赋能金融、消费、医疗等多元场景,推动AI数字人迈向人性化、规模化落地新阶段。
|
算法 安全 Java
【数据安全】常见加密算法总结
【数据安全】常见加密算法总结
3268 1
|
安全 算法 数据库
MD5、SHA、DES、AES、RSA的算法说明
【5月更文挑战第10天】MD5、SHA、DES、AES、RSA的算法说明
1638 2
|
安全 物联网 网络安全
智能家居安全:从风险分析到防护措施的全面指南
随着物联网技术的飞速发展,智能家居系统已逐渐走入千家万户。然而,智能化带来的便捷背后隐藏着不容忽视的安全风险。本文深入探讨了智能家居系统中存在的各类安全威胁,并提出了一套综合性的安全防护措施。文章不仅涵盖了技术层面的解决方案,还强调了用户在提升家居安全中的关键作用。通过案例分析,本文旨在为读者提供一份实用的智能家居安全指南,确保技术便利与个人隐私的双重保障。
|
网络协议 Dubbo 应用服务中间件
关于接口协议,你必须要知道这些!
本文介绍了网络通信中常见的协议和服务,包括HTTP、FTP、SMTP等应用层协议,以及TCP、UDP和RPC协议。TCP是一种面向连接、可靠的协议,适用于高可靠性场景,而UDP则是无连接、简单的协议,适合实时应用。RPC协议允许远程调用,如Dubbo和gRPC。HTTP协议是接口测试的核心,GET和POST是最常见的请求方法,RESTful架构利用HTTP方法进行资源操作。理解这些基础知识对于网络通信和接口测试至关重要。
|
Kubernetes 容器 Perl
Kubernetes(K8S) Node NotReady 节点资源不足 Pod无法运行
Kubernetes(K8S) Node NotReady 节点资源不足 Pod无法运行
366 0
|
JSON JavaScript 前端开发
Node.js:前端开发的后端利器
Node.js作为一种运行在服务器端的JavaScript环境,为前端开发者打开了后端开发的大门。它以其高效的事件驱动、非阻塞I/O模型以及强大的npm生态,使得前端开发者能够轻松构建服务器端应用,实现前后端的全栈开发。本文将探讨Node.js的核心优势、应用场景以及在前端开发中的重要性。
|
数据格式
SPSS计算偏度、峰度、平均值、极值、中位数、标准差
本文介绍基于SPSS软件的经典统计学分析与偏度、峰度等常用统计学指标的计算方法~
5075 1
SPSS计算偏度、峰度、平均值、极值、中位数、标准差

热门文章

最新文章