注意,本文涉及《流浪地球2》电影剧透,若您希望有良好的观影体验,建议先点赞收藏充电,在看完电影后再来观看。
海报镇楼
前几天和女朋友一起看了《流浪地球2》。电影中,在月球因行星发动机故障而即将撞入地球之时,地球联合政府计划利用核弹将月球摧毁(具体原理看电影)。其中这一幕相信很多人印象深刻:地球小组破译核弹密码失败了,于是让航天员进行手动引爆。当时电影院的氛围特别伤感,但密码学专业的我却自嗨到不能自已:什么密码体制能够在量子计算机辅助的情况下还需要几百小时才能破解啊?!为了让这部国产科幻里程碑的设定更丰满,同时探索更多电影中的细节,本人决定从一个密码学学渣的角度,与盒友们一起探讨《流浪地球2》中这部分关于核弹密码的设定。
核弹密码的加密方式
既然讲到解密,那首先的第一个问题是:核弹是怎么加密的?如果是连加密方式都不知道,那无异于无的放矢,而且在电影中各国都将自己国家的核弹资料都拿出来了,我们有理由相信,大部分核弹的加密方式都是确定的。但是已经有加密方式了,那不就可以直接像那些科幻电影里一样,输入密码引爆核弹就行了吗?为什么还要去“破解”呢?因此,我们有理由相信,问题出在加密本身。
在电影中,我们能看到,送上月球的“核弹”是只负责爆炸的核弹头,而推进器则被拆下来留在地球。基于这样的细节,b站上一位密码学大佬“zt变换”的视频(BV158411373T)中提出这一观点:平时电影中表现出来的那种按钮只负责向核弹整体发送“发射信号”,而向核弹头发送“引爆信号”的部分则被安装在推进器里。(大佬的视频专业性比较强,但真的讲得很好,敬请大家前去捧场)
可是这却无法解释一个问题:为什么不直接将每个弹头对应的推进器连接到局域网上,再由550W统一接入,这样就相当于获取每个弹头的引爆信号了呀?为了解决这一问题,我在此提出一个关于核弹加密方式的构想:最终决定弹头“引爆信号”的不是推进器,而是弹头本身。具体的流程如下:
- 核弹头内置一个随机数生成器,不断生成新的口令,并后将该口令传给推进器中的加密设备。
- 推进器中的加密设备根据口令生成加密密钥与解密密钥,并分别发送至内置加密器与核弹头。
- 收到“发射信号”后,在预定爆炸的时刻,加密器根据口令及加密密钥生成“引爆信号”密文,并传至核弹头。
- 核弹头内的解密器根据引爆信号解密密钥得出引爆口令。
- 若口令一致,则引爆核弹头。
流程图如下:
核弹加密方式(猜想)示意图
在上述流程中,我们可以看到该方式的安全性:即使只有核弹头,由于步骤3的输入(示意图中的c与k2)无法通过核弹头本身所发出的信息得到,因此在只有核弹头的情况下,无法单独引爆核弹。在此基础之上,我们便可分析得出一些对电影的解释。
- 为什么要破解密码:可以看出,在推进器及其内置加密器留存在地球的前提之下,地球方面可能存在如下问题:无法得到月球上核弹头的引爆口令(步骤1);无法从推进器中获得c或k2,甚至两者皆不可得,但内部算法不清楚,相当于一个“黑盒设备”(),从而无法得到应当对月球发射的信号(步骤3)……诸如此类的问题都需要密码学领域的学者来解决。
- 手动引爆的原理:我们可以将电影中那一个个像小盒子一样的手动引爆装置看成推进器内的加密设备,其中“保险”阻断核弹头的信号输入(阻止步骤1),而按钮则可看成将密文送至核弹头的开关(步骤3)。
密码学家们在忙什么
在上述假设成立的基础之上,我们便能进一步分析出片中的密码学家们在进行什么工作,而量子计算机又能在其中扮演什么角色。
- 获得核弹头的随机数生成手段,进行步骤1。要进行这一部分,若无法得到月球上的随机数生成器构造,那似乎唯有通过历史维护文件上的生成信号来反推导出可能的随机数生成模式,即使在量子计算机的帮助之下,这一步骤也需要长时间的构造与验证,因此电影中提到的需要714小时就显得合理起来了:解密需要很长时间,但该时间在算力确定的前提下是能确定的。
moss没有摸鱼
- 推出密码体制,进行步骤2与3。这一部分是对那些文件已流失而无法得知加密器原理的推进器进行的。要进行这个步骤,可以拆解推进器研究内置加密器结构,也可以找当初设计师进行询问,但在最糟糕的情况下,只能通过历史维护文件的明文与密文对照组,利用代数手段得到解密密钥乃至加密体制。
- 将无法输出信号的推进器内部结构用程序实现,进行步骤2与3。这一部分是对那些知道原理却无法输出信号的推进器进行的。在电影中,有许多人在进行代码编写,但实际上,在已知密码体制并且在有量子计算机辅助的情况下,是不需要持续的进行代码编写的,反而应该是一堆人看着算法的进度更合理。而这一步骤,则是对这些编码行为的一个合理猜想。
- 试图绕过密码体制,直接引爆核弹。对于一些无法进行密码学解密的核弹,还有一种可行的方法就是:根据核弹头的结构,找出不需要认证就能进行操作并进行引爆工作的部分。这一部分则是属于工科的领域了,所以电影中会多次出现一堆人对着弹头结构的图纸进行观察的情景,而负责人也曾怒吼道要把当初的设计师全部找过来,因为他们更容易发现这种结构上的漏洞。
总结
以上便是我对《流浪地球2》中核弹密码这一部分的理解。总体来说,与其说是破解核弹密码这一单纯的数据,电影表现得更像是破解核弹的内部协议等数据架构。但是,这段情景主要是用来服务主线剧情的,因此只要将故事逻辑连贯起来,并顺便将紧张的氛围渲染到位就足够了,在艺术角度上确实已经足够优秀了。作为一个密码学学生,能看到自己的专业在末世之中依然有用武之地,这何尝不是一种浪漫与骄傲呢。当然,也欢迎各位友善讨论,我是一名正在学习密码学的学生,欢迎更多人进入密码学的世界。
#免责声明#
①本站部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
②若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
③如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间解决!
④本站部分内容均由互联网收集整理,仅供大家参考、学习,不存在任何商业目的与商业用途。
⑤本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与任何商业和非法行为,请于24小时之内删除!