专栏首页网管叨bi叨浅析AES和RSA加密算法的区别和适用场景

浅析AES和RSA加密算法的区别和适用场景

信息数据传输的安全一直都是个很重要的话题,从刚开始当程序员时错以为MD5、SHA1这些哈希算法就是加密算法,到后来慢慢接触对称加密、非对称加密这些概念,再到对接各种大开发平台接口的时候看到他们通过 RSA 进行签名配合 AES 加密报文这些方式防止接口参数被篡改和信息泄露。今天就简单的梳理一下两种加密算法的区别和各自适用的场景。

加密算法的分类

加密的基本思想是将数据转换成一种掩盖了原始含义的形式,只有经过适当授权的人才能解密。使用相同或不同的密钥对数据进行加解密,如果加密和解密使用相同的密钥,则称该过程是对称的。如果使用不同的密钥,则该过程被定义为非对称的。

当今使用最广泛的两种加密算法是 AES 和 RSA。两者都非常有效和安全,但它们通常以不同的方式使用。

AES 加密

AES 算法依次对每个 128 位数据块应用一系列数学变换。由于这种方法的计算要求较低,AES 可用于笔记本电脑和智能手机等消费类设备上进行数据加密,以及快速加密大量数据。

AES 是一种对称算法,它使用相同的 128、192 或 256 位密钥进行加密和解密。128、192 或 256 位的密钥可以理解为分别对应16、24和32个字节的16进制字符串密钥,AES 系统的安全性会随密钥长度呈指数增长。

即使使用 128 位密钥,通过对 2128 个可能的密钥值进行暴力枚举,来尝试破解 AES加密后的数据的任务也是个非常计算密集型的任务。事实上,AES 从未被破解,并且根据当前的技术趋势,预计在未来几年内仍将保持安全。

RSA 加密

RSA 以麻省理工学院的科学家(Rivest、Shamir 和 Adleman)的名字命名, 于1977 年首次公布。它是一种非对称算法,它使用公开的已知密钥进行加密,但需要另外一个不同的密钥进行解密,这个不同的密钥只有预期的接收者知道。

网上不少例子说的是公钥用于加密,私钥用于解密,其实这个说法不对,私钥和公钥是一对,都可以加解密,配对使用,只不过公钥可以公布出去,而私钥是持有者自己保留的

一般的用法是私钥加密用于签名防数据被篡改,公钥加密用于加密防敏感信息,防止泄露

  • 私钥加密公钥解密,能证明“私钥拥有者” 的唯一身份,用于签名。
  • 公钥加密私钥解密,确保发送的信息,只有"私钥拥有者"能够解密。

这块先卖个关子,理解不了的话后面给大家介绍开放平台API验签和加密流程的时候再给大家细讲。

RSA 算法需要的计算量比 AES 高,但速度要慢得多。它比较适合用于加密少量数据。

RSA和AES结合使用

AES 算法的一个主要问题是,作为一种对称算法,它要求加密方和解密方使用相同的密钥。这就产生了一个关键的密钥管理问题——如何将非常重要的密钥分发给分布在世界各地的授权接收者,而不会冒在传输途中某个地方考虑不周导致密钥泄露的巨大风险?答案是结合 AES 和 RSA 加密的优势。

在包括互联网在内的许多现代通信环境中,大量交换的数据都通过快速 AES 算法进行加密。为了获得解密数据所需的密钥,授权接收者发布一个公钥,同时保留一个只有他们知道的相关私钥。然后,发送方使用该公钥对他们自己的 AES 密钥进行RSA加密传输给接收方,接收方使用私钥解密得到AES密钥,再用该密钥对数据进行解密。

文章分享自微信公众号:
网管叨bi叨

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:KevinYan11
原始发表时间:2021-12-03
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • HBase和Hive的区别和各自适用的场景

    先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。

    王知无-import_bigdata
  • 论普通函数和箭头函数的区别以及箭头函数的注意事项、不适用场景

    箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程...

    OBKoro1
  • DES、AES、RSA等常用加解密算法说明

    加密一般分为可逆加密和不可逆加密,其中可逆加密一般又分为对称加密和非对称加密,以下为常用加密算法:

    IT晴天
  • 总结常见的安全加密算法和使用场景

      常用的对称加密算法:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES。

    程序员云帆哥
  • 常见加密算法简析

    说到加密算法,开发人员基本都不会陌生。我们平常开发中接触形形色色的加密算法,简单来说分为对称加密算法与非对称加密算法以及散列算法。算法的区别在...

    创译科技
  • 现代密码学实践指南[2015年]

    本文介绍目前现代密码学的最先进技术, 前半部分主要翻译自 《Cryptographic Right Answers》,附上收集的资料,和byron个人的理解。

    byronhe
  • 011各种加密算法比较

    算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA

    上善若水.夏
  • 探秘加密算法

    常见的对称加密算法 DES:分组式加密算法,以64位为分组对数据加密,加解密使用同一个算法。 3DES:三重数据加密算法,对每个数据块应用三次DES加密算法。...

    用户5521279
  • Java加密解密介绍

    常用的加密算法总体可以分为两类:单项加密和双向加密,双向加密又分为对称加密和非对称加密,因此主要分析下面三种加密算法:

    全栈程序员站长
  • NodeJS模块研究 - crypto

    这次研究下 nodejs 的 crypto 模块,它提供了各种各样加密算法的 API。这篇文章记录了常用加密算法的种类、特点、用途和代码实现。其中涉及算法较多,...

    心谭博客
  • Android常用加密方式

    加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算...

    全栈程序员站长
  • 常见加密算法解析-2

    DES是对称性加密里常见的一种,全程是Data Encryption Standard,即数据加密标准,是一种使用秘钥加密的块算法。秘钥长度是64位(bit),...

    用户5521279
  • 03 | 密码学基础:如何让你的密码变得“不可见”?

    上一讲,我们学习了黄金法则的三部分核心内容:认证、授权、审计。它们描述了用户在使用应用的各个环节,我们需要采取的安全策略。

    斑马
  • 说一下你常用的加密算法

    加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。

    Java旅途
  • 常用加密算法解析

    今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过...

    Java技术栈
  • 循序渐进学加密

    还记得上初二的那年夏天,班里来了一个新同学,他就住在我家对面的楼里,于是我们一起上学放学,很快便成了最要好的朋友。我们决定发明一套神秘的沟通方式,任何人看到都不...

    知识与交流
  • 加密总结 原

    DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

    wuweixiang
  • 各种加解密算法比較

    DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

    全栈程序员站长

扫码关注腾讯云开发者

领取腾讯云代金券