今天主要总结下常用的对称性加密算法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算法特点
不需要进行密钥传递,提高了安全性
可以进行数字签名认证
加密解密效率不高,一般只适用于处理小量数据(如:密钥)
容易遭受小指数攻击
土壤养分速测仪提高农产品质量
一款Web安服日志管理工具wLogger
超级计算与机器学习怎样帮助电厂改善运营
联通在线打造出了区块链技术的身份认证和数据存证平台
TE推出新款微型ALCOSWITCH BLUE系列按钮开关
举例几种常见的加密算法
电子封装净化间的静电防护及监控(二)
疫情改变用电习惯,各国提前验收智能电网成果
人机界面开发之开启VNC功能同步HMI到PC
多核战争进入高潮 多核处理器成未来主流
功率器件雪崩耐量测试
区块链技术应用,源中瑞胡大帅
“筑梦未来,AI爱在起跑线”商汤助推国内AI教育
电浮筒游液位计校准工作如何做
华为鸿蒙系统官网报名 鸿蒙系统报名流程介绍
视觉检测设备的组成结构,它的核心部分是什么
一路走来 | 上缆藤仓4m成缆机改造之施工
Altera:20nm技术延续硅片融合承诺
提供基于MikroSDK 2.0的GSDK扩展支持以简化第三方硬件集成设计
7 FPGA大数据互联及视频系统开发板