对称加密体制
A. 对称密码体制
1.对称密钥密码体系
对称密钥密码体系也叫密钥密码体系,它是指消息发送方和消息接收方必须使用相同的密钥,该密钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息传输至接收方,接收方再用相同的密钥对收到的消息进行解密。这一过程可用数学形式来表示。消息发送方使用的加密函数encrypt有两个参数:密钥K和待加密消息M,加密后的消息为E,E可以表示为E=encrypt(K,M)消息接收方使用的解密函数decrypt把这一过程逆过来,就产生了原来的消息:
M=decrypt(K,E)=decrypt(K,encrypt(K,M))
2.非对称密钥密码体系
非对称密钥密码体系又叫公钥密码体系,它使用两个密钥:一个公共密钥PK和一个私有密钥SK。这两个密钥在数学上是相关的,并且不能由公钥计算出对应的私钥,同样也不能由私钥计算出对应的公钥。这种用两把密钥加密和解密的方法表示成如下数学形式。假设M表示一条消息,pub—a表示用户a的公共密钥,prv—a表示用户a的私有密钥,那么:
M=decrypt(pub—a,encrypt(prv—a,M))
B. 对称加密算法的加密算法主要有哪些
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是密钥字节长度。
(2)对称加密体制扩展阅读:
普遍而言,有3个独立密钥的3DES(密钥选项1)的密钥长度为168位(三个56位的DES密钥),但由于中途相遇攻击,它的有效安全性仅为112位。密钥选项2将密钥长度缩短到了112位,但该选项对特定的选择明文攻击和已知明文攻击的强度较弱,因此NIST认定它只有80位的安全性。
对密钥选项1的已知最佳攻击需要约2组已知明文,2部,2次DES加密以及2位内存(该论文提到了时间和内存的其它分配方案)。
这在现在是不现实的,因此NIST认为密钥选项1可以使用到2030年。若攻击者试图在一些可能的(而不是全部的)密钥中找到正确的,有一种在内存效率上较高的攻击方法可以用每个密钥对应的少数选择明文和约2次加密操作找到2个目标密钥中的一个。
C. 典型的对称加密体制有哪些
数据加密是用加密算法E和加密密钥K1将明文P变换成密文C,表示为:C=EK1(P)。 按照加密密钥K1和解密密钥K2的异同,有两种密钥体制。 (1)秘密密钥加密体制(K1=K2):加密和解密采用相同的密钥,因而又称为对称密钥体制。针对DES密钥短的问题,科学家又研制了80位的密钥,以及在DES的基础上采用三重DES和双密钥加密的方法,即用两个56位的密钥K1、K2。(2)公开密钥加密体制(K1≠K2):又称不对称密钥体制,其加密和解密使用不同的密钥,其中一个密钥是公开的,另一个密钥是保密的。
D. 什么是对称密码和非对密码,分析这两种密码体系的特点和应用领域
一、对称密码
1、定义:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
2、特点:算法公开、计算量小、加密速度快、加密效率高。
3、应用领域:由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。
二、非对密码
1、定义:非对称密码指的是非对称密码体制中使用的密码。
2、特点:
(1)是加密密钥和解密密钥不同 ,并且难以互推 。
(2)是有一个密钥是公开的 ,即公钥 ,而另一个密钥是保密的 ,即私钥。
3、应用领域:很好的解决了密钥的分发和管理的问题 ,并且它还能够实现数字签名。
(4)对称加密体制扩展阅读
对称加密算法特征
1、加密方和解密方使用同一个密钥;
2、加密解密的速度比较快,适合数据比较长时的使用;
3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦
E. 对称密码体制的内容和典型算法
内容:在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。
算法:DES(Data Encryption Standard数据加密标准)算法及其变形Triple DES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。
Triple DES使用两个独立的56bit密钥对交换的信息进行3次加密,从而使其有效长度达到112bit。RC2和RC4方法是RSA数据安全公司的对称加密专利算法,它们采用可变密钥长度的算法。通过规定不同的密钥长度,,C2和RC4能够提高或降低安全的程度。
(5)对称加密体制扩展阅读:
密码体制的基本模式:
通常的密码体制采用移位法、代替法和代数方法来进行加密和解密的变换,可以采用一种或几种方法结合的方式作为数据变换的基本模式,下面举例说明:
移位法也叫置换法。移位法把明文中的字符重新排列,字符本身不变但其位置改变了。
例如最简单的例子:把文中的字母和字符倒过来写。
或将密文以固定长度来发送
5791ECNI SYLDIPAT DEVLOBES AHYTIRUC ESATAD**。
F. 试比较对称加密算法与非对称加密算法在应用中的优缺点传统密码体制与公钥密码体制的优缺点
1、对称加密算法
优点
加解密的高速度和使用长密钥时的难破解性。
缺点
对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去。如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。
2、非对称加密算法
优点
非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
缺点
算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
3、传统密码体制
优点
由于DES加密速度快,适合加密较长的报文。
缺点
通用密钥密码体制的加密密钥和解密密钥是通用的,即发送方和接收方使用同样密钥的密码体制。
4、公钥密码体制
优点
RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。
RSA算法解决了大量网络用户密钥管理的难题。
缺点
RSA的密钥很长,加密速度慢。
(6)对称加密体制扩展阅读
W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上发表了“ New Direction in Cryptography”文章,提出了“非对称密码体制即公开密钥密码体制”的概念,开创了密码学研究的新方向。
在通用密码体制中,得到广泛应用的典型算法是DES算法。DES是由“转置”方式和“换字”方式合成的通用密钥算法,先将明文(或密文)按64位分组,再逐组将64位的明文(或密文),用56位(另有8位奇偶校验位,共64位)的密钥,经过各种复杂的计算和变换,生成64位的密文(或明文),该算法属于分组密码算法。
G. 对称密钥体制与公钥密钥体制的特点各自是什么各有何优缺点
对称密钥体制是加密密钥与解密密钥密码相同,两个参与者共享同一个密钥。
公钥密码体制是使用不同的加密密钥和解密密钥,加密密钥是公开信息,而解密密钥需要保密。
公钥密码体制有很多良好的特性,它不仅可以用来加密,还可以很方便的用于鉴别和数字签名。但公钥密码算法比对称密钥密码算法要慢好几个数量级。
对称密钥体制的加解密速度快且安全强度高,但密钥难管理和传送,不适于在网络中单独使用。
密钥的产生
1、选择两个大素数,p和q。
2、计算:n = p * q (p,q分别为两个互异的大素数,p,q必须保密,一般要求p,q为安全素数,n的长度大于512bit,这主要是因为RSA算法的安全性依赖于因子分解大数问题)。有欧拉函数(n)=(p-1)(q-1)。
3、然后随机选择加密密钥e,要求e和( p - 1 ) * ( q - 1 )互质。
4、最后,利用Euclid算法计算解密密钥d,满足de≡1(modφ(n))。其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
H. 对称密码体制和非对称密码体制的工作原理分别是什么并说明各自的优缺点
对于加密,基本上不存在一个完全不可以被破解的加密算法,因为只要你有足够的时间,完全可以用穷举法来进行试探,如果说一个加密算法是牢固的,一般就是指在现有的计算条件下,需要花费相当长的时间才能够穷举成功(比如100年)。一、主动攻击和被动攻击数据在传输过程中或者在日常的工作中,如果没有密码的保护,很容易造成文件的泄密,造成比较严重的后果。一般来说,攻击分为主动攻击和被动攻击。被动攻击指的是从传输信道上或者从磁盘介质上非法获取了信息,造成了信息的泄密。主动攻击则要严重的多,不但获取了信息,而且还有可能对信息进行删除,篡改,危害后果及其严重。 二、对称加密基于密钥的算法通常分为对称加密算法和非对称加密算法(公钥算法)。对成加密算法就是加密用的密钥和解密用的密钥是相等的。比如着名的恺撒密码,其加密原理就是所有的字母向后移动三位,那么3就是这个算法的密钥,向右循环移位就是加密的算法。那么解密的密钥也是3,解密算法就是向左循环移动3位。很显而易见的是,这种算法理解起来比较简单,容易实现,加密速度快,但是对称加密的安全性完全依赖于密钥,如果密钥丢失,那么整个加密就完全不起作用了。比较着名的对称加密算法就是DES,其分组长度位64位,实际的密钥长度为56位,还有8位的校验码。DES算法由于其密钥较短,随着计算机速度的不断提高,使其使用穷举法进行破解成为可能。三、非对称加密非对称加密算法的核心就是加密密钥不等于解密密钥,且无法从任意一个密钥推导出另一个密钥,这样就大大加强了信息保护的力度,而且基于密钥对的原理很容易的实现数字签名和电子信封。比较典型的非对称加密算法是RSA算法,它的数学原理是大素数的分解,密钥是成对出现的,一个为公钥,一个是私钥。公钥是公开的,可以用私钥去解公钥加密过的信息,也可以用公钥去解私钥加密过的信息。比如A向B发送信息,由于B的公钥是公开的,那么A用B的公钥对信息进行加密,发送出去,因为只有B有对应的私钥,所以信息只能为B所读取。牢固的RSA算法需要其密钥长度为1024位,加解密的速度比较慢是它的弱点。另外一种比较典型的非对称加密算法是ECC算法,基于的数学原理是椭圆曲线离散对数系统,这种算法的标准我国尚未确定,但是其只需要192 bit 就可以实现牢固的加密。所以,应该是优于RSA算法的。优越性:ECC > RSA > DES
I. 对称加密算法的缺点有哪些
1、对称加密算法
优点
加解密的高速度和使用长密钥时的难破解性。
缺点
对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去。如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。
2、非对称加密算法
优点
非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
缺点
算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
3、传统密码体制
优点
由于DES加密速度快,适合加密较长的报文。
缺点
通用密钥密码体制的加密密钥和解密密钥是通用的,即发送方和接收方使用同样密钥的密码体制。
4、公钥密码体制
优点
RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。
RSA算法解决了大量网络用户密钥管理的难题。
缺点
RSA的密钥很长,加密速度慢。
J. 简述对称密钥密码体制与非对称密钥密码体制
对称密钥密码:对称密钥加密又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快, 适合于对大数据量进行加密,但密钥管理困难。
非对称密钥密码:非对称密钥加密又称公钥密钥加密。它需要使用一对密钥 来分别完成加密和解密操作,一个公开发布,即公开密钥,另一 个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去 加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。