举例几种常见的加密算法-飞外网

今天主要总结下常用的对称性加密算法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


可重构平台下AES算法的流水线性能怎么优化? 可重构平台下AES算法的流水线性能怎么优化? 发表于 04-28 06:46 • 1120次
如何去实现DES加密算法? DES算法的简单原理是什么?如何去实现DES加密算法? 发表于 04-26 07:14 • 868次
如何优化AES算法中S-box和列混合单元? 美国国家标准与技术局(National Institute ofStandard and Technology,NIST)于1997年1月提出发展AES(Advanced Enc... 发表于 08-06 06:19 • 1719次
可重构处理器的AES算法设计 在通用可重构处理器架构基础上,提出一种高级加密标准AES-128实现方案。该方案从算法结构、处理单元.... 发表于 02-07 10:05 • 485次
rsa加密算法的安全性分析 RSA算法是一个基于初等数论定理的公钥密码体制加密算法,它的实现过程为:选取2个大素数p与q,然后算.... 发表于 12-10 11:59 • 20248次
DES算法的应用误区及安全性分析 摘要:在银行金融界及非金融界,越来越多地用到了DES 算法, DES 全称为Data Encrypt.... 发表于 12-10 11:55 • 11411次
c语言实现rsa加密算法过程详解 算法描述:1.选择两质数p、q 2. 计算n = p*q,【注意实际要加密的数据要小于n】。3. 计.... 发表于 12-10 11:43 • 32693次
rsa加密与解密过程解析 A提取消息m的消息摘要h(m),并使用自己的私钥对摘要h(m)进行加密,生成签名sA将签名s和消息m.... 发表于 12-10 11:15 • 14295次
des加密算法及原理详细解释 DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称.... 发表于 12-10 11:06 • 60077次
rsa公钥加密算法原理分析 RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密.... 发表于 12-10 09:20 • 16329次
des算法与rsa算法有什么区别_比较 DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称.... 发表于 12-09 09:27 • 15161次
des加密解密算法详解及源码分享 DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的.... 发表于 12-09 09:10 • 13788次
基于51的DES算法演示 DES算法演示,基于51的DES算法演示,程序学习。快来学习吧 发表于 01-13 14:13 • 464次
基于掩码的AES算法抗二阶DPA攻击方法研究 本文针对该问题,提出了一种改进的固定值掩码防御方法。该方法在简单固定值掩码方法的基础上,增加另一组掩.... 发表于 12-31 09:25 • 559次
基于C语言的RSA算法的实现 RSA算法是现代公钥密码体制事实上的标准,既能用于数据加密解密也能用于数字签名。本文重点介绍RSA的.... 发表于 12-21 10:19 • 600次
基于AES算法的加密模块设计 文中介绍了高级加密算法(AES)的基本原理,并给出了基于AES算法硬件加密模块设计方案。通过Mode.... 发表于 02-21 15:52 • 792次
非对称加密体制中RSA算法研究 由于对称加密体制的安全性难以保障,在网络安全状况日益严重的情况下,需要有一种强有力的安全加密方法来保.... 发表于 06-08 14:56 • 640次
基于AES算法的无线加密数字传输系统 本文实现了一种基于AES 算法的无线加密数字传输系统,给出了该系统的结构,完成了AES 算法在FPG.... 发表于 01-22 15:09 • 470次
RSA算法的TMS320C54x DSP 实现 RSA 算法是基于数论的公钥密码体制,是公钥密码体制中最优秀的加密算法。本文介绍RSA算法的基本原理.... 发表于 04-16 10:39 • 546次