区区6位密码,凭什么守护我的百万家产?
2019/5/11 17:00:00超模君 中国科普博览

     今天超模君非常的开心

     你问为什么?当然是——

    

     又双叒可以买新的数学书好开心!

    

    

     不过在这欢快的气氛中

     超模君却听见了小天的叹气声

    

    

     玩笑归玩笑

     但是银行的密码系统真很安全的吗?

     今天我们就来讨论下密码学的问题

     接下来先请我们的御三家出场:

     在某个平行时空

     超模君、表妹和小天在同一所学校上学

     临近考试

     学渣表妹找到学霸超模君

    

    

     为了让表妹不挂科,

     超模君把选择题答案写在了小纸条上,

     并且在考前和表妹约定数字1234

     分别代表ABCD

    

    

    

    

     学霸超模君写完了选择题后,

     把答案写在小纸条上传给了小天,

     让小天把纸条传给表妹。

     可是超模君不知道除了表妹外,

     小天也是个学渣。

    

    

     考完试后超模君发现小天和自己的答案一样,

     马上就明白小天也在抄他的答案,

     超模君感到十分的不开心。

    

    

     于是在下次考试前超模君找到表妹并和她约定,

     把数字1、2、3、4分别乘以三,

     得到3、6、9、12

    

    

     表妹得到纸条后只需要

     把数字除以三就可以得到正确的答案。

     这种对答案加密的方式在密码学里称为

     对称性加密

     我们来看下它的具体表达

    

    

     虽然小天学习一般,

     但她并不笨。

     在考试后她对比了纸条数字和正确答案,

     发现了这个规律。

    

    

     在下次考试过后,

     超模君发现小天也考了很高的分数,

     而且错题又和自己一样,

     他知道小天已经破解了他的加密方法

    

    

     于是超模君回去后在网上疯狂的查阅资料,

     经过了几天的学习,

     超模君终于找到了一个稳妥的方法。

     考试前超模君找到表妹,

     给了她一张纸片,

     纸片上有20行数,

     每行有4个数字,

     4个数字为乱序的1、2、3、4。

     (如下图所示)

    

     超模君考试时传递的小纸条中第一个数字X1表示纸片中X1行里的第x1个数字,第二个数字X2开始表示下一行中的第X2个数。例如,超模君的纸条上数字为2123,那么根据上面的纸片从第二行开始找数字,得到答案2、4、2、2。(下图所示)

    

    

    

     这种加密的方式在密码学里被称为

     非对称性加密

     我们来看下它的具体表达:

    

    

     非对称性加密与对称性加密最大的区别就在于非对称性加密拥有两把钥匙,分别为私匙和公匙,其中只有公匙会传播出去,而私匙只会在自己手中,不会传播到外界

     在上面的例子中,私匙一直在表妹的手中,所就算小天截获了加密文件(有数字的纸条),但是没有私匙,也不可能知道答案,这大大提高了安全性。

    

    

     接下来我们就介绍一种应用广泛的非对称加密方法——RSA加密算法。

     RSA加密算法

     RSA算法是1977年由三位麻省理工学院教授——罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出。RSA就是他们三人姓氏开头字母拼在一起组成的。

     那么这种算法是如何加密的呢?我们一起来看看RSA算法:

    

     如何加密和解密?

     我们都知道互联网间信息的传输都为2进制的数字,所以我们设传输的信息的数字为m,接下来我们就可以得到加密公式:

    

     再来看看解密的公式:

    

     这个余数就是我们传输的信息——m

     如果这么说还不明白大家就来看个例子吧:

    

     为什么说它是安全的呢?

     在传输的过程中,e(公匙)、n(质数乘积)、c(余数)是可以被黑客窃听到的,但参考上面加密公式可以知道d(私匙)和ψ(n)没有参与加密过程,所以窃听者并不知道d和ψ(n)。

     那么窃听者能不能通过e、n、c算出私匙d呢?这里需要上面RSA算法中的3个公式:

    

    

     以上面例子为例,看看用这3个公式黑客能不能算出私匙d:

    

     这么一算有的人会觉得RSA密码也太好破解了吧!其实大家可能忽略了一个问题,n=91是一个小数,很容易进行质因数分解,但如果是一个1024位的大数呢?

     RSA最常用的n为1024位的二进制数字,换算成十进制约为308位,也就是1×10^308级的大数,没有公式可以对这么大的一个数进行质因数分解,想硬解就需要用穷举法一个个的试出p、q。

     那么,用普通计算机进行穷举需要花费多久的时间呢?答案是整整一年。也就是说黑客年初开始破译,等年尾才能破解完。

    

    

     随着科技的进步,现在的量子计算机已经可以做到一个星期破解,但相应也出现了更安全的量子加密的手段,并且银行每隔一段时间也会更新数字证书。

     所以不要小看小小的6位银行卡密码,它背后所隐藏的一大串数字信息,是绝大部分黑客都破解不了的。

     总的来说:银行的密码系统十分的安全

     以上仅为举例,不要学习哦~

     来源: 超级数学建模

     本文已获转载授权,如需转载请联系原作者

    

    

    

    

    

    

     转载注明出处 未经授权不得转载

     转载授权、合作、投稿事宜,联系webmaster@kepu.net.cn

    

    点这里告诉我你在看

    

    http://weixin.100md.com
返回 中国科普博览 返回首页 返回百拇医药