这篇论文是关于椭圆曲线加密的非常基础的介绍。虽然内容比较基础,但是对于椭圆曲线加密的门外汉来说,比较容易理解,适合初学者。
原标题:《一文读懂椭圆曲线加密学》作者:莱恩韦杰翻译:王泽龙
这是一个关于椭圆曲线密码的基本介绍。我假设这篇文章的大多数读者的目的是了解为什么椭圆曲线加密是一种有效的加密工具,为什么它是有效的。我在努力用通俗的方式解释。我将跳过演示和实现的细节,而是关注它的操作原理。
椭圆曲线的例子
它是做什么的?
椭圆曲线加密是一种加密数据的方法。只有特定的人才能解密。它在现实生活中有很多应用场景,但主要应用在于加密互联网上的数据和流量。例如,可以使用椭圆加密曲线来确保消息何时被发送,并且除了接收者之外没有人可以读取它。
尚力财经小编2022椭圆曲线加密是一种公钥加密技术
公钥加密有很多种风格,椭圆曲线加密只是其中一种。其他加密算法包括RSA、DiffieHelman等。我就简单解释一下公钥加密的一般背景作为开头,然后展开我们后续的论述,让大家对椭圆曲线加密有更深入的了解。在业余时间,你可以花一些时间研究公钥密码学。
如下图所示,公钥加密允许发生以下过程:
上图显示了两个密钥,一个公钥和一个私钥。这些密钥用于加密和解密数据,这使得世界上任何人都可以在传输过程中看到加密的数据,但无法读取信息。我们假设Fcebook会收到川普的私信。脸书需要能够确保当川普通过互联网发帖时,没有人(包括美国国家安全局或互联网服务提供商)能够阅读其中的信息。用公钥加密后, 整个数据传输过程呈现如下尚力财经小编2022状态:l Trump告诉脸书他将向后者发送私人帖子l脸书将其公钥发送给Trump
l Trump用公钥加密他的帖子:
“我爱福克斯和朋友”公钥="S80S1 S9 Sad JD S9 S" [ L Trump只向脸书发送加密信息
l脸书用他们的私钥解密消息:
"S80S1 S9 Sad JD S9 "私钥="我爱福克斯和朋友"
[x 接下来是一些关键点:l公钥可以发给任何人,而且是公开的l私钥一定要妥善保管,因为如果有人拿到了私钥,就可以解密信息l计算机可以用公钥快速加密消息,用私钥解密消息l如果没有私钥, 计算机破解加密消息可能需要非常长的时间(数百万年)才能完成工作原理:陷阱函数所有公钥加密算法的关键在于,它们都有自己独特的陷阱函数。 陷阱函数只能在一个方向上计算,或者至少很容易在一个方向上计算(使用现代计算机不到几百万年)不是陷阱函数:A B=C如果给A和B,我可以计算C .问题是如果给我B和C,我也可以算出A .不是陷门函数。 Trap函数:“我爱狐狸和朋友”公钥="s80s1s9sadjds9s"如果给我“我爱狐狸和朋友”公钥,我可以得到“s80s1s9sadjds9s”,但如果在RSA(可能是最流行的公钥系统)中,trapdoor函数主要取决于将大数并入其主因子的难度。公钥:944871836856449473私钥:961748941和982451653在上面的例子中,公钥是一个非常大的数。 这是一个很好的陷门函数的例子,因为很容易将私钥中的多个数字相乘来获得公钥,但如果你只有公钥,计算机将需要很长时间来重建私钥。注意:在真正的加密中,私钥的长度需要超过200位才能保证安全。是什么让椭圆曲线加密与众不同人们使用椭圆曲线加密的原因和RSA完全一样。它生成一个公钥-私钥对,并允许双方进行安全通信。但是椭圆曲线加密比RSA有优势。椭圆加密中256位密钥提供的安全性与RSA算法中3072位密钥提供的安全性相同。这意味着在智能手机、嵌入式计算机、加密网络等资源有限的系统中,与RSA加密算法相比,ECC使用的硬盘空间和带宽不到RSA算法的10%。(翻译注:也就是说,与RSA算法相比,椭圆曲线加密更节省资源,在资源有限的情况下更可行。)椭圆曲线加密的陷阱函数这可能是大多数读者看这篇文章的原因。这是椭圆曲线加密区别于RSA加密算法的部分,也是比较特殊的。陷印函数类似于水池中的数学游戏。让我们从曲线上的一点开始。我们用一个“点函数”来寻找一个新的点。重复“点函数”,绕着曲线跳跃,直到我们最终到达最后一个点。我们来看看接下来的整个算法。
l从A点开始;
l A点B=-C(从A点到B点画一条线,最后落在-C点)
l从-C穿过X轴反射到C;
l A点C=-D(从A点到C点画一条线,最后落在-D上)l从-D到D跨X轴反射;l A点D=-E(从A到D画一条线,最后落在-E上)l从-E反射到E穿过X轴这是一个很棒的陷门函数,因为如果你知道起点(A)在哪里,到达终点E需要多少跳,就很容易找到终点。另一方面,如果你只知道起点和终点的位置,那么几乎不可能找出到达终点需要多少跳。公钥:起点A,终点E;私钥:A到E 的跳数有问题吗?以下是我第一次了解椭圆曲线加密时的相关问题。希望能妥善解决。第二点怎么找?如果dot函数只是在两点之间画一条线,难道不需要第二点来帮助你入门吗?答案:不需要。第二个点(下图我们称之为-R点)其实就是P点函数P(假设第一个点叫p)p点函数P=-R那么,什么是P点函数P呢?其实就是p的切线,请看下图:
如果一个点函数产生一条会走向某个极值的直线会怎么样?如果直线没有到达原点附近的曲线,我们实际上可以定义一个最大的x值,在这里直线会绕回,从头开始。上述文章内容就是示例,请参见下图。我理解暗门功能,但实际中公钥和私钥是如何创建的?它们是如何与要加密的数据一起使用的?这是个好问题,但需要更深入的回答。在这篇文章中,我给出了一个关于RSA和椭圆曲线加密的通俗解释。但是,还有更多技术资源,期待大家去研究。