一文读懂椭圆曲线加密学

  • 时间:
  • 浏览:0
  • 来源:大发时时彩_时时彩手机版ios_大发时时彩手机版ios

声明:本文来自于微信公众号蓝狐笔记(ID:lanhubiji ),授权站长之家转载发布。

前言:本文是关于椭圆曲线加密的非常基础的介绍。内容真是基础,但对于椭圆曲线加密的门外汉来说,简单易懂,适合于初学者。本文作者Lane Wager,来源于medium,由“蓝狐笔记”公众号社群的“王泽龙”翻译。

这是一篇椭圆曲线密码学的基本介绍。我假设本文的绝大多数读者来这里的目的是:了解为何会 会 椭圆曲线加密是本身有效的加密工具,以及它为何会 会 有效。我试图用通俗的辦法 来解释它,我将跳过论证与实现的细节,转而聚焦在其运行原则上。

椭圆曲线示例

它是做什么的?

椭圆曲线加密是本身加密数据辦法 ,没人特定人,不还可不能不能对其进行解密。它在现实生活中有 有时候 应用场景,但其主要应用在于加密互联网上的数据与流量。相似,椭圆加密曲线都要用于确保一封邮件啥时候发送,且除了收件人外无人都要读取该邮件。

椭圆曲线加密是公钥加密技术

公钥加密风情万千,椭圆曲线加密只是其中本身风味。有时候 加密算法还有RSA,DiffieHelman,等等。我将简单交代公钥加密的大体背景作为开头,进而展开亲们后续的阐述,以此更深入理解椭圆曲线加密。有空时,如果 花些时间深入研究公钥密码学知识。

如下图所示,公钥加密允许以下过程处在:

http://itlaw.wikia.com/wiki/Key_pair

上图展示了一个钥匙,一个公钥和一个私钥。什么密钥用于加密和解密数据,这使得世界上的任何人都要在传输时就看加密数据,但无法读取信息。

让亲们假设Fcebook将收到来自特朗普的私密贴。Facebook都要不要再还可不能不能确保特朗普通过网络发文时,没人(包括N S A或互联网服务供应商)可在其中阅读该消息。使用公钥加密后,整个数据传输过程呈现如下状态:

l 特朗普告知Facebook他将向后者发送一篇私密帖

l Facebook将其公钥发送给特朗普

l 特朗普使用公钥加密其帖子:

“我喜爱福克斯(Fox)与亲们们”+公钥=“s400s1s9sadjds9s”

l 特朗普只把加密后的信息发送给Facebook

l Facebook使用亲们的私钥解密消息:

“s400s1s9sadjds9s” +公钥=“我喜爱福克斯(Fox)与亲们们”

如你所见,这是一项非常有用的技术。以下是其中的有时候 要点:

l 公钥可发送给任何人,它是公开的

l 私钥都要被妥善保管,有时候 有时候 某人获取了私钥,亲们便都要解密信息

l 计算机都要越快地用公钥来加密消息,并用私钥来解密消息

l 有时候 没人私钥,计算机有时候 需要花费极长的时间(数百万年)来破解加密后的消息

它是怎么运作的:陷门函数

所有公钥加密算法的关键在于它们所另一各人 都要其独特的陷门函数。陷门函数没人被单向计算,有时候 要花费没人容易地单向计算(使用现代计算机在没人几百万年的时间内)

都要陷门函数:A+B=C

有时候 被给到A与B,如果 都要算出C。问题图片图片是有时候 我被给到B与C,我也都要算出A。不假若陷门函数。

陷门函数:

“我喜爱福克斯(Fox)与亲们们”+公钥=“s400s1s9sadjds9s”

有时候 我被给到“我喜爱福克斯(Fox)与亲们们”+公钥,我要得出“s400s1s9sadjds9s”,有时候 有时候 我被给到“s400s1s9sadjds9s”与公钥,只是无法得出信息:“我爱福克斯(Fox)与亲们们”。

在RSA(有时候 是最流行的公钥系统)中,陷门函数主要取决于将大数字纳入其主要因子的难度。

公钥:944,871,836,856,449,473

私钥:961,748,941 and 982,451,653

在以上的例子中,公钥是一个非常大的数字,私钥是公钥的一个主要因子。这是陷门函数的一个好的例子,有时候 在私钥中很容易将多个数字相乘以获取公钥,但有时候 你拥有的只是公钥,那将花费一台电脑很长的时间不还可不能不能重建私钥。

注意:在真实的加密中,私钥都要400+位数以上的长度以确保安全。

什么椭圆曲线加密与众不同

亲们使用椭圆曲线加密的理由跟RSA完全相同。它生成公私钥对并允许两方安全沟通。然而,椭圆曲线加密有一胜过RSA的优势。椭圆曲线加密中 256 位数的密钥所提供的安全性与RSA算法中 40072 位数密钥所提供的安全性相同。这原应在资源有限的系统中,如智能手机、嵌入式电脑、加密网络,椭圆曲线加密相较于RSA加密算法,它使用的硬盘空间和下行速率 没人RSA算法的10%。(蓝狐笔记译注:也只是说,椭圆曲线加密比RSA算法在资源有限的状态下,更省资源,可行性更高。)

椭圆曲线加密陷门函数

这有时候 是绝大多数读者阅读本文的原应。这是椭圆曲线加密有别于RSA加密算法的偏离 ,也是它的特殊之处。陷门函数相似于池中的数学游戏。亲们从曲线上的某有时候 刚刚刚开始。亲们使用一个“点函数”(dot function)来发现一个新的点。不断重复“点函数”并围绕曲线跳跃(hop),直到亲们最终抵达最后一个点上。让亲们看看以下整个算法。

https://arstechnica.com/information-technology/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/2/

l 从A点刚刚刚开始;

l A 点 B=-C(从A到B点画一条线并最终落在-C点)

l 从-C到C跨X轴反射;

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 function)只是在两点间画一条线难道要第二点来帮助刚刚刚开始吗?

回答:不都要。第二点(亲们将其称为下图中的-R点)实际上是P点函数P(让亲们假设第一个点被称为P)

P点函数P=-R

没人,什么是P点函数P?它实际上只是P的切线。请看以下图片:

https://devcentral.f5.com/articles/real-cryptography-has-curves-making-the-case-for-ecc-20832

有时候 点函数产生一条线路会走到某个极端,会处在什么?

有时候 线没人抵达靠近原点的曲线,亲们实际上都要定义一个最大X值,其中线将回绕并从头刚刚刚开始。

我理解了暗门函数,但实践中公私钥是怎么创建的?它们是怎么与要加密的数据一起去使用的?

这是一个好问题图片图片,但它要求更深入的答案。在这篇文章中我给出了关于RSA与椭圆曲线加密较为通俗的解释。然而,还有更多技术资源,我期望你去研究它们。