2019年10月Google宣布完成“量子霸权”,全世界都惊呆了!量子计算机已经无所不能了吗?其实量子霸权的意义在于:人类让量子计算机做到一件古典计算机很难完成的事。不过,量子计算机的进度条的确正快速更新,未来可能带给人类巨大的福祉,但也会颠覆现今保护我们隐私的加密系统。中研院信息所钟楷闵副研究员(见首图)形容密码学就像好人与坏人的战争,站在量子密码学研究前线的他,将为读者揭密这场没有烟硝的安全保卫战。

什么是量子计算机?
量子计算机和传统计算机的不同,在于利用各种神奇的量子特性,也就是当我们以微观角度观察这个世界时,与巨观世界不同的特性,像是让薛丁格的猫是死或没死的“叠加态”,或是两个量子即使相距很远,仍会依据对方状态而决定自己当下状态的“缠结效应”。当计算机拥用这些比科幻还科幻的量子特性,将克服古典计算机无法解决的难题。
不过,钟楷闵立刻猛划重点强调:
量子计算机不是无所不能,或是每秒钟能做的事比较多,它只在某些“特定(很重要)问题”,有比古典计算机更快的解法,只需要更少空间和步骤。
举例来说,未来量子计算机可能用于仿真细菌的固氮作用,将大大提升农业制造氮肥的效率。因细菌进行固氮作用时,有些关键步骤具量子效应,仿真这些效应的复杂度将超越古典计算机的极限。量子计算机“刚刚好”是以量子效应运行,当然较有希望成功。
不幸的是,量子计算机可攻克的“特定问题”,也包括时刻保护我们交易安全和隐私的加密系统……
坚不可摧的加密系统
登录网购平台,输入账号密码,选好商品放入购物车(又剁了好几根手指) 之后,再填好地址及电话,按下结账,输入信用卡卡号,接下来只要等商品送上门,啊,多美好的日常……等等,你算过刚刚5分钟里,亲手传出多少个人信息吗?这个问题细思极恐,事实上不必太担心,因为密码学默默保护着我们。
早在2千年前凯撒大帝打仗时,就懂得使用“暗号”来保护军事书信。只有知道暗号的人能“解读”信件内容,对不知道暗号的敌人来说,就算拿到书信也只是一堆乱码。
但这套方式有个致命伤,那就是“如何一开始让所有合法的用户拿到一样的暗号,又不会让暗号外泄呢?”当代密码学家想出一套称为“非对称加密”的方式,利用成对的公钥和私钥来加密暗号,公钥就像盖上就锁住的盒子,私钥是打开这个盒子的钥匙。如此一来,就能让素昧平生的合法用户,先利用比较安全的非对称加密传递暗号,接下来就能靠暗号秘密通信了。当你登录网购平台买东西,你的计算机和平台之间的通信,就是通过类似的方式保护你的个人信息。
举例来说,当顾客登录网络书店,申请刷卡购买“研之有物”的新书。网络书店会立刻制造一对公钥和私钥,把公钥传给客户的计算机。客户端的计算机再将自己的暗号,以公钥加密后传回网络书店。坏人没有私钥,就算中途拦截信息也无法破解。最后,网络书店用私钥解密,得到客户的暗号,接下来就靠暗号发送信用卡卡号等个人信息了。

读者可能会有疑问:那为什么不直接把所有消息通过非对称加密传递,还需要先传暗号、再用暗号保护消息呢?原因在于,非对称加密的效率非常低,而通过暗号加密(称为对称式加密)的效率很高。因此,目前的网络架构,仅利用非对称加密传递短短的暗号,接下来主要的通信就使用高效率的对称式加密。
当然,网络并不是真的有个盒子在传输!目前的加密系统能如此安全,关键是核心有个难以解开的数学难题,需要公钥加上私钥才能解开。所以即使坏人拿到加密消息,没有私钥还是解不了密码。
这类数学难题很多,像是超大数字的质因素分解。随机找两个很大的质数相乘,比如97乘上113,就会得到一个超大数字10,961,很简单吧?但是,如果一开始给你10,961,你算得出它是哪两个质数相乘吗?
这不是国小老师偷懒没教,而是人类还没找到有效率的方法(多项式时间的算法)来计算质因素分解这类问题。所以理论上,只要数字够大,即使是全世界性能最强大的超级计算机,也可能花费上万年才能破解。
简言之,加密系统核心的数学难题愈困难,古典计算机就需要花愈长时间破解,加密系统也就愈安全。
破解古典密码,量子计算机hen会
然而,现今密码学看似坚不可破的数学难题,在量子计算机的面前变得不堪一击。因为这些问题的答案都可转化成周期性的结构,刚好量子计算机擅长破解。
什么是周期性结构?再以质因素分解问题举例:想要找出N这个数字是由哪两个质数(P与Q)相乘所得,可以先任意选择一个数字A,用A去除N,得到一个余数a1,接下来依次用A2、A3、A4……不断除N,就会得到余数a1、a2、a3、a4……最后某次操作,余数会回到a1,形成周期性结构,一旦找到周期,就能“比较有效率”的分解N。
不过,对古典计算机来说,当数字相当巨大时,寻找余数的周期仍是十分困难的任务,但对有叠加作用的量子计算机,却是小事一桩。
总之,目前我们所依赖的加密系统,在量子计算机出现之后将变得不再安全……可是IBM、Google不断更新量子计算机发展的进度条,我们已经暴露在信息外泄的风险之下了吗?
别担心!小亚瑟还没长成恶魔小丑
其实,量子计算机目前还只是婴儿阶段。以Google完成量子霸权的量子计算机来说,只有53进制。
相较古典计算机,早在1970年发布的英特尔(Intel)1103,为容量1kb(1,024进制)的内存。“古典计算机如果只有53进制内存,连程序都没办法写,英文本母只能存7个,可以想象现在的量子计算机Size有多迷你。”钟楷闵笑着继续解释:“而且如果把Google做的事画成一个量子电路,这台计算功能执行的电路深度最多只有20层。”翻译成大白话,意思是:每进制只能运算20次!
“20次!这么少?”你发现重点了!量子进制操作时很容易受环境影响而坏掉,20次操作已是目前的极限。

