173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

常用对称加密算法有哪几种(有哪些对称加密算法)

keros@mark 2022-11-13 资讯中心

本篇文章给大家谈谈常用对称加密算法有哪几种,以及有哪些对称加密算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

对称加密的常用算法

在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。

不同算法的实现机制不同,可参考对应算法的详细资料。

哪些是对称加密算法

对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。

主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。

在密码学中,常见的对称加密算法有哪些?各有什么特点?

常见的对称加密算法有:

DES ——密钥短,使用时间长,硬件计算快于软件。

IDEA——个人使用不受专利限制,可抵抗差分攻击,基于三个群。

AES ——可变密钥长,可变分组长。

以上三个属于块式,明文按分组加密。

RC4 ——流式加密,不需填充明文,密钥长度可变。

常用的对称密码算法有哪些

对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:

DES(Data

Encryption

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

3DES(Triple

DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AES(Advanced

Encryption

Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

常用的加密算法有哪些?

对称密钥加密

对称密钥加密 Symmetric Key Algorithm 又称为对称加密、私钥加密、共享密钥加密:这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单的相互推算的密钥,对称加密的速度一般都很快。

分组密码

分组密码 Block Cipher 又称为“分块加密”或“块加密”,将明文分成多个等长的模块,使用确定的算法和对称密钥对每组分别加密解密。这也就意味着分组密码的一个优点在于可以实现同步加密,因为各分组间可以相对独立。

与此相对应的是流密码:利用密钥由密钥流发生器产生密钥流,对明文串进行加密。与分组密码的不同之处在于加密输出的结果不仅与单独明文相关,而是与一组明文相关。

DES、3DES

数据加密标准 DES Data Encryption Standard 是由IBM在美国国家安全局NSA授权下研制的一种使用56位密钥的分组密码算法,并于1977年被美国国家标准局NBS公布成为美国商用加密标准。但是因为DES固定的密钥长度,渐渐不再符合在开放式网络中的安全要求,已经于1998年被移出商用加密标准,被更安全的AES标准替代。

DES使用的Feistel Network网络属于对称的密码结构,对信息的加密和解密的过程极为相似或趋同,使得相应的编码量和线路传输的要求也减半。

DES是块加密算法,将消息分成64位,即16个十六进制数为一组进行加密,加密后返回相同大小的密码块,这样,从数学上来说,64位0或1组合,就有2^64种可能排列。DES密钥的长度同样为64位,但在加密算法中,每逢第8位,相应位会被用于奇偶校验而被算法丢弃,所以DES的密钥强度实为56位。

3DES Triple DES,使用不同Key重复三次DES加密,加密强度更高,当然速度也就相应的降低。

AES

高级加密标准 AES Advanced Encryption Standard 为新一代数据加密标准,速度快,安全级别高。由美国国家标准技术研究所NIST选取Rijndael于2000年成为新一代的数据加密标准。

AES的区块长度固定为128位,密钥长度可以是128位、192位或256位。AES算法基于Substitution Permutation Network代换置列网络,将明文块和密钥块作为输入,并通过交错的若干轮代换"Substitution"和置换"Permutation"操作产生密文块。

AES加密过程是在一个4*4的字节矩阵(或称为体State)上运作,初始值为一个明文区块,其中一个元素大小就是明文区块中的一个Byte,加密时,基本上各轮加密循环均包含这四个步骤:

合并(AddRoundKey):矩阵中的每个字节与该回合密钥做XOR异或运算,其中回合密钥由主密钥通过Rijndael密钥生成方案生成,这个密钥大小跟原矩阵一致。

替换(SubBytes):矩阵中的每个字节通过一个8位查找表对应的特定字节所替换。这里的8位查找表为S-box(Substitution-box, 置换盒),用来模糊密钥与密文之间的关系,实现输入输出的非线性特征。

行混淆(ShiftRows):矩阵中的每一行的各个字节循环向左方位移,位移量随行数递增。列混淆(MixColumns):每一列的四个字节通过线性变换互相结合,即与一个固定的多项式做乘法。

安全性

已知的针对AES唯一的成功攻击是旁道攻击,2005年时使用缓存时序攻击法,破解了一个装载OpenSSL AES加密系统的客户服务器。

针对区块加密系统最常见的方式,是通过对加密循环次数较少的版本尝试攻击,然后改进算法后继续攻击高级版本,目前这个破解方法还不太实用。

另外由于AES的数据结构具有井然有序的代数结构,有一个担心就是相关的代数攻击,目前基于此的有效攻击方法也暂时没有出现。

非对称密钥加密

非对称密钥加密 Asymmetric Key Cryptography 也可称为 Public Key Cryptography 公开密钥加密:需要两个密钥,分为公钥和私钥,一个用作加密而另外一个只能用于解密,而加密的密钥并不能用来解密。

根据此特性,除了加解密的应用外,还可以确保数字签名的功能:某用户用私钥加密明文,任何人都可以用该用户的公钥解密密文,以此判定身份。

对称密钥需要一个安全的渠道可以交换共用的密钥,而非对称密钥可以将加密公钥公开发布;不过公钥加密在计算上相当复杂,性能远比不上对称加密,所以一般会利用公钥加密来交换对称密钥,然后依靠对称密钥来传输具体的信息。

RSA

RSA是由三个人的名字组成 Ron Rivest、Adi Shamir、Leonard Adleman于1977年在MIT提出,并于1987年公布,是目前最常用的公钥加密算法。

RSA算法的核心是极大整数的因式分解,理论基础在于由两个大质数算出乘积很容易,但是要从一个极大整数因式分解得出两个质数却很难。

ECC

ECC即 Elliptic Curve Cryptography 椭圆曲线密码学,是基于椭圆曲线数学建立公开密钥加密的算法。ECC的主要优势是在提供相当的安全等级情况下,密钥长度更小。

ECC的原理是根据有限域上的椭圆曲线上的点群中的离散对数问题ECDLP,而ECDLP是比因式分解问题更难的问题,是指数级的难度。而ECDLP定义为:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k。可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。

数字签名

数字签名 Digital Signature 又称公钥数字签名是一种用来确保数字消息或文档真实性的数学方案。一个有效的数字签名需要给接收者充足的理由来信任消息的可靠来源,而发送者也无法否认这个签名,并且这个消息在传输过程中确保没有发生变动。

数字签名的原理在于利用公钥加密技术,签名者将消息用私钥加密,然后公布公钥,验证者就使用这个公钥将加密信息解密并对比消息。一般而言,会使用消息的散列值来作为签名对象。

对称加密算法的加密算法主要有哪些

1、3DES算法

3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3-DES指定为过渡的加密标准),加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,M代表明文,C代表密文,这样:

3DES加密过程为:C=Ek3(Dk2(Ek1(M)))

3DES解密过程为:M=Dk1(EK2(Dk3(C)))

2、Blowfish算法

BlowFish算法用来加密64Bit长度的字符串。

BlowFish算法使用两个“盒”——unsignedlongpbox[18]和unsignedlongsbox[4,256]。

BlowFish算法中,有一个核心加密函数:BF_En(后文详细介绍)。该函数输入64位信息,运算后,以64位密文的形式输出。用BlowFish算法加密信息,需要两个过程:密钥预处理和信息加密。

分别说明如下:

密钥预处理:

BlowFish算法的源密钥——pbox和sbox是固定的。我们要加密一个信息,需要自己选择一个key,用这个key对pbox和sbox进行变换,得到下一步信息加密所要用的key_pbox和key_sbox。具体的变化算法如下:

1)用sbox填充key_sbox

2)用自己选择的key8个一组地去异或pbox,用异或的结果填充key_pbox。key可以循环使用。

