基于矩阵的电子公文加密解密方法
2012-08-27张善文王保仓周争光
张善文, 王保仓, 周争光
(西京学院工程技术系,西安 710123)
0 引言
随着电子公文的广泛应用和不断发展,一方面是资源的节约和工作效率的极大提高;另一方面是电子公文的安全性问题[1-2]。实际上,在电子公文投入应用之日起安全问题就随之而来。例如,如何保障电子公文的真实性和来源的可靠性以及文件如何存档,如何确定发送者身份的真实性,如何保障文件数据的完整性,如何防止发送者的不可抵赖性等。电子公文同其他电子文档一样可能会遭遇伪造、篡改、增删、冒名等;电子公文又与传统纸质文件不同,电子公文载体具有易损、信息易变、形式多样和记录虚化等特点,形成后必须及时、妥善地加以管理,否则可能对日后的档案完整性造成无法挽回的损失。因此,如何保证电子公文的安全性是政府部门电子政务发展的重要内容。现在,电子公文传送过程中数据的安全性是通过加密和数字签名或数字水印来实现的[1-6]。公开密钥基础设施(PKI)是通过使用公开密钥技术和数字证书来确保电子公文系统信息安全并负责身份验证的一种有效方法[3],但该体系存在一些不足:1)私钥安全性难以保证,私钥是一组数字串,一旦被窃取,数据发送方的身份将无法准确鉴别,可追溯性也难以保证;2)认证信息和电子公文的分离,不利于电子公文的交换和长期保存。采用数字水印技术可以实现电子公文安全系统,其优点在于它能够很好地对文档的完整性进行验证。由于电子公文载体的特殊性造成了文本数字水印技术上的困难,而水印算法的安全性不能依靠保密水印算法来实现,所以大多数水印算法都是公开的,一旦水印算法被公开,所有采用该方法加密的电子公文可能面临来源不可靠的风险。常用的公钥密码算法其安全性都是基于数论上的困难问题,如分解大整数和求解特定循环群上的离散对数问题。已经证明整数分解和离散对数问题可以使用量子计算机在多项式时间内解决,为了消除量子计算机的实际实现所带来的潜在威胁,人们希望设计更多解决别的数学困难问题的公钥密码算法[7-8]。基于组合问题的公钥密码的设计与分析是目前研究的一个热点,本文提出一种基于组合矩阵的电子公文加密方法。
1 电子公文的安全传输和接收
电子公文系统的安全性主要包括公文数据传输流程设计、身份识辨、电子排版、电子盖章及印章管理、全程加密、远程传版、收发文审计管理和可开放定制等,将电子公文传输方式从传统的“先打印后发送”更改为安全的“先传输后打印”模式,从而达到既能用计算机网络安全传输红头文件,又基本不改变现有工作流程的目的,并解决相应带来的远程传版、电子公章管理、系统安全性、电子公文有效性等问题[1-2,4-6]。下文给出电子公文安全传输和发收方案如图1~图4所示。
图1 电子公文发送和接收系统流程图Fig.1 Flowchart of electronic document sending and receipting system
图2 电子公文水印加密发送流程图Fig.2 Watermarking transceiver encryption flowchart of electronic documents
图3 电子公文水印接收解密流程图Fig.3 Watermarking transceiver decryption flowchart of electronic documents
图4 电子公文加密系统Fig.4 Symmetric encryption of electronic documents
其中:图1为电子公文的传输示意图;图2为电子公文水印加密发送流程;图3为电子公文水印接收解密流程图;图4为一般电子公文加密系统框图。
2 电子公文的加密方法
基于矩阵的电子公文安全性发收方案包括3部分:密钥生成、加密、解密和参数选取[9-12]。
1)密钥生成。密钥生成方法所涉及到的矩阵的维数记为n,在实际应用过程中一般选取n=4。一对公钥和私钥按如下方式产生:随机选取一个1024 RSA模数N=pq,其中p和q是素数,则|p|2=|q|2=512。随机选取一个n维矩阵 A:A=(aij)n×n,其中,aij为矩阵A的任意一个元素,且矩阵A在R上是可逆的,它的逆矩阵记作A-1。再随机选取4个矩阵C、D、E、F:使得 aij,cij,dij,eij,fij∈ZN,满足下面两个条件
为使该加密算法的解密正确,要求矩阵C、D、E、F是模N可逆的,矩阵D和F模N的逆矩阵分别记作D-1和 F-1,计算如下。
则矩阵B、G、H 和模数 N 是公钥,私钥由 D、F、A-1以及 p、q 构成。
2)加密。待加密明文M的长度记为|M|2=ln,将M 分为 n 块:m1,m2,…,mn,则每块的长度为|mi|=l。加密明文M,发送者随机选取2n个整数 r1,r2,…,rn,s1,s2,…,sn∈Zn,计算发送者密文为
则密文为二元组(U,V)。
3)解密。收到密文对(U,V)后,接收者按下列步骤获取明文M
4)参数选取。可以取l=450,设置|aij|2=59。在参数选取过程中A是可逆的,一般A-1中的元素是有理数,这些数很难在计算机中进行有效的表示。因为矩阵A是模N可逆的当且仅当gcd(|A|,N)=1,因此,对于较小的矩阵的维数n和较大的RSA数N=pq,一个随机选取的n阶方阵总是模N可逆的。
3 密钥分配
对于一些重要的电子公文加密解密过程通常要求由两人或多人同时参与才能生效,这时就需要将秘密分给多人掌管,并且必须有一定人数的掌管秘密的人同时到场才能恢复这一秘密。在电子公文加密解密中,我们采用Shamir门限秘密分割方案。
Shamir门限方案可按如下的一般方式构造。设GF(q)是一有限域,其中q是一大素数,满足q≥n+1,秘密s是在GF(q){0}上均匀选取的一个随机数,表示为 s∈GF(q){0}。k -1 个系数 a0,a1,…,ak-1的选取满足 ai∈RGF(q){0}(i=1,2,…,k -1)。在 GF(q)上构造一个k-1次多项式
设n个参与者为 p1,p1,…,pn,记 pi分配到的子密钥为f(i)。如果任意 k个参与者 Pi1,…,Pik,(1≤i1<i2<… <ik≤n)要想得到秘密 s,利用(il,f(il)|l=1,2,…,k)构造线性方程组
因为il(1≤l≤k)均不相同,所以可由Lagrange插值公式构造多项式
从而可得秘密s=f(0)。
然而,参与者仅需知道f(x)的常数项f(0)而无需知道整个多项式f(x),所以仅根据式(8)就可求出s
如果k-1个参与者要想获得秘密s,可构造出由k-1个方程构成的线性方程组,其中有k个未知量。
对GF(q)中的任一值s0,可设f(0)=s0,由此可得第k个方程,并由Lagrange插值公式得出f(x)。因此,对每一s0∈GF(q)都有一个唯一的多项式满足式(8),所以已知k-1个子密钥得不到关于秘密s的任何信息,因此这个方案是完善的。
4 性能分析
在本文提出基于矩阵的加密方法中,公钥由3个n阶方阵B、G、H以及模数N构成。因此,公钥长度大约是(3n2+1)倍的 N 的长度;私钥包括 D,F,A-1,p,q,因此公钥和私钥长度分别可以通过(3n2+1)×1024和2n2×1024+n2×512+2×512来估计。
本文提出的方法和RSA方法都要求生成两个强素数[13],密钥生成算法的计算量基本相同。因RSA算法是一个陷门单向置换,其密文扩展为1:1,所以RSA的密文扩展比基于矩阵的密码算法小。本文方法需要随机选取几个模N可逆的矩阵,而RSA方法则需要选取一个加密指数e,根据对密钥长度的估计,本文方法的密钥长度要比RSA的大,但基于矩阵的密码算法总的加解密计算复杂度比RSA方法小。虽然RSA算法可以通过使用中国剩余定理来提高其解密速度,但却无法做到使其加解密算法的计算复杂度都是二次的,本文加解密算法的计算复杂度都是二次的。RSA方法基于整数分解,而本文方法不是直接基于整数分解,因此,如果整数分解问题被有效地解决了,则RSA算法不一定是安全的,而基于矩阵的密码算法仍可以使用,可以看出本文提出的方法优于RSA方法。
5 结论
电子公文传输系统作为一种安全、高效、高技术的电子政务系统,以其独特的数字化传输技术进行公文的瞬间传输,从而彻底改变了延续多年的传统公文传递方式,促进了政府电子政务和企业信息化的快速发展。但是,电子公文是通过网络传送的,其传送和接收是在高度自由的网络环境中进行的,则必定会存在一定的安全隐患。本文给出了一种基于矩阵的电子公文加密算法,并介绍了电子公文加密中的Shamir门限秘密分割方案,该电子公文安全性方案能大力推动电子政务和企业信息化广泛和深入的运作。
[1] 张大陆,时慧.电子公文中数字签名的设计与实现[J].计算机应用研究,2001,18(6):78-80.
[2] 官盱玲.电子公文应用的不安全因素及对策[J].江西行政学院学报,2004(4):84-87.
[3] 谢冬青,冷剑.PKI原理与技术[M].北京:清华大学出版社,2004.
[4] PENG S H,HA K C,KIM J H,et al.New public key cryptosystem using finite non abelian groups[C]//Crypto LNCS 2139.Berlin:Springer-Verlag,2001:470-485.
[5] PENG S H,KWON D,HA K C,et al.Improved public key cryptosystem using finite non abelian groups[DB/OL].IACR Eprint-Server,Report 2001/066,http://eprint.iacr.org/2001/066.
[6] YAMAMURA A.Public-key cryptosystems using the modular group[C]//PKC’1998,LNCS 1431,Berlin:Springer,1998:203-216.
[7] FELLOWS M R,KOBLITZ N.Combinatorial cryptosystems galore[M].Contemparary Mathematics.1994:51-61.
[8] GRANT D,KRASTEV K,LIEMAN D,et al.A public key cryptosystem based on sparse polynomials[C]//Proceedings of an International Conference on Coding Theory,Cryptography and Related Areas,2000:114-121.
[9] YAMAMURA A.A functional cryptosystem using a group action[C]//ACISP’1999,LNCS 1587,Berlin:Springer,1999:314-325.
[10] WANG Baocang,HU Yupu.Public key cryptosystem based on two cryptographic assumptions[J].IEE Proceedings of Communications,2005,152(6):861-865.
[11] WANG Baocang,HU Yupu.Diophantine approximation attack on a fast public key cryptosystem[C]//The 2nd Information Security Practice and Experience Conference,Lecture Notes in Computer Science,Berlin,2006,3903:25-32.
[12] WANG Baocang,HU Yupu.Provably secure public key cryptosystem with double trapdoor decryption mechanism[Z].China Crypt 2006,Jinan:292-296.
[13] 周全,黄继海.基于多代理的分步签名方案[J].电光与控制,2006,13(3):105-108.