计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.1-3



P公钥随机矩阵及解决Catch22问题的方案
彭典祥　李业清　彭宏祥
摘  要  针对保密通信中存在的Catch22问题，论述了P公钥随机矩阵的密钥构造特点和强度，提出一个能无条件解决Catch22问题的密码方案。
关键词  P公钥  随机矩阵  Catch22问题   字典攻击法
1  引言
　　现有各种密钥在满足安全要求条件下，很难突破加解密的多项式长度、随机性及计算复杂度诸因素互相制约的难题[1,6]。P3-4公钥采用嵌套多函变、随机扩展多项式、混合群运算程序，给出一个基于m×n(m<<n)随机矩阵的不定解方程难度构造的新型公钥系统[2，3]。本文主要研究应用P公钥随机矩阵，提出解决重要的秘密通信信道Catch22问题的密码方案，为计算机保密网络的会话密钥安全传输及量子密钥分发传输等多方面提供可靠的安全技术保证。这是密码体制由单函变向多函变发展的重要进展。
2 Catch22问题
　　安全性是密码学研究追求的目标，在保密通信中一直存在Catch22问题[４]：保密通信双方Alice和Bob在进行保密通信之前，他们首先要获得密钥，但获得密钥的秘密通信中的安全性不能得到证明。说得更确切一些Alice和Bab的密钥是通过某个安全信道获得，仍没有足够证据能够说明他们所获得的密钥是安全的，没有充分理由能说明密钥未遭到敌手Eve的截击。任何单钥密码体制都无法克服Catch 22问题。
　　现代密码学的公钥密码体制能在一定程度上绕过Catch 22问题，但存在一些缺陷[5]。这种密码体制的安全性依赖于相应的数学问题难解性。在公钥密码体制中通信者不需要安全信道，从理论上来说，由公开密钥获得秘密密钥在计算上是不可能的，公钥密码体制中Catch22问题似乎得到了解决。
　　然而公钥体制存在几个不安全的因素：①公钥体制计算是安全的，但敌手能截获密文Y然后用公开密钥Ek 依次加密每一明文，直到他找到一个满足Y=Ek(x)的x为止。因此，公钥密码体制永远不能提供无条件的安全性，根本上公钥体制没有解决Catch 22问题。②公钥体制越来越受到快速发展的数学和计算机技术的威胁。特别是最近发展的量子计算技术，当这种量子计算机成为现实时，公钥密码将很容易被破译。③在公钥体制的实际应用中，通信者的密钥由密钥管理中心管理，Alice和Bob进行保密通信之前仍然需要他们同管理中心保密通信。基于以上原因，公钥体制不能彻底解决Catch 22问题[４]。
　　公钥体制普遍存在的有限性和逆向性是Catch22问题根本所在：①有限性是指类似RSA、背包、离散对数、代数编码等公钥体制的多项式长度严格受到单台计算机运算能力限制，不能任意扩展。另一方面这种有限多项式所能达到的有限密钥量却存在大范围(一个地区或一个国家)计算机资源破译危险(1997年联机破译DES即是一例)，这是一种现有普遍应用的公钥体制无法解决的矛盾。②逆向性是公钥体制加密钥Ek 与解密钥Em 存在一种非数学结构关系的互逆效果。若信息m用Ek 加密获得信息密值，m必定是Em 解译这一密值的结果，密值与信息可以用Ek 建立对应关系。通俗地说就是以“以其人之道 ，还治其人之身”。攻击者C为了攻击A公钥体制，先发制人采用Ek 加密大量密值，建立一种类似“字典”结构的数据库。只要A的密值产生，就容易应用这个数据库检索破译(字典攻击法)。这种简单而又有效的攻击方法，在单机加解密有限能力对应的“有限密钥量”与联机破译能力的“超级搜索量”不对称抗衡情况下，是很容易成功的。
3 容错判断理论
　　定义1. 设公钥体制f(Ek，Em)是一次一密的。若=Ek(mj)(∈R有理数)称为一个原密值，Em(Yij)=mj为一个原解。
　　定义2. 在f体制中，若=Ek(mj)+△mj(∈R)，称为一个容错值，Em(Yij)=m*j为一个容错解。
　　定义3. 在f体制中，A与B通信的第t ...... v回合的随机密值是Yt1=Etk(m1 ) ......Yv1=(m1)；第1，2，......, n回合的随机密值是X11=(m1)+△m1，X21=E2k(m1)+△m2，......，Xn1=E2k(m1)+△mn。则Em(Yt1)=m1；Em(Yv1)=m1；Em(X11)=m*1；Em(X21)=m*2......Em(Xn1)=m*n，序列(m*1......m*n)含有大部分非整解。在这个数据序列中，可以唯一根据△m1，△m2，......，△mn的正负符号判断，，......， 与m1的大小关系，称之为f的容错判断功能，否则为无容错判断功能(假如A向B通信，A依靠容错判断法确定m*j与mj大小关系序列，B依靠解密获得同一m*j与mj大小关系序列)。
　　定义4. 据定义3，1至n回合加密容错法建立的m*j与mj大小关系序列，规定信息码产生方式：m*j<mj=>0，m*j>mj=>1，1至n回合信息序列是a=(a1，a2，......，an)。②a二次随机逻辑变换序列为最后信息序列：a1，a1+a2=a*2，......，a*n-1an=a*n=>(a1，a*2，......，a*n)。
　　定理1.  若C不能破译Ek的加密算子，且Ek可以任意扩张密钥量，则定义3、4的容错断方法建立的秘密通信方式是安全的通信方式。
　　证明：假设A、B通信过程中存在有巨大计算机能力的攻击者C，据定义3，f是一次一密体制，C无法从固定信息mj获得固定密值yj，第一次字典攻击法失效。C仍用集中大量加密mj获得关于mj的一次一密值(Y1，Y2，......，Yk)。因为A、B采用定义2、3方式通信，由假设知道，Ek扩张到C计算能力不能穷尽程度，C对于A的系列容错值X11，X21，......，Xn1无法采用集束密值(Y1，......，Yk)去鉴别或猜测△m1，△m2，......，△mn的正负符号。因为有部分Eim(mj)增加一个正的△mj可能大于Yj，部分Ekm(mj)增加一个正的△mj可能小于Yj，也有部分(mj)增加一个正的△mj可能等于Yj，的增大或减小与Yj增减△mj无表面的数学对应特征，这样，C第二次字典攻击法失败。C选择容错方式集束加密mj，必须全部3个方程的容错值碰巧全部相同，才获得一个容错码。由于随机方程元素和△mj可以任意选择，这种相同概率是极小的。另外，据定义4二次序列逻辑随机变换情形，偶尔获取的另一个aj也是一个未知数，aj必须代入逻辑变换序列中才能求出其值，C不可能连续a1～aj全猜对。C第三次字典攻击法失败。
　　由于C不能破译(a1，a2，......，an)=(a1，a*2，......，a*n)，不存在C在A、B通信之间进行替换、非法修改、窃听等攻击问题。所以A、B之间的秘密通信方式是安全通信方式。证毕。
　　定理2.  若定理1成立，则定义3、4的通信方案是一种无条件解决Catch22问题的密钥传输方案。
　　证明：通过3点易证：(a)定理1的证明；(b)A、B、C既是通信者，又是攻击者，处于相同条件；(c)本方案通信者之间不附加任何通信协议。
4  P公钥随机矩阵
4.1  自由模函数
　　定义5.  模函数F=A.Wjmodmj，mj是模值，Wj为乘法因子。(mj，Wj∈Z)，若mj，Wj任意选择(不限mj>Wj )，F称为自由模函数。
　　定理3.  若mj<wj，自由模函数f是不可逆函数。
　　证明：当Wj<mj，易知F存在一个Wj的逆元,是可逆函数。当Wj>mj时，则Wj=(kj.mj)+△Wj，进行模mj运算时(Kj.mj)这部分被扬弃，不能恢复，所以Wj无逆元。因此Wj>mj时F是不可逆函数。
　　我们知道含有模变换密钥的密值具有高度的离散特性，现行普遍推广的RSA和对数型密钥都基于“模─幂”方式，P体制密钥则基于“模─加”方式。其实前者也是“模─加”方式，只不过它是依靠高次幂模运算的离散性及大素数分解的困难性取得密码难度。后者依靠连续分解“模─加”NP完全问题的项的困难性，利用自由模运算不可逆及多种函数构造多向复合函数的破译困难性三因子取得密码难度。
4.2  P随机矩阵构造
　　定义6.  各种密码函数在密钥中能够独立构造的代数结构空间叫一次密钥空间。
　　定义7.  在一次密钥空间代数构造基础上,各种密码函数能够延伸于其它不同密码函数复合而成的新的代数结构点，这些点所组成的新的密码空间称为二次密钥空间：

