Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >加密/解密(对比)

加密/解密(对比)

原创
作者头像
一百减一是零
发布于 2024-08-02 01:29:41
发布于 2024-08-02 01:29:41
2340
举报
文章被收录于专栏:加密解密加密解密

对称加密算法

DES

由来: Data Encryption Standard,是一种对称加密算法,由 IBM 在 1975 年开发,1977 年被美国政府采用为标准加密算法。

概念: DES 使用 64 位密钥对数据进行加密,将明文分成 64 位的块,每次进行加密时,将前一次的密文作为下一次的输入进行加密操作。

特点: 速度较慢,密钥长度较短,容易受到暴力破解攻击。

算法原理: DES 采用分组密码的方式进行加密,将明文分成 64 位的块,先进行 IP 置换,然后进行 16 轮迭代加密操作,最后进行 FP 逆置换。

优缺点: 优点是安全性较高,适合用于加密小数据量;缺点是密钥较短,容易受到暴力破解攻击。

应用场景: DES 算法已经被 AES 替代,一般不再使用。

3DES

由来: Triple Data Encryption Algorithm,是 DES 的一种加强版,由 IBM 在 1998 年提出。

概念: 3DES 将 DES 算法进行三次迭代,使用两个密钥进行加密,总密钥长度为 168 位。

特点: 安全性较高,但运算速度较慢。

算法原理: 3DES 采用分组密码的方式进行加密,将明文分成 64 位的块,先进行 IP 置换,然后进行 3 轮迭代加密操作,最后进行 FP 逆置换。

优缺点: 优点是安全性高,可以用于加密大数据量;缺点是运算速度慢,加密效率低。

应用场景: 3DES 可以用于加密银行卡信息、个人身份证信息等敏感数据。

AES

由来: Advanced Encryption Standard,是最常用的对称加密算法,由比利时密码学家 Joan Daemen 和 Vincent Rijmen 在 1998 年提出。

概念: AES 使用 128 位、192 位或 256 位密钥进行加密,将明文分成 128 位的块,每次进行加密时,先进行 AddRoundKey 操作,然后进行 SubBytes、ShiftRows、MixColumns 四个操作,最后进行 AddRoundKey 操作。

特点: 安全性高,运算速度快,可以同时加密大数据量。

算法原理: AES 采用分组密码的方式进行加密,将明文分成 128 位的块,先进行 AddRoundKey 操作,然后进行 10/12/14 轮迭代加密操作,最后进行 AddRoundKey 操作。

优缺点: 优点是安全性高,运算速度快,适合用于加密大数据量;缺点是密钥长度长,可能会对内存占用造成一定压力。

应用场景: AES 可以用于加密云存储、移动设备、网络传输等数据。

非对称加密算法

RSA

由来: RSA 是一种公钥密码算法,由 Ron Rivest、Adi Shamir 和 Leonard Adleman 在 1977 年提出。

概念: RSA 使用一对公钥和私钥进行加密和解密,公钥可以公开,私钥由个人保管,用于解密。

特点: 安全性较高,但加密速度较慢,密钥长度较长。

算法原理: RSA 的公钥和私钥是基于大质数的数学问题,通过找到两个大质数 p 和 q,计算 n=pq 以及 φ(n)=(p-1)(q-1),再找到一个与 φ(n) 互质的整数 e,计算出 d=e^(-1)mod φ(n),e 和 n 组成公钥,d 和 n 组成私钥。

优缺点: 优点是安全性高,解决了密钥分发问题;缺点是加密速度慢,密钥长度长。

应用场景: RSA 可以用于数字签名数据加密身份认证等领域。

ECC

由来: 椭圆曲线密码算法,是一种公钥密码算法,由 Victor S. Miller 和 Neal Koblitz 在 1985 年提出。

概念: ECC 使用一对公钥和私钥进行加密和解密,公钥可以公开,私钥由个人保管,用于解密。

特点: 安全性高,加密速度快,密钥长度短。

算法原理: ECC 通过椭圆曲线来寻找一个点 P,对于一条曲线 y^2=x^3+ax+b,找到满足 y^2=x^3+ax+b(mod p) 的点 P=(x,y),其中 p 是一个质数,P 和一个系数 n 组成私钥,P 和 n*G(G 为曲线的基点)组成公钥。

