基于密码学技术的创新应用研究报告
- 竞赛认知
内容要求:介绍对全国密码技术竞赛(作品赛或科普赛均可)和参赛作品内容的认知。
全国密码技术竞赛由国家密码管理局指导,中国密码学会主办。竞赛旨在“提高密码意识、普及密码知识、实践密码技术、发现密码人才”,主要面向全国高等院校学生,是国内级别最高、影响力最大的密码技术大赛。全国密码技术竞赛是一项专注于密码学领域的竞赛,
竞赛的主要内容和形式包括作品赛和科普赛。我参加的是科普赛,着重讲一下科普赛,他要求参赛选手交一份5分钟内视频,来向大众介绍清楚一个密码学的知识点。
我看了前两界的作品,感觉收获颇丰其中有非常精良的科普视频,密码学博士亲自科普,也有非常新颖的方式,例如相声、说唱和ai人物,但可能是刚开始作品的内容有重复,选题有重复。
- 内容认知
内容要求:对某种密码技术(哪种技术均可,不做限制),如国密算法(如SM2、SM3、SM4),或者某种具体的同态加密算法(如paillier,RSA,GSW,CKKS),或者自己熟知的安全类算法,或者课上讲述的知识点,或者区块链相关知识等等,进行介绍,并阐述个人认知。
我来介绍一下在课上学到的一种端到端通信协议——Signal通讯协议
Signal协议是由Open Whisper Systems开发的一种端到端加密协议,旨在确保即时通讯的安全性和隐私性。该协议已被广泛应用于各种通讯应用中,如Signal、WhatsApp和Facebook Messenger。Signal协议综合了多种加密技术,包括X3DH密钥交换、双重棘轮算法和AES加密等,以实现高安全性的通信。
核心组件
X3DH密钥交换协议:用于安全地交换初始密钥。它通过多次Diffie-Hellman交换生成一个共享的会话密钥,从而确保初始通信的安全性。
双重棘轮算法(Double Ratchet Algorithm):用于生成后续会话密钥。每次消息发送或接收时,协议都会更新密钥,使得每条消息都有独立的加密密钥。这提供了前向保密性和后向保密性,确保即使某一密钥被泄露,之前和之后的通信内容仍然安全。
协议流程
初始密钥交换:使用X3DH协议,通信双方交换初始密钥,生成共享的会话密钥。
密钥派生:使用双重棘轮KDF和DH棘轮算法,生成并更新会话密钥。每次发送或接收消息时,密钥都会更新,以确保每条消息都具有不同的加密密钥。
消息加密:使用AES对消息内容进行加密,并使用HMAC-SHA256进行消息认证。加密后的消息包含密文、消息标识符和消息认证码。
消息解密:接收方使用相同的密钥解密消息,验证消息认证码,以确保消息的完整性和真实性。
个人认知
优点
高度安全性:Signal协议采用了多种先进的加密技术,确保通信的高度安全性。双重棘轮算法的引入,使得每条消息都有独立的密钥,提供了强大的前向和后向保密性。隐私保护:协议设计充分考虑了用户隐私,不仅保护消息内容,还尽量减少元数据的泄露。消息加密确保只有通信双方能看到消息内容,服务器无法解密。广泛应用:Signal协议的安全性得到了广泛认可,被多个主流通讯应用采用,证明其在实际应用中的可靠性和有效性。开源和透明:Signal协议是开源的,代码和设计文档公开,接受全球安全专家的审查和验证。这种透明性增加了用户对其安全性的信任。
局限性
计算资源需求:双重棘轮算法和多次加密操作对设备的计算资源有一定要求,可能在低端设备上导致性能下降。依赖信任的中介:虽然消息内容是端到端加密的,但初始密钥交换和消息传递仍需要信任服务器。尽管服务器无法解密消息,但仍可能成为攻击目标。复杂性:协议实现的复杂性增加了开发和维护的难度。开发者需要深入理解协议细节,以确保实现的安全性和正确性。
Signal协议在现代安全通讯中发挥了重要作用,通过先进的加密技术提供了高度的安全性和隐私保护。虽然存在一定的计算资源需求和实现复杂性,但其在确保通信内容和用户隐私方面的优异表现,使其成为端到端加密通讯的标准之一。通过广泛的应用和开源透明的优势,Signal协议为用户提供了可信赖的安全通讯解决方案。
- 内容呈现
内容要求:1.作品赛:①找到一个具体的算法代码(即《二、算法认知》中选出的某个具体算法),并列出;②使用一种熟悉的计算机编程语言(语言不限,C、JAVA或者Python)进行本地实现,并附截图。2.科普赛:①参与竞赛的话,进行自己制作视频的部分截图,进行思路阐述(如有作品剧本,直接粘贴即可);②若没有参加竞赛,请在官网上找出一个往年获奖的作品,进行视频部分截图,谈谈认知和感悟。
- 量子密钥分发(QKD)
[开场动画]
旁白:
欢迎来到我们的密码学科普系列!今天我们将深入探讨一个未来的安全通信技术——量子密钥分发(QKD)。
[画面切换到主持人,站在一块显示“Quantum Key Distribution (QKD)”的白板前]
主持人:
大家好,我是[主持人姓名]。在信息时代,保护数据的安全性比以往任何时候都更重要。今天,我们将讨论一种前沿技术,量子密钥分发,它利用量子力学的原理来实现绝对安全的密钥分发。
[画面切换到展示经典加密方法和其安全漏洞的动画]
旁白:
在传统加密方法中,无论是对称加密还是非对称加密,都依赖于复杂的数学难题来确保安全。然而,随着量子计算的发展,这些难题可能被快速解决,传统的加密方法将面临巨大的安全威胁。
[画面切换到展示量子力学基本原理的动画]
主持人:
在这里介绍一些量子力学的原理:
叠加态:一个量子比特,可以处于多个状态的叠加。
不可克隆原理:不可能构造一个能够完全复制任意量子比特,而不对原始量子位元产生干扰的系统。量子力学的线性特征是这个原理的根本原因。
[白板上显示出量子比特的叠加态示意图]
主持人:
这种性质在量子密钥分发中被巧妙地利用,确保密钥的绝对安全。
[画面切换到QKD的工作流程动画]
旁白:
让我们来看看量子密钥分发的工作流程。最著名的QKD协议之一是BB84协议,由Charles Bennett和Gilles Brassard于1984年提出。
[白板上画出两个头像,标注为“发送者Alice”和“接收者Bob”]
主持人:
在BB84协议中要求通信双方拥有一条量子信道的同时,还拥有一条传统信道。,Alice想要给Bob发送一个密钥。她会使用4种状态的量子作为信使,一系列量子比特来表示密钥的各个比特,每个量子比特都处于一个随机的叠加态。Bob需要2种量子接收器;
我们可以理解为量子有两组共4种状态,分别为横竖和撇捺。它们只能通过对应的接收器,横量子通过“+”接收器表示为横,通过“x”接收器表现为撇或捺。
我们做如下定义接收到“竖”代表0,那么收到“横”代表1,接;接收到“撇”代表0,接收到“捺”代表 1。
[动画展示Alice生成量子比特并通过光纤发送给Bob]
旁白:
Alice选出一串二进制串(例如:01101100001001),命名为S作为密钥。
Alice为S的每一位随机选择基矢(“+”接收器或“x”接收器)。Alice根据选择的不同形状接收器,用相应的量子态(如:竖、撇、捺、横)发送每一位。
假设S是:0110
Alice选择基矢并发送:
0(“+”接收器)→ 竖态
1(“x”接收器)→ 捺态
1(“+”接收器)→ 横态
0(“x”接收器)→ 撇态
Alice将这些量子比特通过光纤发送给Bob。
[画面切换到Bob测量量子的动画]
主持人:
Bob在接收到量子比特后,随机选择两种接收器来测量接收到的量子态,得到一串0、1的二进制串。
Bob随机选择基矢测量:
竖态(直线基)→ 0
捺态(对角基)→ 1
横态(对角基)→ 随机(可能是0或1)
撇态(直线基)→ 随机(可能是0或1
之后,Bob通过公共信道告诉Alice自己用哪种接收器来测量每一位。Alice对比自己的发送接收器,告诉Bob在哪些位上接收器匹配(集合C)。
[画面切换到主持人发出疑问]
如何确定量子密钥在传输中没有被偷窥呢?
[画面切换到Bob与Alice通过公共信道进行对比的动画]
Bob会从集合C中随机挑选一部分位(集合D),将这些位的测量结果发送给Alice。
Alice验证Bob的测量结果,由于同一量子在经过相同接收器时候状态不会改变,所以Alice和Bob选取同一种选择器理论来说测得的结果应该一致。如果一致,双方通过公共信道选择集合C其他的位作为密钥。不一致则说明有人窃听,放弃此次协商并重新协商。
[画面切换到安全性保证]
1. 传统信道上的窃听
Alice和Bob在公共(传统)信道上交换信息。窃听者Eve可以窃听这些信息,但这并不会危及密钥的安全性,原因如下:
Bob仅公布测量基矢:Bob仅告知Alice他用哪些基矢测量,但不公布测量结果。Eve即使知道Bob的测量基矢,也无法知道量子态的实际比特值。
2. 量子信道上的窃听
量子信道的独特性质使得在传输过程中检测到窃听行为成为可能:
测不准原理:Eve在量子信道上窃听时,必须选择一组随机基矢进行测量。但由于她无法预知Alice的基矢选择,她的测量会导致量子态的不可预测改变。
量子态改变检测:由于Eve的干扰,量子态会被改变,这会导致Bob在测量时得到随机结果。这些改变会在Alice和Bob的基矢对比和误码率检测中被发现。
[画面切换到展示量子密钥分发应用场景的动画]
主持人:
量子密钥分发已经在实际应用中展现了巨大的潜力。例如,金融机构可以使用QKD保护敏感交易数据,政府机构可以通过QKD确保机密通信的安全。
[展示量子密钥分发设备和实际应用场景的图片]
旁白:
目前,我国在量子密钥分发领域走在前沿。2023年6月,北京量子信息科学
究院袁之良团队与南京大学尹华磊合作,首次在实验上实现打破安全码率-距离界限的异步测量设备无关量子密钥分发(也称模式匹配量子密钥分发),成功实现508公里光纤量子通信,以及破纪录的城际密钥率和双光子干涉距离。未来我们可以期待它在更广泛的领域中普及。
[画面回到主持人]
主持人:
总结一下,量子密钥分发利用量子力学的基本原理,提供了一种极其安全的密钥分发方法。尽管它目前还处于发展阶段,但随着技术的进步,QKD有望成为未来信息安全的重要支柱。
[结尾动画,展示“谢谢观看”]
旁白:
感谢观看本期视频。
- 主场景 课堂
人物:老师(一名),学生(待定)
燥热的天气,教室内,老师正在讲课,学生睡眼朦胧
老师(a.看着黑板,讲授相关内容b.拿着书进行讲授):(密码学有关的无聊知识,内容暂定)
老师讲话被打断
学生甲(有气无力地):老师,这密码学也太无聊了吧,现实中又没什么用,为什么要讲这种东西啊?
老师(微笑):话可不能这么说,这密码学啊,古往今来,在现实中可是大有用处!
学生乙:那您就跟我们说说它到底有什么用呗。
老师(a.离开黑板走到讲台,面向学生b.合上书,面向学生):好,那我就来跟你们讲讲这密码学到底有什么用处。
接场景一
场景一 波希战争(隐写术)
人物:薛西斯(波斯国王),德马拉斯图(住在波斯的希腊人),检查木板的士兵(待定),战斗士兵(待定)
镜头待定(天空、景物?)
老师(画外音):最早地密码技术可以追溯到两千五百年前的波希战争,波斯帝国打算袭击希腊。
镜头拍摄人物
薛西斯(愤怒地):可恶的希腊人,竟然不向我们进贡(砸桌子),我要打造一支有上千艘战舰的舰队偷袭希腊!
长镜头转到角落,拍摄德马拉斯图
老师(画外音):这件事却被一个住在波斯的希腊人--德马拉斯图知道了。
德马拉斯图(担忧地,惊慌地):这下不好了,我一定要将这件事告诉我的祖国。可是怎样才能在不被发现地情况下将消息传出去呢?
德马拉斯图灵机一动
德马拉斯图(高兴地):有办法了。我把消息写在木板上,再用蜡将木板封住,就没人发现我要传递的消息了。
切镜头,拍摄人物动作。德马拉斯图将一块上了蜡的木板的蜡刮去,刻上消息,再将蜡封上
老师(画外音):最终,德马拉斯图利用这个办法,在不被发现的情况下将消息传递给了希腊。
拍摄战斗场景
老师(画外音):因为希腊提前得知了消息,做足了准备,最终大获全胜。
希腊士兵打倒波斯士兵,站在倒下的波斯士兵旁
希腊士兵(笑道):哈哈哈!没想到吧,愚蠢的波斯人,你们的计划早就被我们知道了!
接主场景
由场景一接回
学生甲(质疑地):可是他不过是运气好,这样的小伎俩还是很容易被发现的。看来密码学也不像您说的那样大有用处。
老师(微笑):先别急,这只是密码学的前身,真正谈到密码技术在现实中大放光彩,就不得不提凯撒密码了。
接场景二
场景二 凯撒密码
人物:凯撒大帝(罗马大帝),传递情报的士兵(一名),截获情报的士兵(一名),传令士兵(一名)
镜头拍摄传递情报的士兵
老师(画外音):罗马战争时期,凯撒大帝因为军中情报总是被截获而烦恼
传递情报的士兵被截获情报的士兵击倒,情报被夺走
截获情报的士兵(笑道):哈哈哈,这下你们的秘密我可全都知道了!
镜头拍摄愁眉苦脸的凯撒
凯撒(疑惑地,苦恼地,摸下巴或敲脑袋,皱眉头):有没有什么办法让传递的情报只能被我的部队读懂呢?
凯撒眉头舒展,拍手,灵机一动
凯撒(惊喜地):有了,我把每个字母按字母表中顺序向后移动三位变成新的字母,这样敌人就只能看到一堆乱码。而我的部下只需要将加密后的字母按同样的方法向前移动三位,就可以得到真正的情报。
凯撒抬笔写字,写完后拿起纸看了一眼,露出满意的笑容。随后身体转向一旁的士兵
凯撒(威严地):传令下去!
传令士兵半蹲下去待命
凯撒:以后军中情报,统统按照这种方式来写。
凯撒将刚才写过字的纸交给士兵,士兵接过纸
凯撒(不屑地笑道):我就不信你们还能看懂我们的情报。
接主场景
由场景二接回
老师:在当时那个年代,这样的密码几乎无法破译。而且凯撒密码的密钥可以随时更换,从而加大了破译它的难度,因此,许多后世代密码都是基于凯撒密码来设计的。凯撒密码的出现是密码起源的一个标志,它为后来乃至现在密码学的发展都做出了巨大的贡献。
学生乙:没想到密码学起源得那么早,还能在战争中发挥巨大的作用。
学生甲(不屑地):那又怎样,也不过是在古代战争中发挥作用了而已。
老师:唉,那你可就说错了。密码技术的使用,在二战时期,可是起到了至关重要的作用。
接场景三
场景三 图灵破译英格玛密码
人物:图灵,希特勒,图灵的助手(若干)
拍摄镜头待定
老师(画外音):二战时,德军用来加密情报的密码机是由德国发明家亚瑟·谢尔比乌斯发明的英格玛密码机。
镜头拍摄希特勒,a.讲话b.在纸上演绎加密过程c.动画或ppt演绎加密过程
希特勒(拿起纸看着电文,高兴地):哈哈!我们的密码机从五个转子中选取三个安装,每个转子有二十六个字母选择。每输入一个字母,最右边的转子转一格,转满一圈后中间的转子会转一格。再选两个字母进行接线,共可选十条接线。而且发送密文时,我们随机选三个字母重复一次后进行正常加密,六个字母放在密文开头,将转子调整为随机选择的这三个字母后开始加密。想解密的话,得先解密前六个字母,根据前三个字母的明文调整转子后再继续解密。这样一共有一百五十多万亿种字母组合,敌人根本无法破解。
镜头拍摄图灵和他的助手在忙着破译密码
图灵(严肃地):让我用“炸弹机”试试能否破解他们的密码。
画面插入炸弹机的图片
老师(画外音):“炸弹机”是图灵造出的用于辅助数学计算的机器,起初图灵想采用穷举法暴力破解德军密码,但效率非常低。
图灵(失望地):这根本没用,炸弹机要把每个字母都试足二十六遍,等到破译出来,德军早就换了新的设置。
图灵看着纸上的密文,瞪大了眼睛
图灵(突然想到):唉?德军好像有每天早上发送天气预报的习惯,我可以把这一点当作突破口。而且他们的密文中会高频出现一个相同的词,会不会是什么口号呢?难道是“希特勒万岁”?
远景,拍摄图灵的破译工作
老师(画外音):正是这两个发现在图灵的破译工中起到了决定性的作用。
拍摄图灵破译密码的方法,在纸上进行演绎,可参考b站视频
图灵(高兴的):我想的果然没错,英格玛密码机的本质是字母替换,因此字母的加密结果不会是字母本身,所以可以利用这一特性去猜测明文字母对应的密文。我拿明文“天气(wetter)”与截取的密文从左到右对每个字母一一进行对比,看看是否有重复字母存在,如果没有,那这串字母就很大可能是选定明文对应的密文值
拍摄图灵正在破译密码
图灵:有了这个单词明文对应的密文值后,再利用这个信息进行破译,计算量果然小了很多。
老师(画外音):最终成功破译了英格玛密码,极大地推动了盟军在二战中获胜的速度,挽救了成千上万的生命。
接主场景
由场景三接回
- 应用拓展
内容要求:基于某种具体算法,思考并阐述该算法的应用场景或在哪些方面可以进行应用(如果是毕业班同学,可以阐述选定的算法,在自己毕设中可以怎么进行结合应用;非毕业班同学,可以阐述未来毕设时,怎么进行结合应用)。
密钥分发
客户端会向密钥管理系统申请一个会话密钥;
密钥管理系统会通过我国自主的密码(国密)非对称加密算法SM2生成会话密钥和一个随机数,会话密钥正是此次要分发给客户端的密钥,随机数则是要通过国密对称加密算法SM4对会话密钥进行对称加密;得到密文1;
客户端的公钥则会对随机数进行非对称算法SM2加密,得到密文2;
会话密钥会同时被国密算法SM3哈希得到哈希摘要,密钥管理系统会用自己的私钥加密这个摘要,得到密文3;
密钥管理系统把这三份密文整合发送给客户端。
客户端收到后首先会用自己的私钥通过SM2解密得到密文2及随机数;
接着会用得到的随机数通过对称加密算法SM4解密得到待验证的会话密钥,客户端会对此会话密钥保持怀疑用SM3算法进行哈希得到哈希摘要;
同时客户端会用服务器的公钥通过SM2解密得到服务器端的哈希摘要,对两个摘要进行比对,如果相同则证明会话密钥是安全的,则使用此会话密钥。
我们在毕业设计遇到做某个信息系统所需要密钥的安全发送,就可以采用这种方法
五、总结
内容要求:写出此次报告的心得和体会。
首先,我参与了这次的密码学科普竞赛,在准备竞赛内容的时候研究了竞赛的往期作品,里面给了我很多灵感和启发,也让我回想起来大学所学到的密码学技术,例如密钥分发,X3DH,Signal等等,有些已经有所遗忘,此次也是加深巩固了对这些密码学技术记忆,与此同时我也新学习了量子密钥分发的过成和简单原理,同时知道了中国目前在量子密码处于世界领先地位,同时我也为了大四毕业设计有所思考,可以把所学以致用,这是我非常有成就感。
标签:基于,创新,加密,密码,密钥,Bob,密码学,量子 From: https://www.cnblogs.com/maqun/p/18517091