今天主要总结一下常用的对称加密算法DES和AES,以及非对称加密算法RSA。
01
DES加密算法
1.1的含义。数据加密标准
DES,全称是数据加密标准,是一种使用密钥加密的分组算法。1977年,DES被美国联邦政府国家标准局确定为联邦数据处理标准(FIPS),并被授权用于非机密的政府通信。随后,该算法在国际上广泛传播。
DES是一种常见的对称加密类型,它是一种使用密钥加密的分组算法。密钥长度为64位,超过位数的密钥被忽略。所谓对称加密,加密密钥和解密密钥是一样的。对称加密一般是把要加密的字符串按照固定长度分成块。少于整个块或仅在末尾使用特殊填充字符。
常见的灌装模式有:' PKCS 5 '' PKCS 7 '' ISO 10126 ''安西923 ''零'包括DES-ECB,DES-CBC,DES-CTR,DES-OFB,DES-CFB。
2.DES算法原理
DES算法的入口参数:密钥、数据和模式。Key为8字节,共64位,是DES算法的工作密钥。
数据也是8字节64位,是要加密或解密的数据;模式是DES的工作模式,有两种方式:加密或解密。
3.DES加密原理
DES使用一个56位密钥和一个附加的8位奇偶校验位来生成最大64位的数据包。这是一种迭代分组密码,使用一种称为Feistel的技术,其中加密的文本块被分成两半。
使用子密钥对其中一半应用循环函数,然后将输出与另一半进行异或运算;然后两半交换,这个过程还会继续,但最后一个循环不会交换。DES使用16个周期,并使用四种基本运算:异或、置换、替换和移位运算。
4.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加密过程涉及四个操作,即字节替换、行移位、列混淆和轮密钥添加。解密过程是相应的反向操作。因为每个操作都是可逆的,所以明文可以通过逆序解密来恢复。加密和解密中每一轮的密钥分别通过扩展初始密钥得到。在该算法中,16个字节的明文、密文和轮密钥都用一个4x4矩阵表示。
3.3的特点。AES算法
运算速度快,安全性高,资源消耗低。
03
rsa算法
1.RSA含义
RSA加密算法是一种非对称加密算法,非常可靠。密钥越长,越难破解。根据公开的文献,目前被破解的最长RSA密钥是768个二进制位。
换句话说,长于768位的密钥是无法破解的(至少没有人公开宣布过)。所以可以认为1024位RSA密钥基本安全,2048位密钥极其安全。
2.2的原则。RSA算法
在了解RSA算法原理之前,我们先了解一下非对称加密的过程:非对称加密使用两个密钥(公钥-私钥)对数据进行加密和解密。公钥用于加密,私钥用于解密。为什么非对称加密和解密可以用不同的密钥进行,这是一个数学问题。不同的非对称加密算法也会应用到不同的数学知识中。接下来,我们来看看RSA算法是如何加密数据的。
下面是RSA算法的加密算法流程图:
3.3的特点。RSA算法
不需要密钥传递,提高了安全性。
可以执行数字签名认证。
加密和解密效率较低,一般只适合处理少量数据(如密钥)。
易受小索引攻击
japan quarterly 日本季刊
标签:密钥加密算法