优缺点: 优点是安全性高,加密速度快,密钥长度短;缺点是实现难度大,需要专业的数学背景。

应用场景: ECC 可以用于移动设备、物联网、数字证书等领域。

对称与非对称的比较

特点

对称加密

非对称加密

密钥长度

短(<256)

长(>1024)

加/解密速度

安全性

密钥管理

容易

困难

适用场景

小数据量

大数据量

注:常见的哈希算法(MD5、SHA-1、SHA-256 等)也常被用于数据加密。技术栈:加密、解密、哈希算法、证书、数字签名等。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通信加密算法
加密算法通常分为对称性加密算法和非对称性加密算法。对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。
全栈程序员站长
2022/09/01
1.8K0
通信加密算法
常见加密算法解析-2
DES是对称性加密里常见的一种,全程是Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的块算法。秘钥长度是64位(bit), 超过位数秘钥被忽略。所谓对称性加密,加密和解密秘钥相同。对称性加密一般会按照固定长度,把待加密字符串分成块。不足一整块或者刚好最后有特殊填充字符。常见的填充模式有:'pkcs5'、'pkcs7'、'iso10126'、'ansix923'、'zero' 类型,包括DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。
用户5521279
2020/05/27
1.3K0
网络协议(十一):单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书
冬天vs不冷
2025/01/21
1610
网络协议(十一):单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书
软考高级架构师:信息加密技术概念和例题
信息加密技术是信息安全中的核心技术之一,它通过数学算法将原始信息转换成无法直接读懂的密文,以保护信息的安全。信息加密技术主要分为对称加密和非对称加密两大类。
明明如月学长
2024/05/24
1310
软考高级架构师:信息加密技术概念和例题
加密算法介绍
数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。
郭顺发
2023/07/17
2910
保护数据隐私的核心技术:加密算法简述
加密解密算法是用来保护数据安全的重要工具。它们可以将明文转换为密文,并在需要时将密文转换回明文。这篇文章将详细介绍三种常用的加密解密算法:AES、RSA和MD5。
曈曈too
2023/02/27
1.2K0
2018-10-11 对称加密、非对称加密、Hash算法看完这篇文章加解密就别蒙了散列函数 加密算法
http://hongyitong.github.io/2016/07/18/%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86%E3%80%81%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86%E3%80%81Hash%E7%AE%97%E6%B3%95/
Albert陈凯
2018/10/12
1.4K0
加密算法概述:分类与常见算法
加密算法可以根据不同的标准进行分类,比如根据密钥的使用方式、加密和解密过程是否可逆等。以下是一些主要的分类方式:
公众号:码到三十五
2024/05/24
9680
加密算法概述:分类与常见算法
计算机网络——网络安全
我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。 面向群体:在学计网的在校大学生,工作后想要提升的各位伙伴,
学编程的小程
2024/05/26
1330
计算机网络——网络安全
HTTP和HTTPS的区别,看完后随便吊打面试官
下面我们来一起学习一下 HTTPS ,首先问你一个问题,为什么有了 HTTP 之后,还需要有 HTTPS ?我突然有个想法,为什么我们面试的时候需要回答标准答案呢?为什么我们不说出我们自己的想法和见解,却要记住一些所谓的标准回答呢?技术还有正确与否吗?
淘课之家
2020/03/15
3.7K1
HTTP和HTTPS的区别,看完后随便吊打面试官
我的Android进阶之旅------&gt;Android采用AES+RSA的加密机制对http请求进行加密
作者:欧阳鹏 来源:http://blog.csdn.net/ouyang_peng/article/details/50983574(点击文末阅读原文前往) 前言 最近维护公司APP应用的登录模块,由于测试人员用Fiddler抓包工具抓取到了公司关于登录时候的明文登录信息。虽然使用的是HTTPS的方式进行http请求的,但还是被Fiddler抓到了明文内容。因此,需要对之前未加密的登录信息进行加密。在网上搜到一篇关于AES+RSA加密方案的文章,如下面链接所示,按照该方案成功解决了加密问题,在这里记录一下
java达人
2018/01/31
2.2K0
我的Android进阶之旅------&gt;Android采用AES+RSA的加密机制对http请求进行加密
【愚公系列】软考高级-架构设计师 064-信息安全技术
信息安全技术是一种涉及保护计算机系统、网络和数据不受未经授权的访问、使用、泄露或破坏的技术和方法。信息安全技术的主要目标是确保信息的机密性、完整性和可用性,防止信息在传输和存储过程中遭到未经授权的访问或修改。
愚公搬代码
2024/07/08
2320
探秘加密算法
常见的对称加密算法 DES:分组式加密算法,以64位为分组对数据加密,加解密使用同一个算法。 3DES:三重数据加密算法,对每个数据块应用三次DES加密算法。 AES:高级加密标准算法,是美国联邦政府采用的一种区块加密标准,用于替代原先的DES,目前已被广泛应用。 1)AES/DES/3DES算法 AES、DES、3DES 都是对称的块加密算法,加解密的过程是可逆的。 DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。 DES加密算法是对密钥进行保密而公开算法(包括加密和解密算法)。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。对于56位长度的密钥来说,如果用穷举法来进行搜索的话,其运算次数为2 ^ 56 次。 2)3DES算法 3DES算法是基于DES 的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高。 3)AES算法 AES加密算法是密码学中的高级加密标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128 位、192 位、256 位,分组长度128 位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准。 AES 本身就是为了取代DES的,AES具有更好的安全性、效率和灵活性。 对称算法特点 密钥管理:比较难,不适合互联网,一般用于内部系统; 安全性:中; 加密速度:快好几个数量级 (软件加解密速度至少快 100 倍,每秒可以加解密数 M 比特数据),适合大数据量的加解密处理 2. 非对称加密 非对称加密算法介绍 非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,一个称为公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。
用户5521279
2020/01/02
1.3K0
各种加解密算法比較
DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
全栈程序员站长
2022/07/13
7780
【愚公系列】软考高级-架构设计师 012-加密技术和认证技术
加密技术和认证技术是网络安全和数据保护领域的两个核心组成部分。它们都旨在保护数据的安全性和完整性,但各自关注的方面和实现的方式不同。
愚公搬代码
2024/06/08
1580
程序员必备基础:加签验签
前言 我们在求职面试中,经常会被问到,如何设计一个安全对外的接口呢? 其实可以回答这一点,加签和验签,这将让你的接口更加有安全。接下来,本文将和大家一起来学习加签和验签。从理论到实战,加油哦~ 密码学
捡田螺的小男孩
2020/07/21
7.7K1
程序员必备基础:加签验签
硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理
前端时间有研究多款加密芯片,加密算法实现,以及激活成功教程可能,也有一些个人的观点,仅供参考;
全栈程序员站长
2022/09/12
2.8K0
硬件加密芯片介绍 及 加密芯片选择(加密IC) 加密芯片原理
PHP 加密与解密
在现代 Web 应用中,数据安全是至关重要的,尤其是处理用户的敏感信息时,如密码、个人身份信息、信用卡号等。为了保护这些敏感数据不被黑客窃取或篡改,我们常常需要使用加密技术对数据进行保护。PHP 作为一种广泛使用的服务器端脚本语言,也提供了多种加密和解密的方法,帮助开发者实现数据的安全保护。
繁依Fanyi
2025/02/06
2910
加解密算法分析与应用场景
在日常开发中,无论是使用何种编程语言,我们都会遇到加解密的需求。例如,为了保护接口数据安全,我们需要对数据进行加密传输;在HTTPS协议中,通过非对称加密传输客户端私钥,然后双方使用该私钥进行对称加密通信;使用MD5算法进行文件一致性校验等。然而,面对众多的加解密方案,我们往往不清楚何时使用哪种方法。本文将为您梳理当前主流的加解密技术,并对算法进行科普性说明,但不涉及具体算法分析。根据日常应用场景,加解密技术大致可分为以下四类:
不惑
2024/05/13
5550
加解密算法分析与应用场景
IT领域常见的加密算法详细解析
对称加密算法使用同一个密钥进行加密和解密。这类算法的特点是加密解密速度快,适用于大量数据的加密,但由于密钥管理问题,通常只在安全信道内或结合非对称加密算法使用。
用户7353950
2024/11/23
2220
IT领域常见的加密算法详细解析
推荐阅读
相关推荐
通信加密算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档