Difference between revisions of "Practice Everyday"

1,607 bytes added ,  12:14, 4 October 2023
Line 1: Line 1:
== Day 132 ==
== Day 132 ==
--- Eric version ---
'''公共密码学'''
最近已经快要学完数论了。这个课程编排的挺好,好戏压轴出场。这个“好戏”居然是公共密码学!
想想一个场景。A要和B说话,A和B只想和互相说话,不想泄漏信息。A和B在家里是完全被保护的。但是一旦A要和B说话,C就会偷听,并且C能够把他们说的每一个字都记得清清楚楚。这个时候A还可能和B私密交流吗?看起来非常困难,因为哪怕我们定制密码,我们也需要把密码告诉对方,但是C又在偷听,C就知道密码了。这是一个很让人挠头的情况,看起来左右横竖都是死。但是如果我们前后走就好了!这个能够在公共交流的情况下仍旧做到保密的学问就叫公共密码学。
我目前还没有学很多,但是有一个方法叫做“Rabin‘s Method”。这个方法就非常的有效,虽然破译和解密需要比较长的时间。数学里有一个概念叫质数,指的是出了1和本身以外不能被任何其他整数整除的数。如果我们把两个极大的质数乘在一起,别人解开这两个质数将会非常困难。于是B在家里制定一个数n,是两个极大的质数乘在一块的。B把这个数发给A,C也能得到这个数,但是C很难解出这两个质数。A把自己的消息转换成数字,算一下,然后发给B,同时C也能得到这个数字。B将试图破译,最后得到信息。这整个过程都是公共的,但是C却始终破译不了。
这就是公共密码学的神奇之处。果然是压轴戏啊!


== Day 131 ==
== Day 131 ==
270

edits