仙农关于一次一密完善保密性的错误确定与分析
(计算机与控制学院,桂林电子科技大学,广西 桂林 541004)
(School of Computer and Control, GuiLin University Of Electronic Technology,Guilin, 541004, Guangxi Province, China) 摘要:本文分析了仙农在论证一次一密体制完善保密过程中的一些可能性,并且确认了仙农的错误。从信息论和概率论的角度分析了错误的根源,指出概率往往具有随机不确定性,概率论往往忽视概率的这种随机不确定性。信息论没有考虑信息的可靠性和多重随机不确定性,这使得信息论在现实中的应用存在局限性。
关键词: 一次一密体制;密码学;完善保密;信息论
Confirmation and Analyses of Shannon’s Mistake about Perfect Secrecy of One-time System
Abstract: Through analyzing some possibilities in Shannon’s proof that one-time system is perfectly secure, this paper confirms Shannon’s mistake. And the root of the mistake is pointed out from the angles of information theory and probability theory because the probability theory alwayes ignores the random uncertainty of probability itself and the information theory has its limitation in application due to ignoring the unreliability and multiple random uncertainty of information.
Keywords:
one-time system, cryptography, perfect secrecy, information theory
中图分类号:TP309 文献标识码:A
仙农(Shannon,又译香农、申农)提出了完善保密的概念并且证明一次一密密码体制(简称一次一密体制)具有完善保密性[1,2]。完善保密的密码体制被认为是不可攻破的[1]。长久以来,一次一密密码体制被认为是不可攻破的,除了它泄漏和限制明文的长度外,其安全性没有受到其他质疑,并且它至今依然应用在高度保密的信息传输中。最近的文献[3,4]指出了一次一密体制并非完善保密的,文献[5]论证了一次一密体制完善保密需要具备的条件,并且利用多名编码来让密码体制逼进完善保密。文献[6]分析了一次一密体制完善保密时需要增加的条件,并且提出了一些伪装明文长度的方法。文献[7]则从概率的角度提出了一种密码分析方法,这种分析方法可以用于对一次一密体制实施一种不是很奏效的攻击。文献[4]还考虑了一种非常特殊的可能性,这种情况下满足特殊的情况,一次一密才可能具有完善保密性。而本文对一次一密体制的完善保密性的证明进行了深入的分析,并且确定这种可能性并非仙农的想法,从而,即使在考虑明文长度必须一致的限制的情况下,一次一密体制也并不如仙农认为的那样具有完善保密性。
1.一次一密体制完善保密性错误的确定我们姑且不考虑一次一密体制所有的明文和密文必须都是等长度的限制问题,实际上,仙农的证明中也隐含了这一条件,但是仙农并没有把这一条件在结论中明确指出。在这里的讨论中,我们假设所有的明文都是等长度的,密文和密钥的长度也是等于该长度。
为了说明问题,举一个很简单的例子:明文空间为M={0,1},密文空间为C={0,1},密钥空间为K={ 0,1},密钥等概率随机分布,采用一次一密体制进行加密。根据当时的通信语境,已知明文是0的先验概率为0.9,明文是1的先验概率为0.1。后来在这个基础上另外知道密文是0。我们仅仅考虑已知密文情况下明文的概率分布,由于密文是0,根据密钥等概率随机分布以及明文和密钥一一对应的特点,可以得出明文是0的概率为0.5,明文是1的概率为0.5,与明文的先验概率并不一致。在这样的情况下,需要将不同条件下的概率进行折衷融合,融合后,明文是0的概率介于0.5-0.9之间,明文是1的概率介于0.1-0.5之间。
在上述例子中,考虑我们已知密文为0,则此时密文的概率是不等的,密文为0的概率为1,为1的概率为0。但是根据明文的先验概率分布,密钥是等概率随机分布的,我们可以很容易得出密文为0和为1的概率都为0.5。我们可以看到密文的概率在不同的条件下是冲突的。
在上述例子中,考虑我们的条件是已知密文为0,明文为0的先验概率为0.9,明文为1的先验概率为0.1,根据明文和密钥在此时的一一对应关系,密钥为0的概率为0.9,密钥为1的概率为0.1。而根据密码体制预先的规定,密钥是等概率的,所以,照样出现了概率冲突。
上述的这种冲突说明,在不同的条件下独自得出的概率可能是相互不一致的,需要融合,我们用局限的条件组合得出的概率各个都不能一致,需要整合起来。仙农证明的错误在于,没有考虑到这些条件不一致性和不可共存性,由于它们不能共存,所以如果我们在证明中坚持把原来的条件带入公式,就会出现错误,因为实际上这些概率经过折衷融合以后发生了改变,已经不是原来的值。
在上述的例子中,有几个条件,比如明文被发送的概率,这个概率是根据通信语境等非密码体制的信息作为条件来决定的。密码体制的信息,比如采用一次一密体制,密钥等概率的信息。密文是一个确定的值。密文的值是某一个值C。此外,这些条件组合也会得出不同的概率。
以求明文的概率而言,有以下几种不同的条件可以得出明文的概率:
(1)
以明文的通信语境等信息为条件,在本例子中,明文是0的概率为0.9,明文是1的概率为0.1。
(2)
以密码体制的信息,加上密文是未知,但是却是确定的值为条件(密文可能不知道,但是密文不是随机变量,是确定的值),可以很容易得出明文是等概率的。
(3)
以密码体制的信息,加上密文是某一个已知的值为条件(针对已经获得密文的情况),同样可以很容易得出明文是等概率的。
(4)
以明文的通信语境等信息,加上密码体制信息为条件,但是此时密文的值不是确定的,明文是0的先验概率为0.9,明文是1的先验概率为0.1。
(5)
以明文的通信语境等信息,加上密码体制信息,以及密文的值为未知,但是是确定的值为条件,明文是0的概率介于0.5-0.9之间,明文是1的概率介于0.1-0.5之间。
(6)
以明文的通信语境等信息,加上密码体制信息,以及密文的值为某一个已知的值为条件,明文是0的概率介于0.5-0.9之间,明文是1的概率介于0.1-0.5之间。
后验概率是条件概率,是根据某种条件得出的,实际上先验概率也是依据某种条件和依据得出的。由于这里条件繁多,有多个先后关系,用先验概率和后验概率不能称谓所有的概率,所以我们用已知条件来称谓对应的概率更加确切。仙农在定义明文先验概率的时候,并没有很好地确定其条件是什么,而实际上先验概率可能是(1)、(4)、(5)之一。已知密文后的后验概率可能是(3)、(6)之一。 文献[8]则考虑到(5)的情形,假如仙农的先验概率考虑的是(5)的情形,后验概率考虑的是(6)的情形,则先验概率可能等于后验概率。
|