当前位置: 首页 > 科技观察

张三要考试作弊,用什么加密算法?不让老师发现?_0

时间:2023-03-21 12:21:15 科技观察

俗话说“不努力,考试全靠弟弟”。临近考试,作弊狂张三思索着如何在期末考试中作弊。据了解,张三所在的学校对考试有两条特殊规定:试卷在考前是密封的,监考人员不知道试题,考试过程中不能核对学生试卷的内容,所以老师无法知道正确答案。抓住学生作弊并提供证据。即使发现学生传纸条,如果老师不能理解或破译纸条内容,也不能算作弊。当然,这所学校的老师都有丰富的反作弊经验,比如B摸左耳,A摸右耳等等,都逃不过老师的眼睛。对称加密他一直梦想成为一名黑客。前天,他好像看了一本关于网络信息安全的书,里面提到了一种加密方式,叫做“对称加密”。这是一种使用相同密钥进行加密和解密的方法。数据发送方通过特殊算法将明文和加密密钥处理成非常复杂的加密密文,然后发送给数据接收方,数据接收方使用加密密钥和相同算法的逆算法来对密文进行解密,将密文恢复为明文。张三想:让李四这个学习成绩好的哥们把正确答案写在纸条上,用对称加密法把答案加密,然后传给我。即使老师拿到纸条,他也看不懂。内容,与我无关!照做吧,张三设计了如下作弊步骤:张三私下告诉李四:“y=3(key)”。在考场的黑板上写下:x+y=z(x代表答案,z代表加密后写在试卷上的密文)李四根据这个算法对答案进行加密,把z的值写在答案上,并传给张三张三得到纸条这样,由于y=3(密钥)只有张三和李四知道,即使监考老师拿到纸条,因为没有y的值,无法解密纸条上的纸条内容,他也无能为力。张三把自己的想法告诉了李斯,李斯沉思了一会儿,把其中的风险告诉了他:(1)如何保证密钥不泄露?万一我们在讨论关键的时候被其他同学发现了,请老师告知,我们的辛苦就白费了。(2)密钥管理困难。如果李斯解决不了这个问题,就只能求助于王舞了。你得和王舞商量一把钥匙。如果王舞不行,就得和其他同学商量一把秘钥。这样一来,键那么多,万一弄错了怎么办?事实上,对称加密有很多缺点。不甘心非对称加密的张三回去又开始翻书了。这次他找到了更好的方法——非对称加密。非对称加密算法需要两个密钥:公钥和私钥。它们是一对,公钥负责加密数据,私钥负责解密数据。非对称加密的优点是公钥是公开的。任何人都可以使用公钥加密数据,但只有私钥才能解密。只要张三牢牢掌握着私钥,任何人都无法解密这些数据。于是他开始设计作弊流程步骤:(1)张三在考场的黑板上写下:(((x*y)%1000)*m)%1000,x为三位数,y=91、y为公钥:取x和y的乘积后三位乘以m,取后三位李四用公钥加密答案,传给张三。张三得到加密数据后,用m=11解密数据注:比如本题正确答案是111,那么111乘以91=10101,取后三位101*11=1111,然后取最后三位数字得到111,可以还原答案。这是因为91*11=1001,任何三位数字乘以1001后的最后三位都不会改变。这就是为什么它用y=91加密但用m=11可以解密的原因。有了非对称加密,李四、王五等同学就可以用y=91(公钥)来加密答案。由于只有张三知道m=11(私钥),所以只有他才能解密还原答案。整个过程中,张三不需要把钥匙交给任何人,自然没有泄密的风险。密钥只需要一对(公钥和私钥),非常容易管理。设计好作弊方案后,张三兴奋地告诉了李四。学霸李斯听了点了点头,不过随即他又问了一个问题:相对于对称加密,非对称加密安全很多,但是计算起来比较麻烦。以前只是x+y=z,现在变成了计算(((x*y)%1000)*m)%1000。就这样,当李斯把答案传给张三时,张三只好拼命破译,考完了也未必能解出来。我应该怎么办?心有不甘的张三回去想办法……(未完待续……)