古典加密算法分为替代算法和置换移位法。
1、替代算法
替代算法用明文的字母由其他字母或数字或符号所代替。最着名的替代算法是恺撒密码。凯撒密码的原理很简单,其实就是单字母替换。
例子:
明文:abcdefghijklmnopq
密文:defghijklmnopqrst
2、置换移位法
使用置换移位法的最着名的一种密码称为维吉尼亚密码。它以置换移位为基础的周期替换密码。
在维吉尼亚密码中,加密密钥是一个可被任意指定的字符串。加密密钥字符依次逐个作用于明文信息字符。明文信息长度往往会大于密钥字符串长度,而明文的每一个字符都需要有一个对应的密钥字符,因此密钥就需要不断循环,直至明文每一个字符都对应一个密钥字符。
其他常见的加密算法
1、DES算法是密码体制中的对称密码体制,把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。
2、3DES是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高。
3、RC2和RC4是对称算法,用变长密钥对大量数据进行加密,比DES快。
4、IDEA算法是在DES算法的基础上发展出来的,是作为迭代的分组密码实现的,使用128位的密钥和8个循环。
5、RSA是由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法。
6、DSA,即数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法。
7、AES是高级加密标准对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael算法。
㈡ 快速了解常用的对称加密算法,再也不用担心面试官的刨根问底
加密算法通常被分为两种: 对称加密 和 非对称加密 。其中,对称加密算法在加密和解密时使用的密钥相同;非对称加密算法在加密和解密时使用的密钥不同,分为公钥和私钥。此外,还有一类叫做 消息摘要算法 ,是对数据进行摘要并且不可逆的算法。
这次我们了解一下对称加密算法。
对称加密算法在加密和解密时使用的密钥相同,或是使用两个可以简单地相互推算的密钥。在大多数的对称加密算法中,加密和解密的密钥是相同的。
它要求双方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送的信息进行解密,这也是对称加密算法的主要缺点之一。
常见的对称加密算法有:DES算法、3DES算法、AES算法。
DES算法(Data Encryption Standard)是一种常见的分组加密算法。
分组加密算法是将明文分成固定长度的组,每一组都采用同一密钥和算法进行加密,输出也是固定长度的密文。
由IBM公司在1972年研制,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。
在DES算法中,密钥固定长度为64位。明文按64位进行分组,分组后的明文组和密钥按位置换或交换的方法形成密文组,然后再把密文组拼装成密文。
密钥的每个第八位设置为奇偶校验位,也就是第8、16、24、32、40、48、56、64位,所以密钥的实际参与加密的长度为56位。
我们用Java写个例子:
运行结果如下:
DES现在已经不是一种安全的加密方法,主要因为它使用的密钥过短,很容易被暴力破解。
3DES算法(Triple Data Encryption Algorithm)是DES算法的升级版本,相当于是对明文进行了三次DES加密。
由于计算机运算能力的增强,DES算法由于密钥长度过低容易被暴力破解;3DES算法提供了一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
在DES算法中,密钥固定长度为192位。在加密和解密时,密钥会被分为3个64位的密钥。
加密过程如下:
解密过程如下:
我们用Java写个例子:
运行结果如下:
虽然3DES算法在安全性上有所提升,但是因为使用了3次DES算法,加密和解密速度比较慢。
AES(Advanced Encryption Standard,高级加密标准)主要是为了取代DES加密算法的,虽然出现了3DES的加密方法,但由于它的加密时间是DES算法的3倍多,密钥位数还是不能满足对安全性的要求。
1997年1月2号,美国国家标准与技术研究院(NIST)宣布什望征集高级加密标准,用以取代DES。全世界很多密码工作者都提交了自己设计的算法。经过甄选流程,高级加密标准由美国国家标准与技术研究院于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。
该算法为比利时密码学家Joan Daemen和Vincent Rijmen所设计,结合两位作者的名字,以 Rijndael 为名投稿高级加密标准的甄选流程。
AES算法的密钥长度是固定,密钥的长度可以使用128位、192位或256位。
AES算法也是一种分组加密算法,其分组长度只能是128位。分组后的明文组和密钥使用几种不同的方法来执行排列和置换运算形成密文组,然后再把密文组拼装成密文。
我们用Java写个例子:
运行结果如下:
AES算法是目前应用最广泛的对称加密算法。
对称加密算法在加密和解密时使用的密钥相同,常见的对称加密算法有:DES算法、3DES算法、AES算法。
由于安全性低、加密解密效率低,DES算法和3DES算法是不推荐使用的,AES算法是目前应用最广泛的对称加密算法。
㈢ 对称加密算法的加密算法主要有哪些
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)加密算法可分为对称加密算法扩展阅读:
普遍而言,有3个独立密钥的3DES(密钥选项1)的密钥长度为168位(三个56位的DES密钥),但由于中途相遇攻击,它的有效安全性仅为112位。密钥选项2将密钥长度缩短到了112位,但该选项对特定的选择明文攻击和已知明文攻击的强度较弱,因此NIST认定它只有80位的安全性。
对密钥选项1的已知最佳攻击需要约2组已知明文,2部,2次DES加密以及2位内存(该论文提到了时间和内存的其它分配方案)。
这在现在是不现实的,因此NIST认为密钥选项1可以使用到2030年。若攻击者试图在一些可能的(而不是全部的)密钥中找到正确的,有一种在内存效率上较高的攻击方法可以用每个密钥对应的少数选择明文和约2次加密操作找到2个目标密钥中的一个。
㈣ 加密技术分为哪两类
加密技术分为:
1、对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难
2、非对称
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。
加密技术的功能:
原有的单密钥加密技术采用特定加密密钥加密数据,而解密时用于解密的密钥与加密密钥相同,这称之为对称型加密算法。采用此加密技术的理论基础的加密方法如果用于网络传输数据加密,则不可避免地出现安全漏洞。
区别于原有的单密钥加密技术,PKI采用非对称的加密算法,即由原文加密成密文的密钥不同于由密文解密为原文的密钥,以避免第三方获取密钥后将密文解密。
以上内容参考:网络—加密技术
㈤ 属于对称加密算法的有哪些
主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。优点在于加解密的高速度和使用长密钥时的难破解性,缺点是交易双方都使用同样钥匙,安全性得不到保证。
对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
(5)加密算法可分为对称加密算法扩展阅读
常见的加密算法
DES算法是密码体制中的对称密码体制,把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。
3DES是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高。
RC2和RC4是对称算法,用变长密钥对大量数据进行加密,比DES快。
IDEA算法是在DES算法的基础上发展出来的,是作为迭代的分组密码实现的,使用128位的密钥和8个循环。
RSA是由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法。
DSA,即数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法。
AES是高级加密标准对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael算法。
Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。
㈥ 哪些是对称加密算法
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。
主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。
㈦ 典型加密算法包括
1、对称加密算法
对称加密算法是指加密和解密采用相同的密钥,是可逆的(即可解密)。AES加密算法是密码学中的高级加密标准,采用的是对称分组密码体制,密钥长度的最少支持为128。
AES加密算法是美国联邦政府采用的区块加密标准,这个标准用来替代原先的DES,已经被多方分析且广为全世界使用。
2、非对称加密
非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,一个称为公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥。
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
3、Hash 算法
Hash 算法特别的地方在于它是一种单向算法,用户可以通过 Hash 算法对目标信息生成一段特定长度的唯一的 Hash 值,却不能通过这个 Hash 值重新获得目标信息。因此 Hash 算法常用在不可还原的密码存储、信息完整性校验等。