西西河

主题:【原创】和阿康一篇:至今没有破译方法的传统加密方法 -- 任爱杰

共:💬40 🌺2 新:
分页树展主题 · 全看首页 上页
/ 3
下页 末页
  • 家园 【原创】和阿康一篇:至今没有破译方法的传统加密方法

    自从计算机发明之后,大多数传统的加密方法都遇到了克星。象阿康文中列举的那几种传统加密方法不论有多复杂无不成了计算机程序的手下败将。

    因此对于密码的研究完全成了数学家的工作。至于数学家们提出了怎样的方案,阿康的文章中会提到。这里就不夺人之美了。只给大家讲一下,美国每年毕业的数学博士如果有幸能找到一个饭碗,多半是因为他在密码领域里搞了些什么东西,引起了政府的注意。

    但是,计算机并不是万能的。仍然有一些传统的加密方法是无法破译的。例如,我最欣赏的一种传统加密方法就是号称无法破译的。

    这种方法的步骤如下:

    1。需要通讯的甲乙双方约定各持一本同样的书。例如说金庸的《射雕英雄传》。

    2。通讯时,甲先在自己的书上从不同的页面上找到合适的字句,然后把字句的位置发送给乙方。

    3。乙方收到字句的位置后再从自己的书上查出相应的字句,完成解密。乙方需要和甲方通讯时的步骤一样。

    这种加密方法的变种很多,但基本原理都一样。

    使用这种加密方法,除非第三方知道甲乙双方用的是什么书,否则就算截获了甲乙双方之间的通讯也无法知道他们通讯的真正内容。

    • 家园 【原创】保密通信和量子密码术

      信息论和现代密码学的创始人香农在一九四九年提出的一次一密体系,是一种不可破译的密码术。它是如此的著名,以至于不加说明的"unbreakable cryptography"成了它的另一个名称。

      一次一密的原理非常简单,它要求1、密钥真实随机,2、密钥长度不小于明文长度,3、密钥只用一次,用过即弃。加密和解密的算法也非常简单,就是异或(不进位加)。任何会编一点小程序的网友都可以很方便地把这个不可破译的加密解密算法在短时间内编程实现。

      算法的不可破译性可以从两个角度来理解。首先,在数学上,假设A是一个随机序列,B是明文,则A(+)B=C,密文C也是随机的。随机的意思是信息熵为零,所以C不可破译。

      从逻辑上看,一次一密体系的三个条件实际上是要求在一个不小于明文长度的字符集中等概率地选择密码,从而当然地保证了体系的不可破译性。举例而言,假设我们要传送的明文是“八点攻打台北”,字符集是所有可能的汉字,那么窃听者拿着经过一次一密体系加密后的密文是毫无办法的,不管他的计算能力有多强。因为,如果他试图穷举,他会发现,所有由6个汉字组成的句子都是可能的明文,既可以是“八点攻打台北”,也可以是“十点撤离高雄”,还可以是“阿扁阿扁真糗”。在这种情形下,任何神志正常的窃听者都会放弃破译的努力。

      一次一密体系实际上是将“保密通信”的难题转化为“密钥传递”的难题。只要通信双方事先共享(预约)了足够的随机密钥,则通信本身是绝对安全的,事实上,密文的传递可以在公用信道上进行,不需任何其它形式的加密。这个方案虽然简单、安全,但对密钥传递和保存的安全需求很大,因此只适合于需要绝密通信的军事、政治等场合,民用的可能性微乎其微。

      楼主介绍的方法与一次一密很相似,只不过是试图用一本书(海量信息)来代替随机密钥。其实,严格地讲,光用书还是不安全的。一次一密可以保证体系的安全强度与破译者的计算能力无关(这是非常重要的特性),而一旦破译者知道密钥是从书中产生,则计算能力足够强的破译者总是能够用穷举的方法获得成功。难度有多大呢?无非是将所有能找到的书籍尝试一遍,何况,还要假设破译者能够掌握更多的相关信息,比如,是中文书?武打书?金庸的武打书?

      从80年代开始兴起的量子密码术研究大多是基于一次一密体系,试图解决后者遗留下来的密钥传递的难题。它的原理是这样的:当作为通信载体的光微弱到接近单光子的水平时,光的量子性占主导地位,对单光子量子态的任何测量(窃听)都会改变单光子量子态本身,从而被通信双方“察觉”。关键在于这个“察觉”,就是说,量子密码术并不能防止窃听,但总是能察觉窃听。于是,通信双方就可以锲而不舍地进行密钥传递,直到双方得到足够多的“干净”的共享随机密钥为止。有了足够多的共享密钥,就可以随时在公开信道上进行不可破译的保密通信了。(国内很多文章报道将QUANTUM CRYPTOGRAPHY翻译成量子保密通信,实际上是对这个领域的误解,应该是量子密码术,因为它不是通信本身,只解决密钥传递的问题)

      最后总结几个要点:

      1、据我个人所知,只有一次一密体系是公认的不可破译的密码术;

      2、一个密码术是否要求通信双方拥有预约(共享信息),是衡量密码术好坏的一个重要指标;

      3、不可破译是指破译的工作量与破译者的计算能力无关。

      • 家园 好文章,讲的很清楚 我想,

        保密通信是一个复杂的系统,用加密技术传递信息,实际上是将信息分为密匙和密文,在不同的时间,或者空间传递,只得到其中之一的敌人无法阅读密文,以前的加密方式约定的密匙很短,而且在一段时间内不变化,因而在大多数情况下人们假设密匙可以安全无误地传递。

        一次一密方式改变了这一前提,因此问题的重点自然就转移到了如何安全地传递密匙上来。

        • 家园 想象一下,是不是有可能将“密匙”和“密文”分开发送

          而只得到任何一的人将无法破译,或者这样的加密方法:

          一个约定的秘匙 K

          一个随机序列 C

          要发送的密文  M

          用 K 将 C 加密,得到密文 M1

          在用 C 将 M 加密,得到密文 M2

          收信方只有同时得到密文M1 和 M2才能解码,这样的系统安全性如何?

          M1 和 M2 肯定是有相关性的,但破译的难度有多大?

      • 家园 你这一抖包袱,阿康可怎么往下写啊

        呵呵,开个玩笑。文章写的很好。多谢。

      • 家园 好奇,有个问题:当光非常微弱的时候,信息传输本身是不是也有了问题?
      • 家园 哈哈,来了个Pro.欢迎,欢迎!
    • 家园 老兄是不是将这一问题简单化了。

      加密学是一门科学。他的算法和原理要经过科学的论证并且结论要可以工业化的实施。您的方法似乎不太可行。

      比如说吧,你想和我说一件非常机密的事。那么我们俩必须有同样的书,对吧。但是你怎么告诉我用什么样的书呢(电话?Fax?Email?)。这个过程就不能保证安全。如果破译人员想破译我们之间的秘密也不困难。分析一下我们的背景就可以将我们可能用到的书缩小到几千本,几万本的范围之内。

      你的这种方法其实和二战时期使用的密码本道理是一样的。即通讯双方有同样一套秘密本(比如<<神雕侠侣>>).二战时期的这种破译技术已经非常发达了

      即使用苯办法,即将全世界的出版物全部筛一遍,理论上讲也不必破译192位AES加密的东西更费时间。美国现行的AES算法(128,192,256)是科学上证明了的(现在还没有可行的正面的破译方法)。而你的算法没有办法证明是可靠的。并且你的算法根本无法推广。

      世界上不存在绝对可靠的加密。科学的发展会促进加密和反加密技术的同时进步。所以这对矛盾会一直存在下去的。

      • 家园 你说的这些问题现代密码技术中也存在

        加密学的确是一门科学。但是不要把加密,解密和执行协议混淆起来。

        加密和解密只涉及到如何让第三方无法破译或者即使破译但所需要的时间太长从而使破译失去意义(例如,如果需要一个超级计算机一年的时间来破译一个军事密件,显然在大多数情况下,破不破译完全没有意义。)

        执行协议(Protocol)则完全是另一回事。执行协议涉及到如何传递密件的问题。你说的“你怎么告诉我用什么样的书呢?”就是一个执行协议的问题。

        不幸的是,尽管有无法破译或接近于无法破译的加密/解密方法,却没有无懈可击的执行协议。你所说的问题,也就是所谓的密匙传播(Distribution of the Key)问题。有些文章中也称为密使问题(Secret Messenger)或安全通道问题(Secured Channel)。

        归根到底的问题就是甲有一套无法破译的密码,但甲如何才能够把密匙传递给乙同时又不至于被第三方截获,或者即使被第三方截获也不至于泄密呢。

        现代通用的密匙有两种,对称匙和非对称匙。所谓对称匙就是加密和解密都用同一个密匙。非对称匙则是加密用一个密匙,解密则用另一个密匙。你文中提到 AES 其实是一种对称匙。所以 AES 本身并不保证密匙的安全传递。第三方不论用什么方法截获了密匙,立刻就能够破译加密的文件。所以要用 AES,你也得解决密匙传播问题。在这一点上,AES 并不比我说的方法优越。

        非对称匙的出现本就是为了解决密匙传播问题。希望能够将密匙传播作为加密法本身的一个功能。可惜的是,非对称匙的加密性能对比对称匙来说一般要差的多。另外,由于非对称匙中一般总有一个匙是公开传播的,因此很容易被第三方截获从而使第三方得以冒充通讯中的一方。

        所以现有的密匙传播技术相对于加密技术本身来说都要弱的多。这也就是为什么Gilles Brassard 和 Charles Bennett 在1984年要提出用量子方法来解决密匙传播问题。这个方法的缺点我已经在另一回贴中说过了。

        至于你想靠把全世界的读物筛一边的方法来破译我说的这个加密方法是不可能的。首先,这个工作量远比破译 AES 的 256 位要大。我想你也看了这方面的书,具体的数学证明这里就从略了。第二,就算你能够在有限的时间内把世界上所有的出版物都筛上一遍,我还可以用自己写的文章来作为模版编译我的密件呢。例如我在前面答阿康的那个贴子中编译的那句话就是用这个坛子上的一篇文章做的模版。

        用查背景的方法来缩小可能模版的范围是有可能性的。但是这个方法的可靠性很差。原因在于我上面说的第二点。还不如直接把间谍抓起来逼供,反而更加容易得到密码本。呵呵。

        二战时期用的密码其实还是用的数学方法加密的。阿康估计很快就会讲到德国的 Enigma。破译这个东西的也是一帮数学家。而且在此过程中直接催产了电子计算机。

        至于我说的方法能不能够推广。呵呵,是可以的。不过不是现在这种样子就是了。不多说了。否则就抢了阿康的风头了。

分页树展主题 · 全看首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河