比如说:选的key是"abcdefghijklmn"。则异或过程为:

key_pbox[0]=pbox[0]abcdefgh;

key_pbox[1]=pbox[1]ijklmnab;

…………

…………

如此循环,直到key_pbox填充完毕。

3)用BF_En加密一个全0的64位信息,用输出的结果替换key_pbox[0]和key_pbox[1],i=0;

4)用BF_En加密替换后的key_pbox,key_pbox[i+1],用输出替代key_pbox[i+2]和key_pbox[i+3];

5)i+2,继续第4步,直到key_pbox全部被替换;

6)用key_pbox[16]和key_pbox[17]做首次输入(相当于上面的全0的输入),用类似的方法,替换key_sbox信息加密。

信息加密就是用函数把待加密信息x分成32位的两部分:xL,xRBF_En对输入信息进行变换。

3、RC5算法

RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式,因此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位,r是加密轮数,b是密钥字节长度。

扩展资料:

普遍而言,有3个独立密钥的3DES(密钥选项1)的密钥长度为168位(三个56位的DES密钥),但由于中途相遇攻击,它的有效安全性仅为112位。密钥选项2将密钥长度缩短到了112位,但该选项对特定的选择明文攻击和已知明文攻击的强度较弱,因此NIST认定它只有80位的安全性。

对密钥选项1的已知最佳攻击需要约2组已知明文,2部,2次DES加密以及2位内存(该论文提到了时间和内存的其它分配方案)。

这在现在是不现实的,因此NIST认为密钥选项1可以使用到2030年。若攻击者试图在一些可能的(而不是全部的)密钥中找到正确的,有一种在内存效率上较高的攻击方法可以用每个密钥对应的少数选择明文和约2次加密操作找到2个目标密钥中的一个。

参考资料来源:百度百科-3DES  

参考资料来源:百度百科-BLOWFISH

参考资料来源:百度百科-RC5

关于常用对称加密算法有哪几种和有哪些对称加密算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文标签:常用对称加密算法有哪几种

产品列表
产品封装
友情链接