作为一个科研工作者，数学在平时你的研究中有什么作用？
作为信息安全研究员，举一个数学在信息安全领域的有趣应用来谈谈我的理解吧。本文阅读时长十到二十分钟，涉及到的专业知识会尽量控制在高中数学水平。 想象一下这样一个场景：某大型公司/政府部门需要租用云计算服务，可是要处理的内容需要高度保密。也就是说，我们需要把一些数据交给别人来加减乘除，却又不希望别人知道这些数据的内容。 对于这样的困境，目前主流的解决方案是可信计算技术（Trusted Computing），比如 Intel SGX Enclave[1]。这些技术依赖于特殊的硬件设备，允许用户把数据加密后，安全地送进一个云计算提供商无法窥视的“黑盒”里，在黑盒里解密、计算，再把结果加密送回用户手上。 在这个过程中，敏感数据的安全性高度依赖于黑盒的安全性，这里自然就潜藏了很多安全风险，比如： 这些安全问题一旦出现，外部的攻击者就可以窥探到黑盒里面的内容。因此当事人必须高度信任这台设备，信任设备的制造者、设计者，才敢把自己的数据放到这个黑盒里。如果处理的数据涉及到国防、经贸这些关乎国家安危的领域的话，“信任”这个词就显得愈发沉重了。 如果有可能的话，我们更希望有这样一种魔法，能让我们不用依赖任何特殊设备，直接把计算过程公开透明地放在云上，让攻击者即使能够看清每一步计算，却照样搞不明白数据的内容。 显然，既然不能让攻击者知道数据内容，那么我们交出去的数据必然不能是数据原文，而是某种加密过的数据。我们想要对这些密文做上一通加减乘除之后，还原成相应的明文结果。熟悉近世代数的朋友，这个时候脑海里应该已经冒出一个词了——同态（Homomorphism）[3]。 为了让没有背景知识的读者直观地理解这个概念，我举个简单例子：假设你手里有4和6两个数字，你想知道4+6等于几，那么你可以 在这个过程中，“十进制整数与二进制整数之间的映射”就是一个同态，我们把它记作 f(x):\mathbb{Z}_{10} \rightarrow \mathbb{Z}_{2} 。这个映射 f 能够保持元素间的加法不变，也就是说， f(x) + f(y) = f(x+y) [4]。我们把这个性质称为加法同态性，利用这个性质，我们就能骗一个不懂二进制的人进来打白工。 这个玩具算法有一个显而易见的缺点：我们的映射要是被白工偷学了怎么办？比如白工完全可以从“逢二进一”这个线索上发现我们在用二进制，然后通过网络窃取到关于二进制的知识，解密我们的二进制数据。 所以这里我们就需要一个参数，让我们能够对算法进行调整。比如我们可以规定每次开始计算的时候，任选一个自然数 k \in \mathbb{N}_+ 作为我们这次的进制。在计算过程中，我们不再告诉白工“逢二进一”之类的进位规则，白工只管把数字累加在一起。当我们把结果转换回十进制的时候，进位上的错误会自动被消掉。 这个自然数 k ，扮演的就是加密算法中密钥的角色。它帮我们把一开始那个孤零零的同态f: \mathbb{Z}_{10} \rightarrow \mathbb{Z}_2 ，拓展成了一整个参数族 \{f_k: \mathbb{Z}_{10} \rightarrow \mathbb{Z}_k\}_{k\in\mathbb{N}_+} 。现在白工再想解密我们的数据，就需要猜猜看我们这次用的到底是三进制映射还是五进制映射。如果白工对于明文数据没有任何信息的话，那么他哪怕猜对了也没法确认正误。 这个花了五分钟随手编出来的玩具算法，当然是经不住现代密码学考验的，它具体存在哪些安全问题可以作为课后习题让大家思考，我们现在想要关注的点在于：这个玩具算法麻雀虽小，但它已经把我们最开始想要的“魔法”实现了——这就是一个非常简陋的同态加密算法（Homomorphic Encryption），能从一个水平低下的攻击者手里保护我们放在云上的计算数据。 现在，回想一下数学在这个过程中到底扮演了一个什么角色： 一开始，我们手里有一个需要耗资千万甚至上亿美金、专门设计可信计算芯片才能解决的难题。在经过简单的推理之后，我们忽然就把它转换成了一个在代数结构上找同态的问题。我们的玩具算法用的同态不是很好，缺了很多有用的性质。但如果我们能找到一个合适的同态，就可以直接在稿纸上解决最初的难题，把那堆造价不菲的芯片全都扫进废品回收站。 为什么数学能产生这样一个令人印象深刻的结果？ 我想最主要的原因在于，数学能够从繁杂的表象中，抽出事物最本质的组成部分，然后透过本质去分析和解决问题。抓住本质的变化之后，千头万绪的困难自然也迎刃而解。这样的思维方式对于研究工作很有帮助，能够熟练运用于人生中的大小抉择的话，对个人自然也大有裨益。 当然，这样的境界着实太难得了，想要进退不惑地过好一生，恐怕比证明 P=NP 还要麻烦一些。 附：这次本来想聊同态加密和 ABE 两个场景来着，写完同态加密之后看了看篇幅，Ummm……算了吧，ABE 等改天有别的什么合适的话题再聊。