0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

举例几种常见的加密算法

电子工程师 来源:搜狗测试 作者:kdj 2021-04-28 13:52 次阅读

今天主要总结下常用的对称性加密算法DES和AES,非对称性加密算法RSA。

01

DES加密算法

1.DES含义

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

DES是对称性加密里常见的一种,是一种使用秘钥加密的块算法。秘钥长度是64位(bit), 超过位数秘钥被忽略。所谓对称性加密,加密和解密秘钥相同。对称性加密一般会按照固定长度,把待加密字符串分成块。不足一整块或者刚好最后有特殊填充字符。

常见的填充模式有:‘pkcs5’、‘pkcs7’、‘iso10126’、‘ansix923’、‘zero’ 类型,包括DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。

2. DES算法原理

DES算法的入口参数:Key、Data、Mode。 Key为8个字节共64位,是DES算法的工作秘钥;

Data也为8个字节64位,是要被加密或解密的数据; Mode为DES的工作方式,有两种:加密或解密。

3.DES加密原理

DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。

使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

4.DES算法特点

分组比较短、秘钥太短、密码生命周期短、运算速度较慢。

02

AES加密算法

1.AES含义

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

严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128,192或256比特;

而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB。

2.AES加密原理

AES加密过程涉及到4种操作,分别是字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16个字节的明文、密文和轮密钥都以一个4x4的矩阵表示。

3.AES算法特点

运算速度快,安全性高,资源消耗少

03

RSA加密算法

1.RSA含义

RSA加密算法是一种非对称加密算法,这种算法非常可靠,密钥越长,它就越难破解。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。

也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。

2.RSA算法原理

在了解RSA算法原理之前,先了解一下非对称加密的过程: 非对称加密是通过两个密钥(公钥-私钥)来实现对数据的加密和解密的。公钥用于加密,私钥用于解密。对于非对称的加密和解密为什么可以使用不同的密钥来进行,这些都是数学上的问题了。不同的非对称加密算法也会应用到不同的数学知识。接下来就来看看RSA算法是怎么来对数据进行加密的。

下面是RSA算法的加密算法流程图:

3.RSA算法特点

不需要进行密钥传递,提高了安全性

可以进行数字签名认证

加密解密效率不高,一般只适用于处理小量数据(如:密钥)

容易遭受小指数攻击

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RSA算法
    +关注

    关注

    0

    文章

    14

    浏览量

    7759
  • AES算法
    +关注

    关注

    0

    文章

    11

    浏览量

    7810
  • DES算法
    +关注

    关注

    0

    文章

    8

    浏览量

    7016
收藏 人收藏

    评论

    相关推荐

    基于 FPGA 的光纤混沌加密系统

    算法具有高复杂度,可防止 SPA\\DPA 攻击。让指挥信息能足够保密,防止被敌人窃取。 1.3 主要技术特点 FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成本较低, 可重配
    发表于 04-26 17:18

    STM32L072系列支持AES加密算法吗?

    STM32L072,L0系列,Cortex-M0/M0+/M1处理器基于ARMv6-M架构,查指令集是没有AES加密支持的请问要怎么支持AES加密算法
    发表于 04-10 08:05

    如何对MD5加密算法优化?

    有人针对程序安全启动过程,进行MD5算法的优化嘛。目前采用标准算法,时间稍长,如果有人做过优化的话,可以分享一下,谢谢。
    发表于 02-18 08:20

    TC233/TC234系列中的HSM硬件支持哪些加密算法

    HSM 中支持的算法:你能否具体说明 TC233/TC234 系列中的 HSM 硬件支持哪些加密算法? 特别是,我有兴趣了解对 AES、CMAC、RSA、ECC 和 SHA 的支持。 2. 具有类似
    发表于 01-18 10:33

    对称加密算法工作模式详解

    对称密码体制,又称为单密钥密码机制,其基本特征为加密密钥和解密密钥相同。
    的头像 发表于 01-04 11:25 764次阅读
    对称<b class='flag-5'>加密算法</b>工作模式详解

    加密芯片工作原理max32555

    加密芯片MAX32555是一种广泛应用的硬件加密设备,它采用先进的加密算法和技术,对数据进行加密和解密操作,以确保数据传输和存储的安全性。本文将详细介绍
    的头像 发表于 12-13 15:03 872次阅读

    php加密方式有哪些

    PHP加密方式有许多种,以下是一些常用的加密方式: 对称加密 对称加密算法使用相同的密钥进行加密和解密。
    的头像 发表于 12-04 15:32 280次阅读

    求助,关于EEPROM存数据加密问题

    读了一个eeprom,已知(00 0E 00 24 AC BD 00 20 AA BE 00 00 38 DD 3E D4)与编号014557有关系,这个加密算法是怎么做的
    发表于 11-10 07:02

    请问一般用硬件怎么实现rsa加密算法?

    一般用硬件怎么实现rsa加密算法?
    发表于 10-17 07:02

    在单片机上使用的加密算法有哪些?

    在单片机上使用的加密算法有哪些
    发表于 10-10 06:17

    【开源三方库】crypto-js加密算法库的使用方法

    应用。如果是发布到开源社区,称为开源三方库,开发者可以通过访问开源社区获取。接下来我们来了解crypto-js开源三方库。crypto-js是一个加密算法类库,可以非常方便地在前端进行其所支持的加解密操作。目前
    发表于 09-08 15:10

    ANYMESH-自组网安全加密算法及策略与手段介绍

    一、DES加密算法 DES加密算法是一种对称密码算法,是1972年美国IBM公司研制的对称密码体制加密算法,其加密密钥和解密密钥相同。DES
    的头像 发表于 08-29 09:25 483次阅读
    ANYMESH-自组网安全<b class='flag-5'>加密算法</b>及策略与手段介绍

    加密算法如何保护嵌入式设计

    密码学与用于实现它的算法一样强大。在现代密码学中,我们拥有基本的XOR函数,以及当今许多应用程序中使用的更复杂的算法。在这篇博文中,我将概述一些关键算法,包括安全哈希算法和 AES
    的头像 发表于 06-28 10:16 311次阅读
    <b class='flag-5'>加密算法</b>如何保护嵌入式设计

    加密:最常见算法

    算法如何工作的完整描述远远超出了本文的范围,但让我们看一下它们设计中举例说明对称加密算法重要属性的部分。
    的头像 发表于 06-27 15:47 423次阅读
    <b class='flag-5'>加密</b>:最<b class='flag-5'>常见</b>的<b class='flag-5'>算法</b>

    GPG加密和解密文件在Linux中使用

    GPG(GNU Privacy Guard)是一种免费的开源加密软件,用于保护计算机数据的机密性和完整性。 它使用非对称加密算法,也称为公钥加密算法,其中数据被加密和解密时使用不同的
    的头像 发表于 05-12 14:47 1604次阅读
    GPG<b class='flag-5'>加密</b>和解密文件在Linux中使用