这节课先请了一个老师讲了讲量子计算机,但是整篇下来听得我一头雾水,所以直接放弃。然后后面又补充了椭圆曲线的部分。
首先回忆一下之前讲过DH 以及RSA算法,利用两个素数来进行计算,理论上这个方法很好,但是由于计算机的硬件是不断发展的。CPU啊GPU啊都不断增强,因此计算出某一个半素数的因子能力也变得越来越强,所以人们就不断的把两个素数增大,这样就导致了加密计算的时候需要更多的时间,而假设未来计算机继续发展,除了把素数增大,别其他好办法。因此椭圆曲线就诞生了,目的就是仍然满足加密需求,但是降低计算需求。
这是一个纯数学公式,但是我真心没搞懂这个。
椭圆曲线呢,满足y^2=x^3+ax+b这个公式,然后水平对称,任意一条非垂直线都会与该曲线有3个交点。
这里dot没搞懂什么意思,下文解释很好,但是我匮乏数学知识,因此看的很懵,放弃。
https://zhuanlan.zhihu.com/p/36326221
但是可以知道的是,2个点的情况下,一个初始点可能要dotted n次才会到达最重点,而只知道初始点和最重点的情况下想知道n是非常难得。
在加密这里,我们限定points的值仅仅为整数,假如最大为素数,则该椭圆曲线被称为素椭圆。该椭圆有加密属性。
如上图所示,选择一个素数作为 最大,然后一个椭圆等式,一个椭圆曲线上的点public point。私钥就是一个number,而公钥则是public point dotted 很多次直到私钥。
该网站就是使用ECC,可以打开后点击左上角小锁头的符号看到:https://malware.news/
ECC的key sizes比RSA小很多,ECC 160 bit = RSA 1024 bit security。ECC可以用在交换密钥,信息保密,数字签名等等