Google公布的53进制量子计算机。上图每个灰色×皆是一个量子进制,白色×是坏掉的量子进制,下图为几厘米大的量子计算机芯片,量子进制统统挤在这小小的芯片中。(Source:Nature)
不只如此,Google这次霸气外漏声明,他们让量子计算机做的事,其实是……仿真量子计算机自己!“哈哈,这题目有点作弊嫌疑啦!不过,这依然是很重要的结果,证明即使现在量子计算机这么小,已经可以做到古典计算机做不到的事了。”钟楷闵笑着解释。
这个任务有多难?如果古典计算机试图仿真同样的量子系统,必须先将量子态用0与1记录下来,再计算这些0与1经过20次量子运算会有什么改变,最后才能得到结果。可是古典计算机光是要把53个量子进制的状态写下来,就需要2的53次方进制的空间,更别提运算和仿真了!根据Google论文宣称,古典计算机要完成这件事得花1万年,但这台小小的量子计算机只需花200秒。
Google实验的意义在于:我们已可控制53个量子进制完成20次操作,这是目前古典计算机做不到的事。
但是,这距离真正“有用”的量子计算机还有很远的路!拿量子计算机仿真细菌固氮效应来说,量子计算机得拥有100左右量子进制,并且能运算操作1,014次……想想,Google的量子计算机只有53个进制不说,且只能操作20次,简直天壤之别!至于量子计算机破解现在的加密系统,根据专家预测,嗯,至少还要30年时间。
终极密码战,现在就开打
虽然如此,但密码学已深入现代生活的各方面,不早点找出应对之策,届时可就来不及了。想想全世界在千禧年危机的手忙脚乱、损失惨重……
从2017年起,美国国家标准暨技术研究院(NIST)开始着手“后量子密码标准化计划”,募集全世界密码学家研发、可对抗量子计算机的密码系统。这些密码系统的核心同样有个数学难题,但这个难题无法转化成量子计算机擅长的周期性问题,中研院信息所杨柏因研究员团队也参与这个计划,并通过第二轮选拔。
“整个过程就像选秀节目,”钟楷闵笑着形容:“主办单位先海选出合适的密码系统,然后经过两轮筛选,制定标准化的各项参数,预计在2022~2024年公布最终标准。”
简言之,3~5年后,我们很可能就会开始逐步更新密码系统,正式进入“后量子时代”。
这场密码学的竞赛,就像好人与坏人的战争。究竟是坏人会先利用量子计算机破解加密系统,击溃目前的信息安全网,还是好人会先做出安全的后量子时代加密系统,筑起更安全的防御墙,关键就在这几十年量子计算机的发展。
科技进步不会停止,在量子计算机发展过程,密码学家正努力追赶进度,为人类预先设下信息安全网。下次在网络输入个人数据时,不妨感谢一下在屏幕后默默努力的密码学家(合十)。
问:原来量子计算机还在婴儿阶段,只能运算20次啊……想要运算次数快速增长,有没有什么好办法?
答:其实,不太可能期待一个量子态经过多次运算操作还不会坏掉,所以我们应该换一个概念:当做了一定的计算,量子态开始有一点点坏掉时,立刻修复它。换句话说,如果能成功帮量子进制随时调试,那计算次数就可以无限多。
为此,科学家正在研发如何替量子进制编码,变成“逻辑量子进制”。所以有人认为,量子计算机的下一个目标,应该是先做到逻辑量子进制。
另一种有趣的想法是,如果把操作有限的小型量子计算机,配上古典计算机,也许可以相当于大型量子计算机……
问:小型量子计算机+古典计算机=大型量子计算机,这个点子感觉有戏!
答:可惜的是,没有这么便宜的事!我们团队最新的研究,在某个模型下,反驳了英国密码学家乔兹萨(Richard Jozsa)提出的类似想法“乔兹萨猜想”。
乔兹萨猜想的意思是:所有可被大型量子计算机解决的问题,运算步骤都可拆解,然后由小型量子计算机(只能进行少次数操作)搭配古典计算机解决。如果这样的猜想为真,意味着不需要强大的量子计算机(能进行很多次操作),只要小型量子计算机和古典计算机合作,也能解决所有大型量子计算机可做的事。
(Source:钟楷闵)
我们团队则在密码学的“预言机模型”(oracle model)下提出一个问题,证明量子操作次数不够多时,这个问题无法解开,为这个猜想找到反例。
问:真可惜……除了量子计算机本身,钟老师对量子密码学还有进行什么研究呢?
答:我另一项研究重点,与密码学的安全性证明有关。前面说过,密码系统的核心是一个数学难题,换句话说,一个密码系统的安全性必须依赖这个数学难题无法破解。
我们可用数学证明这些密码系统的构造有多安全,但对应的量子版我们还在研究。
因为愈好的证明,愈能确保加密系统的安全性。尤其在NIST如火如荼找出后量子时代加密系统的现在,我们能做到多好的证明,也会影响标准化的参数要怎么设置,才能满足运算速度够快,但又非常安全的需求。这是现代密码学家非常重要的任务。