欢迎访问Allbet!

卡利系统:极简椭圆曲线密码学入门:公钥密码学ECC

2周前16℃

皇冠官网app

皇冠官网app(www.huangguan.us)提供最新皇冠登录,皇冠APP下载包含新皇冠体育代理、会员APP。

本文旨在简朴先容椭圆曲线密码学(elliptic curve cryptography)。本文预设读者的阅读目的是想知道为什么 ECC 是一个有用的密码学工具及其基本原理。我的目的是给出广义的注释,我将省略一些证实和实现细节,聚焦于抽象的原理。

卡利系统:极简椭圆曲线密码学入门:公钥密码学ECC 第1张

- 椭圆曲线示例 -

ECC 有什么用途?

ECC 是一种加密数据的方式,只有特定的人才气对其举行解密。在现实生活中,ECC 有一些常见的用例,然则最主要的用途是加密互联网数据和流量。例如,ECC 可以用来确保在发送电子邮件时,除收件人以外没人可以阅读邮件内容。

ECC 是一种公钥密码学

公钥密码学的类型有许多,ECC 只是其中一种。此外另有 RSA、Diffie-Helman 等算法。首先,我要简朴先容一下公钥密码学的靠山,然后再讨论 ECC 以及这些观点基础上的高层建筑。请列位读者在有空时深入学习一下关于公钥密码学的知识。

公钥密码学的运作方式如下图所示:

卡利系统:极简椭圆曲线密码学入门:公钥密码学ECC 第2张

- Wikia.org -

上图显示了两个密钥:公钥和私钥。这两个密钥划分用来加密和解密数据。这样一来,加密数据在传输的历程中,全世界的人都可以看到(密文),却无法知道其内容。

假设 Facebook 将要收到来自特朗普的私信。Facebook 需要确保特朗普在通过互联网发送私信时,没有中心方(国家平安局、互联网服务提供商)能够读取该私信。在使用公钥密码学的情况下,整个历程如下:

  • 特朗普通知 Facebook 说他想发送一封私信给 Facebook

  • Facebook 将自己的公钥发送给了特朗普

  • 特朗普使用该公钥加密了私信:“I love Fox and Friends” + Public Key = “s80s1s9sadjds9s”

  • 特朗普将加密后的私信发送给 Facebook

  • Facebook 使用私钥解密该私信 “s80s1s9sadjds9s” + Private Key = “I love Fox and Friends”

如你所见,公钥密码学是一个异常有用的手艺。以下是一些要害点。

  • 公钥可以发送给任何人,它是公然的。

  • 必须保护好私钥。若是中心方获得私钥,他们就能解密私信。

  • 盘算机可以使用公钥快速加密新闻,使用私钥快速解密新闻。

  • 若是没有私钥,盘算机需要很长一段时间(数百万年)才气暴力破解加密新闻。

公钥密码学原理:陷门函数

对于所有公钥密码学算法来说,最要害的是它们都有自己怪异的陷门函数(Trapdoor Function)。陷门函数是一种只能单向盘算,至少是只在一个偏向上易于盘算的函数。(若是使用现代盘算机从另一个偏向暴力破解,需要数百万年时间。)

非陷门函数的例子:A + B = C

已知 A 和 B,我就能盘算出 C 。问题在于,在已知 B 和 C 的情况下,我也能盘算出 A 。这就是非陷门函数。

陷门函数:

“I love Fox and Friends” + Public Key = “s80s1s9sadjds9s”

已知 “I love Fox and Friends” 和公钥,我可以盘算出 “s80s1s9sadjds9s” ,然则已知 “s80s1s9sadjds9s” 和公钥,我无法盘算出 “I love Fox and Friends” 。

在 RSA 算法(可能是最受迎接的公钥系统)中,陷门函数取决于将一个伟大的数分解成质因数的难易水平。

公钥:944,871,836,856,449,473 私钥:961,748,941 和 982,451,653

在上述例子中,公钥是一个很大的数,私钥是公钥的两个质因数。这是一个很好的例子,由于将私钥中的数相乘,很容易就能算出公钥,然则你只有公钥的话,需要很长时间才气使用盘算机算出私钥。

,

