西西河

主题:密码破译方面,有一个问题一直不明白,望高人科普 -- yg1993

共:💬6 🌺17
全看分页树展 · 主题 跟帖
家园 拿《红灯记》这个故事来说明

你说的哪本书做密码本,其实可以猜,现代的计算机速度很快,如果密码的可能性只有几亿种,都是很不安全的。电报也不是要篇篇破得出,你乱写一气,我破不出,那又怎么样?但如果被我破出一篇来你岂不惨了。另外,军队的收发信息量实在太大,不是两个潜伏特务一天几封的数量,一旦密文数量巨大还都用一个加密方式和同一个密钥,就有危险了。如果你用很多密钥,就牵涉到管理和交换密钥的问题。交换密钥是很麻烦的。

《红灯记》是讲抗日战争的时候,李玉和一家三口为了替游击队取得密电码做出了重大牺牲的故事。具体故事情节我记得不太清了,欢迎大家指正。

桐山游击队被鬼子袭击了,原来的密电码丢了,再用这个电码显然不行。要和上级联系,只有换密电码。就是你说的,大家得约好这个加密得怎么加,什么字换什么字,有无意义电文的话,混在哪里,怎么混,等等。如果不说好的话,上级发命令,鬼子是不懂,可你游击队也不懂,就不行了。

要交换密码可麻烦了。上级先得通知李玉和,跟他说,有个交通员会来交给你密电码。结果鬼子也知道了这事,交通员跳车受伤,不过密电码总算给了李玉和。然后李玉和还得把密电码交给游击队。游击队还得派出交通员来取。大家互相不认识,还得对暗号,这暗号还得事先说好,其实又得交换一次秘密。出了王连举这个叛徒,这暗号也给鬼子知道了,如果不是李奶奶警惕性高,没斗争经验的铁梅差点把密电码交给假交通员。

就为了这么一本密电码,牺牲了李玉和和李奶奶,出了个叛徒王连举,还惊险无比,密电码好几次差点落入鬼子手里。

如果是有现代的设备,事情就没这么麻烦了。现代密码学有方法使得游击队和上级可以在一开始直接用明文联系,共同商量好加密的方式,并且互相交换密钥(也就是密电码),而鬼子尽管能够截获所有这些明码电报,却无法知道密钥。然后,游击队和上级当然就可以用商量好的密钥来商量打鬼子的正事了。这就是现代密码学中密钥交换的问题。如今,其实你每次登录一个https网站,你的计算机就会和服务器这样交换密钥。

另外,记得王连举把交通员的联系方法告诉了鬼子造成的危害吧。你说你是交通员,我怎么相信你真是游击队的交通员而不是汉奸假扮的?你会喊“磨剪子来戗菜刀”,可要是这事情也给鬼子知道了呢?这个口令,除了李玉和知道,交通员知道,还有游击队里当年告诉李玉和这口令的人也知道(这个人肯定不是交通员,否则李玉和和交通员就认识了,也用不着对口令),李奶奶和铁梅也知道,就连王连举也知道!知道的人太多了,实在不保险啊。这就是身份认证问题。你登录西西河,你说你是yg1993,我是明日枯荷包,铁手怎么相信?哦,分别有你我的密码。可是这也不保险啊,比方说网路上有个路由,截取了你登录信息,于是你的密码就被人知道了。西西河并不是太敏感的地方,我们也不是重要人物,没人会花大力气来伪造成我们上西西河。可是如果你是重要人物呢?如果你在谈大生意呢?

现代密码学有关于零知识证明的理论,巧妙地解决这一问题:你能够构造一个数学问题,使得天底下只有你才知道这个问题的答案。当你注册西西河的时候,你告诉铁手,你就是那个知道这个问题答案的人。下次你又登录,铁手说:听说你是知道某问题答案的那个人啊,证明给我看你的确知道这个问题的答案。当然你不能直接把答案告诉铁手,否则你就不是天底下知道这个问题的答案的唯一的那个人了,因为至少铁手也知道了,还不算那些偷听的。但是你有一种方法可以说服铁手(和其他人),你的确知道这个问题的答案,但是看了你这个方法以后,别人却无法用同样方法去说服另外人,他也知道答案。不仅如此,除了知道你知道答案这件事以外,别人对这个问题的答案没有其他进一步的知识了,这就是为什么这个方法叫“零知识证明”。

当然现代密码学除了研究加密方法,密钥交换,身份验证外还有许多领域,我就不多说了。

全看分页树展 · 主题 跟帖


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

Copyright © cchere 西西河