主题:【原创】闲聊密码(二)——密码协议 -- 代码ABC
闲聊密码一链接出处
闲聊密码三 算法、密钥、随机数链接出处
闲聊密码 外一篇——悲惨的DVD(上)链接出处
我知道河里有位前辈1001n写了一套长篇《密码传奇》,里面介绍了著名的Enigma破解过程,以及许多其他的密码历史。很早之前看过这个系列,我最佩服的是1001n居然自己DIY模拟了不少破解过程,像我这类读书不求甚解的懒人,碰上这些天书般的字母绝对是哗哗的翻过,更不要说去手工再推演一次。
传奇的密码破解故事确实很吸引人,因为能在公开的资料中留下的很少,绝大部分的故事现在还锁在某个森严的保险柜里,随着当事人的离去这些故事注定要在历史上消失很长一段时间,或者永远消失。而密码破解这类工作专业性很强,破解过程对决大多数人来说都是枯燥无味的,需要类似1001N这类的大侠整理成大多数人能理解的方式才会引起公众的兴趣。就像我们只对萨大笔下的科学院里的人感兴趣,而不会真正去了解什么是陈氏定理那样。
密码学不光是加密解密的问题,还包括密码协议的设计。说到底人们发明密码的目的是通过它来完成某种任务。比如,上节讲的验证任务、通信任务、秘密交易、秘密检验等等。这些任务都是通过某种形式的协议完成的。所谓的协议指的是参与者必须按顺序完成的步骤。比如Enigma的加密通信就是通过这样一个协议组成的:
1、 通信双方每月获得通信密钥
2、 通信发起者选择一个随机的通信密钥,并重复两次。
3、 发起者使用当月密钥加密这个随机通信密钥传给接收者
4、 发起者使用随机通信密钥加密通信内容传给接收者
5、 接收者使用当月密钥解密随机通信密钥
6、 接收者使用解出来的随机通信密钥解密通信内容
Enigma加密方式在当时没有太大的弱点,其弱点在于通信协议上。按现代通信术语来说Enigma没有妥善解决密钥交换问题,这个问题直到专用的密钥交换算法和公开密钥算法问世才得以真正解决。在当时交换密钥的方法还是通过线下的人工信使,但这种方式导致密钥更换周期变长,带来的问题是让破解者可以掌握大量使用同一密钥加密的信息,而里面重复的信息(明文)的将给破解者提供方便。Enigma使用自身加密的方式传递通信密钥,大大缩短了密钥更换周期。看起来似乎提升了通信的安全性,但是加密方式没变,实际通信的安全性也就没变,反而是相同信息的两次加密给破译者带来了方便。没办法,当时设计这个画蛇添足的协议的人没有现代密码学知识。
其实密钥交换问题是所有秘密通信都要解决的问题,在上述协议中除了2,3步的漏洞外,第一步也是一个漏洞,而且当时被一个简单的方法破解了。那就是通过贿赂有关人员购买回来的,相比算法破解方式还很便宜。别忘了当时为了制作破解机器把密码部分的预算都用完了。所以这类密码破解方式自古以来都是最有效的方法。
闲聊密码二链接出处
本帖一共被 3 帖 引用 (帖内工具实现)
- 相关回复 上下关系5
🙂【原创】闲聊密码(二)——密码协议
🙂协议组成: 众生相 字145 2009-05-16 13:14:54
🙂花个 雨楼 字0 2009-05-16 08:35:48
🙂不能放一个帖子吗?或者加上链接,这样不好找。 隔路山贼 字0 2009-05-15 18:17:46
🙂沙发. 沉宝 字0 2009-05-15 08:14:08