安全是计算的另外一面,换句话说,安全和计算是硬币的正反面,它们本质是一件事情。安全之所以存在,是因为计算有复杂性,计算的复杂性保证了这个世界是安全的,所以安全问题才会存在。
我们把茶叶粉末和热水混合在一起,这个是正向运算,反过来就是逆向运算。逆向运算的代价是远远大于正向运算的,这意味着我们这个世界是单向函数的世界。这件事情首先保证了安全问题的存在。其次,这也意味着我们可以用它来做安全,保证安全是存在的。所以安全就是计算的正反面。
再举个例子,比如诈骗这个事儿,我们看一些网上电信诈骗的案例,一下就被骗了几十万。这类问题为什么屡禁不止?原因很简单,因为我们这个世界是符合计算复杂性的,这个世界是存在单向函数的。这意味着这些犯罪分子很容易设计一个骗局,因为这是正向运算。如果我们要破案,要逆向运算,就要找到他在哪里,找到他是谁,什么时间、什么地点干的这件事情,代价非常大,所以这件事情就确保了犯罪的成本是远远低于破案成本的。
到最后我们会发现,恰恰是因为计算的复杂性,或者说物理世界符合计算复杂性的规律带来了所有的安全问题。
但是反过来看,我们今天之所以能用一些安全手段来保证安全,也是因为计算的复杂性。安全只有一个理论,就是密码学理论。其他都是假的,都不是理论。只有跟密码学有关的理论是跟安全相关的真正科学理论。可以说,密码学就是建立在计算复杂性之上的。
安全跟计算本质是一件事,只不过描述了不同维度的东西。计算相关的技术是一个手段、一个工具,安全是状态和结果。同样的技术手段,我们以前用在保护资产和对抗敌人上面就是安全,用在别的地方,比如说用在商业领域,好像就是别的事情了,但其实我们用的都是同样的技术。
此文章为10月Day12学习笔记,内容来源于极客时间《对话道哥》,强烈推荐该课程
网友评论