一个简单的通信游戏
从本文开始,我们将开启密码学的历程。
一个简单的通信游戏
第一个应用实例
我们给出密码学的第一个应用实例
这是个简单的问题,两个朋友Alice和Bob,他们在玩一个叫做抛硬币的游戏。
如果Alice对Bob说,“你选一面,我抛硬币并告诉你结果”,显然Bob不能同意,因为他不能验证抛硬币的结果。
为了解决这个问题,便有了这样的想法:
为此我们先了解一个奇妙函数f(x)f(x)f(x)
123奇妙函数f1) 对任意整数x计算f(x)是容易的,给出f(x)计算x是不可能的2) 不可能找到一对整数(x,y),满足x!=y且f(x)=f(y)
在这个基础上,我们可以得到第一个密码协议:
安全性分析
首先,由于性质2)Alice无法找到两个数x和y,其中一个是奇数另一个是偶数,满足f(x)=f(y)f(x)=f(y)f(x)=f(y),因此,一旦Alice告诉Bobf(x)f(x)f(x)的值,她就完成了抛硬币的过程。
其次,由于fff具有性质1),Bob不能判断Alice使用的x是奇数还是偶数,因此他不得不把其猜测真是地给出。
虽然这个协议听上去十分简单,但它的确是一个合格的密码协议,因为 ...
crypto
密码学
什么是密码学
百度百科:密码学是研究编制密码和破译密码的技术科学。 研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学
本博客密码学参考教程:《现代密码学:理论与实践》
本密码学系列仅用来回顾我的密码学心得历程,如有错误,还请联系我jhuaiyu3@gmail.com