密码世界大有学问
? ? ? ? 5月24日下午,中山大学数据科学与计算机学院的林瀚博士应邀参加我校的“数学周”活动,林博士带领我们初一学生开启了一趟神奇的密码之旅讲座——介绍了基础的加密和解密算法的原理,讲座初步涉及到初等数论知识,林博士还演示了如何用Python语言来快速实现相关算法。

? ? ? ? 林教授首先分享了如何解密“古典加密技术之凯撒密码”;加密者先查找明文字母表,寻找加密消息中的每一个字母所在位置,并写下密文字母表中对应的字母。解密人则根据事先已知的密钥反过来操作,得到原来的明文。例如:
? ? ? ? 明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
? ? ? ? 密文:VKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ
? ? ? ? 林博士指出,破解凯撒密码的方式有两种,一是暴力破解,即暴力枚举密钥,二是频率分析,即统计每个符号出现的频率。
? ? ? ? 接着,林博士给我们解释了何为“现代加密技术之RSA算法” 以及RSA算法,即密钥生成。每个密钥由两个数字组成,公钥是两个数字:n和e,私钥是两个数字:n和d,生成这些数字分三步:(1)随机生成两个不同的大素数p和q,将这两个数相乘,得到n。(2)生成一个随机数e,e与(p-1)*(q-1)互质。(3)通过计算找到一个数d,使得d*e除以(p-1)*(q-1)的余数等于1。需要注意的是:n和e都是公开的,只有d是保密的。

? ? ? ? 密码学也应用在我们现实生活当中,例如区块链里面就有数字签名。数字签名是非对称密钥加密技术与数字摘要技术的应用。只有信息的发送者才能产生的无法伪造的一段数字串,这是发送信息真实性的一个有效证明。数字签名可以防止数据被伪造、数字被篡改,实现客户的身份认证。
? ? ? ? 这次讲座大大拓宽了我的知识面,引发了我对密码学的好奇心。听完讲座后,我在网上“百度”了一下“林瀚博士”,发现他曾指导学生参加CCPC中国大学生程序设计竞赛获得金牌近百枚,2019-2021年分别带领队伍获得全国团体第七名,第五名和第三名,连续三年打破了中山大学在这项赛事上的历史最佳成绩纪录。多么希望未来的我也能够参与这些竞赛!相信不少同学也和我一样,在林博士的启蒙下,在心中悄悄种下一颗热爱密码、热爱编程的种子!


?