C=PPKmodn,P=CSKmodn
其中n=p×q,P∈[0,n-1],p和q均为大于10100的素数, 这两个素数是保密的。
非对称密钥密码体制与传统的对称密钥密码体制相比, 有其不可取代的优势。然而它的运算量却十分浩大。因此RSA算法的优点是密钥空间大,缺点是加密速度慢,在网络上全都用非对称密钥密码体制来传送机密信息是没有必要的, 也是不现实的。如果RSA和DES结合使用, 则正好弥补RSA的缺点,即DES用于明文加密,RSA用于DES密钥的加密。由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。这样就可以综合发挥DES算法的高速简便性和RSA算法的方便和安全性,形成综合加密技术。
DES和RSA混合算法的具体步骤如下:
⑴ 通过素数的生成算法,得到两个大的素数p和q,利用RSA中密钥生成算法,生成一把公开钥匙和一把私有密钥,其中将RSA公钥通过某种方式公布出去,而把RSA私钥保存。
⑵ 通过线性模数法产生一个64 位的随机数作为DES的会话密钥,对明文进行DES加密和解密。
⑶ 利用RSA的公钥对会话密钥进行RSA加密,并将会话密钥进行加密保存,并与DES加密后的密文合并。接收方对传送过来的密文用RSA生成的私钥进行解密。
2.2 信息安全技术的研究动向
随着计算机网络应用的普及,特别出现对信息安全要求较高的电子商务、网上银行等应用,人们对信息安全点的重视程度也日渐提高。面对计算机硬件和软件的先进技术,以往的标准似乎已不再安全快速。这就要求信息安全技术,特别是加密算法,向更安全、更快速的方向发展。
2.2.1 用于报文通信的一个快速和安全的加密算法
这个算法[14]由MBC College of Engineering & Technology的Paul.A.J, Varghese Paul和P.Mythili提出,是一个利用矩阵和数组的简单直接的映射算法,速度快,适合高速加密应用,在无密钥情况下解密是极其困难的。具体内容如下:
加密过程:
1.命名
P 明文 C 密文 K 密钥 CL1 一级密文
P(i) i明文字符输入明文字符块
C(i) i在一个块的加密文本字符
CL1(i)第i个一级密码的一个块中的文本字符
M [i][j] n的矩阵M的i行j列元素
A(i)元素的数组A指数i
K(i)i字符的密钥K
Kts_n n轮变换的子键
Ktp_n0,Ktp_n1,Ktp_n2,Ktp_n3 n轮中变换子键
2.加密步骤
加密C = E(K,P),加密算法包括三个步骤。第一步骤包括初始化一个矩阵与ASCII字符的代码,使用一个密钥K,在一个明文消息转换为相应密文信息开始前初始化一次。第二个步骤包括使用替代矩阵将16个字符的块中每个字符映射到一级密文字符。第三步包括使用阵列执行异或和循环移位操作对一个块的一级密文字符进行翻译和换位。
3.替代映射矩阵
一个16行和95列矩阵M使用映射明文字符到密文字符的密钥字符的ASCII码初始化。在加密过程中,报文中一个含有16个明文字符的块被送入到缓冲区。 获得字符P(i)的ASCII码。从这个ASCII码,减去32。由此产生的整数是i行j列矩阵m中所包含的元素。这是一个字符的ASCII码,这种字符是作为一级密文字符CL1(i)对应的明文字母P(i)。在这方式下,块中的所有字符被映射到一级密文字符,所有明文字符块映射成一级密码字符块。
4.矩阵的初始化
一个有16行和95列矩阵M的定义。在每行的列矩阵充满ASCII码字符,由0列空格(ASCII= 32)开始到94列“~”(ASCII码= 126)。16个字符(128位)密钥K,与关键字符K(0)通过K(15),用于加密和解密。矩阵的第i行被赋予一个最初的右循环移位,等于第(i+1)个关键字符变换的内容矩阵M,i = 0到14的ASCII代码的值。例如,如果K(1)是字符a,其ASCII码为97,矩阵M的第0行是97次变化。如果K(2)是字符h,其ASCII码为104,矩阵M第二行变换104次。矩阵M第15行是正确的循环移位等于关键字符K(0)ASCII值。 AES加密算法的设计+文献综述(3):http://www.youerw.com/jisuanji/lunwen_6006.html