Allbet官网

欢迎进入Allbet官网(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

注:在真正的密码学实践中,私钥的长度必须跨越 200 位才气被视为是平安的。

椭圆曲线密码学有什么差别?

ECC 与 RSA 的用途相同。ECC 会天生一个公钥和私钥,允许双方平安通讯。不外,ECC 相比 RSA 有一大优势。一个 256 位的 ECC 密钥与一个 3072 位的 RSA 密钥平安性相同。也就是说,在资源有限的系统(如智能手机、嵌入式盘算机和加密钱币网络)中,ECC 密钥需占用的硬盘空间和带宽是 RSA 密钥的 10% 不到。

ECC 的陷门函数

重点来了。ECC 与 RSA 的主要区别在于陷门函数。ECC 的陷门函数类似于数学版的台球游戏。我们先在曲线上找到一个特定的点,然后使用函数(通常称为点函数)在曲线上找到一个新的点,接着重复使用点函数,在曲线上不停跳跃,直到找到最后一个点为止。我们来看一下该算法的详细步骤:

- arstechnica.com -

  • 从 A 点最先:

  • A dot B = -C(从 A 点至 B 点画一条直线,与曲线相交于 -C 点)

  • -C 点经由 X 轴反射到曲线上的 C 点

  • A dot C = -D (从 A 点至 C 点画一条直线,与曲线相交于 -D 点)

  • -D 点经由 X 轴反射到曲线上的 D 点

  • A dot D = -E (在 A 点至 D 点画一条直线,与曲线相交于 -E 点)

  • -E 点经由 X 轴反射到曲线上的 E 点

这是一个很棒的陷门函数,由于若是你知道起点(A)在那里,以及到达终点(E)需要履历多少次跳跃,很容易就能找到终点。然则,若是你只知道起点 A 和终点 E 在那里,险些不可能知道中心履历了几回跳跃。

公钥:起点 A 、终点 E 私钥:从 A 点至 E 点需要履历几回跳跃

几点疑问

以下是我首次学习 ECC 时遇到的几点疑问,以及我的解答。希望能给列位读者带来辅助。

若何找到第二个点?若是点函数主要依靠在两个点之间画一条直线,我们不需要知道第二个点在那里(就能最先盘算)吗?

回覆:不需要,由于第二个点(假设是 -R)实际上是 P dot P(假设第一个点是 P)得出的效果。

P dot P= -R

那什么是 P dot P?它实际上就是一条经由 P 点的切线。参见下图:

- f5.com -

若是点函数发生的直线与曲线的交点距离原点太远,那该怎么办?

若是直线与曲线的交点距离原点太远,我们可以界说一个最大值 X 。若是跨越 X 值,直线就会绕回来,从 Y 轴重新最先。如下图所示:

- arstechnica.com -

我发现了一个陷门函数,若何建立公钥和私钥?若何用它们来加密数据?

这是一个很好的问题,然则需要更深入的解答。在本文中,我只想简朴注释 RSA 和 ECC 。列位读者可以查阅更多手艺资料来领会详细细节。

(译者注:虽然作者在原文中自述学习椭圆曲线密码学是出于自己对比特币和数字钱币的兴趣,但此处所讲述的原理集中在加解密上,还未涉及椭圆曲线在数字钱币(至少是以太坊)中的主要用途:验证买卖的权威性。在以太坊中,用户发送买卖的历程并不是使用公钥或私钥加密买卖数据,而是使用私钥对买卖数据署名,这些署名信息随买卖发送,获得这些署名信息的节点可使用椭圆曲线算法恢复出一个地址,与买卖原始数据比对即可知该笔买卖是不是由有权使用该地址的用户发出的。)

原文链接:

https://blog.goodaudience.com/very-basic-elliptic-curve-cryptography-16c4f6c349ed

作者: Lane Wagner

翻译&校对: 闵敏 & 阿剑

上一篇:欧博app:裁判周 | 赛场,也信赖眼泪

上一篇:环球ug客户端下载:​希腊一食品厂191人熏染新冠病毒 企业被关闭一星期

猜你喜欢

请发表您的评论

最新文章
热门文章
热评文章
热门标签
随机文章