锁定老帖子 主题:送宝石游戏考题
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-10-14
B1-66-ER 写道 ……
我的意思很简单, 你和你朋友,相对于邮差,不能拥有除了秘密数字a之外更多的优势。 也就是说,在你的方案中,你必须允许邮差知道你和你的朋友在拿到物件后会做出哪一些步骤。在每一步,你和你的朋友都必须附上明文纸条,来指示对方下一步应该怎么做。当然避免陷入抬杠的怪圈,我们必须假定邮差是不会替换明文纸条来故意破坏通讯的。 在这样的前提下,你的方案就是可破解的了...(待续) 除了秘密数字 a ,我和我朋友本来就没有任何优势。这个通信方案是完全公开的,我、我朋友、邮差都充分地了解其中的细节,邮差可以专门针对这个通信方案来设计自己的行动 —— 这个我在一开始讲题目的时候就明确指出了。所以这里你要求每一步都必须附上明文纸条是没有必要的 —— 邮差本来就很清楚你们会做什么。 另外,这个方案本来就是可破解的,一开始我就说了这是个有瑕疵的方案,邮差有法子拿到宝石的,但是它包含了许多有价值的想法,希望借此为大家打开思考的方向。 |
|
返回顶楼 | |
发表时间:2005-10-14
嗯,我已经完成了破解...看一下我上面的修改。
另外我觉得,这个问题是有本质困难的,无论搞得多么复杂,都有破解方案。 |
|
返回顶楼 | |
发表时间:2005-10-14
B1-66-ER 写道 嗯,我已经完成了破解...看一下我上面的修改。
另外我觉得,这个问题是有本质困难的,无论搞得多么复杂,都有破解方案。 嗯嗯,没错,你完成了这个方案的破解,那么下一个问题就是,如何来设计一套真正安全的通信方案?我觉得在上面这个方案给出了的情况下,应该是比较明显的了。 |
|
返回顶楼 | |
发表时间:2005-10-15
在1,2附上a,这样就可以验证是否是自己人送的盒子.
|
|
返回顶楼 | |
发表时间:2005-10-15
1:成立一个可信任的锁托管机构(证书管理),每个人将锁交给他们托管,钥匙留在自己手上。
2:自己去取对方的锁(下载对方公钥) 3:用取来得锁锁住盒子,让postman送给朋友。 |
|
返回顶楼 | |
发表时间:2005-10-15
nihongye 写道 在1,2附上a,这样就可以验证是否是自己人送的盒子.
不行,还是会被破解的,你参考前面 B1 的方法仔细想想? jkit 写道 1:成立一个可信任的锁托管机构(证书管理),每个人将锁交给他们托管,钥匙留在自己手上。
2:自己去取对方的锁(下载对方公钥) 3:用取来得锁锁住盒子,让postman送给朋友。 这确实是个办法,很多认证体系就是这么干的,不过在这里这等于多引入了一个条件:存在一个可信任的锁托管机构。如果这个机构不存在呢?我们该怎么办? |
|
返回顶楼 | |
发表时间:2005-10-16
我说,这题没有这么难吧?事实上有了前面那个方案,再加上一点对 B1-66-ER 成功攻破方案的分析,安全的通信方案应该已经是呼之欲出了才对 ……
|
|
返回顶楼 | |
发表时间:2005-10-19
唉,看来没什么人愿意借此锻炼一下自己的大脑。罢了 ……
|
|
返回顶楼 | |
发表时间:2005-10-19
Elminster 写道 我说,这题没有这么难吧?事实上有了前面那个方案,再加上一点对 B1-66-ER 成功攻破方案的分析,安全的通信方案应该已经是呼之欲出了才对 ……
事实上我认为,这个问题有本质困难。 如果总是有个中间人(邮差)的话,那该人总是可以双向伪造物件,做双面间谍。无论方案多么复杂,该中间人总是可以构造出与该方案同样复杂的破解方案。 我觉得这有点像造永动机。很多永动机构筑方案都很巧妙而且复杂,咋一看横竖挑不出毛病;而且这次的失败总是给出一种“似乎可以下次改进下,就可以成功”的错觉。 |
|
返回顶楼 | |
发表时间:2005-10-19
B1-66-ER 写道 Elminster 写道 我说,这题没有这么难吧?事实上有了前面那个方案,再加上一点对 B1-66-ER 成功攻破方案的分析,安全的通信方案应该已经是呼之欲出了才对 ……
事实上我认为,这个问题有本质困难。 如果总是有个中间人(邮差)的话,那该人总是可以双向伪造物件,做双面间谍。无论方案多么复杂,该中间人总是可以构造出与该方案同样复杂的破解方案。 我觉得这有点像造永动机。很多永动机构筑方案都很巧妙而且复杂,咋一看横竖挑不出毛病;而且这次的失败总是给出一种“似乎可以下次改进下,就可以成功”的错觉。 你又不给我空运大龙虾 …… 其实这问题在前一个方案基础之上改进很简单啊,只要把 r1+r2+a 改成 md5(r1, r2, a) 就行了。前一个方案失败的关键,在于 r1+r2+a 是可逆的运算,邮差通过欺骗可以得到 a ,那么只要换成不可逆的运算就行了。这样邮差无法得到 a ,自然也无法成功构造 md5(r1, r2', a),或者严格地说,邮差成功构造出这个数字的概率极小。 |
|
返回顶楼 | |