　　现有各种公钥体制普遍只能构造一次密钥空间，未见有构造二次密钥空间的研究内容报道。P随机矩阵数学模型为m×n矩阵(m<<n)，n可以任意扩张。

　　有并行函数和串行函数构造矩阵元素2种方式(见图1、2)。

图1并行构造矩阵元素二次密钥空间示意于

图2串行构造矩阵元素二次密钥空间示意于
　　图1二次密钥空间中b01,b11,......,bn1为代数交叉结合点。图2二次密钥空间中所有的点都为代数交叉结合点。
　　Tn密钥量P(Ek)=d2n，d为变元x取值区间上限，n表示维数。Tn密钥强度q(Ev)=emj，e为fj(x)函数的参数取值区间上限，m为二次密钥空间代数结构点数量，j是不同函数的序数。下面列出3×12并行随机加密矩阵程序应用之一作容错码构造的一个实例， 其中
P(Ek)=1095，q(Ev)=1088。
10 DIM D(13)
20 FOR I=1 TO 12
30 RANDOM
40 D(I)=RND9999*(-1)∧RND2
50 NEXT I
60 INPUT X,Y
70 A=168*X+60*D(1)+1076*D(2)+2033*D(3)-1181*D(4)-458*D(5)-2601*D(6)+1451*D(7)-108*D　(8)+3524*D(9)-1147*D(10)+2737*D(11)-2769*D(12)
80 B=2*X+8*D(1)+78*D(2)+123*D(3)+9*D(4)+26*D(5)+12*D(6)+37*D(7)+75*D(8)+67*D(9)+18*D(10)+ 110*D(11)+79*D(12)
90 C=3*X+12*D(1)-374*D(2)-926*D(3)+1262*D(4)+692*D(5)+2709*D(6)-1118*D(7)+783*D(8)-2921*D(9) +1309*D(10)-1747*D(11)+3480*D(12)
100 PRINT A;B;C
110 D(13)=RND9999:AI=A+RND9*D(13)*Y:BI=B+RDN5*D(13)*Y:CI=(-1)*RND7*D(13)*Y+C
120 PRINTAI;AI;,;BI;BI;,;CI;CI
130 END
　　正解、容错值、容错解如下：

4.3 安全性分析
　　命题：EK加密算子的二次密钥空间构造扩张产生的高强度密码能够抗击现有计算机总和的破译能力。
　　证明：a.构造的安全性 首先，A、B、C是一个高维无定解方程组，不能运用解方程方法破译。其次从定理3知道，自由模函数fj(x)构造加密算子的参数，不存在逆元W-j，所以是不可解的。图1、2说明加密算子的参数子集和是NP完全问题结构，逐一分解子集和的参数，对fj(x)进行结构分析是不可能的。另外复合函数中包含非线性镜象函数L(x)，L(x)和线性矩阵初等变换函数更增加逐一分解译构造参数的难度，可见ER构造方式是安全的。
　　b. Ek解译方式可行性 A、B、C的各自参数子集和,组成一个内部二元一次方程组。 方程组形成条件必须依靠全部fj(x)解译产生的同余值、大扬弃值Y1(模mj的扬弃倍数)构成，这样保证了全部fj(x)的有效性。每个fj(x)在代数结构点内由L(x)逆解产生。而每一个代数结构点又由矩阵初等变换求解获得，这样保证了复合函数的高难度复杂性。Ek解译方式采用解若干次三元一次方程，分别消去若干个初等变换层次,用若干个镜值的减法消去镜象变换层次,若干个自由模变换求出二元方程组参数，最后求解内部方程组获得信息值,这些程序都是并行或若干层次串行组成,解译速度是非常快的。
　　c. 二次密钥强度构造与现有计算机资源总和能力权衡对比首先考察P(Ek)、q(Ev)，n可以任意扩张，Tn是可变的，这与Ev计算开销无关。可以制造超现有计算资源总和能力的n个矩阵元素，抗衡穷举破译和各种数学分析。Ev是简单乘、加法组成的并行和若干次串行函数。据em.j知道,如果增大参数值或增加小量代数结构点,可获得抗衡上述破译能力的Ev密码强度的几何级数的指数增强，而E*计算开销只是很小的算术级数增加。现有公钥体制没有这种有利于E*能力的权衡对比，二者几乎是均衡对比，这种情况，限制了密钥构造的任意增强，使之失去了与“计算机资源”抗衡的条件。
5 结束语
　　Catch22问题是当前计算机密码学的一个重要难题，解决这个问题，是信息安全通信一个重要环节。本文详细论述P随机矩阵的构造理论、技术指标及解决Catch22问题方案，这些都易于在软、硬件上实现。应用P随机矩阵还可以构成创新型量子密码机的认证部件，应用价值十分重大。
本项目获广西自然科学基金资助(9811028)
彭典祥(广西武宣县科技局  武宣 545900)
李业清(广西计算中心  南宁 530022)
彭宏祥(广西农业科学院  南宁 530007)
参考文献
1，邵祖华. 子集和组的求解与真分式背包体制的攻破. 密码学新进展, 北京:科学出版社, 1994: 7～15
2，彭宏祥, 彭典祥. P钥原型及抗击SHORT VECTOR破译算法研究. 广西大学学报(自然科学版), 1996, 21(3): 224～229
3，彭典祥, 李业清. P3-4新型公钥数据加密标准. 通信保密, 1997, 71(3):15～20
4 曾贵华, 王新梅. Catch 22问题及其解决方案. 通信保密, 1999, 78(2):1～3
5 Differ W., Hellman M E. New Directions in Cryptography. IEEE Trans Inform Theory, 1976, 22: 644～654
6 Chor B., and Rivest R. A Knapsack-Type Public Key Cryptosystem Based on Arithmetic in Finite Fields. IEEE Trans Inform Theory, 1988, Vol.1 T-34, (5): 901～909
收稿日期：1999-11-3
