您当前的位置:主页 > 区块链 >

一文读懂椭圆曲线加密学

2019-06-04 15:13 来源:互联网 编辑:运营003
摘要: 
这是一篇椭圆曲线密码学的基本介绍。我假设本文的绝大多数读者来这里的目的是:了解为什么椭圆曲线加密是一种

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

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

一文读懂椭圆曲线加密学

椭圆曲线示例

它是做什么的?

椭圆曲线加密是一种加密数据方法,只有特定人,才能对其进行解密。它在现实生活中有许多应用场景,但其主要应用在于加密互联网上的数据与流量。例如,椭圆加密曲线可以用于确保一封邮件何时发送,且除了收件人外无人可以读取该邮件。

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

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

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

一文读懂椭圆曲线加密学


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

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

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

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

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

“我喜爱福克斯(Fox)与朋友们”+公钥=“s80s1s9sadjds9s”

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

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

“s80s1s9sadjds9s” +公钥=“我喜爱福克斯(Fox)与朋友们”

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

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

l 私钥必须被妥善保管,因为如果某人获取了私钥,他们便可以解密信息

l 计算机可以迅速地用公钥来加密消息,并用私钥来解密消息

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

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

所有公钥加密算法的关键在于它们各自都有其独特的陷门函数。陷门函数只能被单向计算,或者至少只能容易地单向计算(使用现代计算机在不到几百万年的时间内)

不是陷门函数:A+B=C

如果被给到A与B,我就可以算出C。问题是如果我被给到B与C,我也可以算出A。并非是陷门函数。

陷门函数:

“我喜爱福克斯(Fox)与朋友们”+公钥=“s80s1s9sadjds9s”

如果我被给到“我喜爱福克斯(Fox)与朋友们”+公钥,我可以得出“s80s1s9sadjds9s”,但是如果我被给到“s80s1s9sadjds9s”与公钥,那我无法得出信息:“我爱福克斯(Fox)与朋友们”。

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

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

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

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

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

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

[ 编辑: 运营BX01 ]

中国金融领域第一媒体

更多服务
友情链接

京ICP备11011451号-1

举报热线:(010)12377

举报邮箱:xinhua_ljzjr#ljzjr.cn(#替换@)

合作QQ:1447260813

中国金融时报网 版权所有 Copyright © 2010 - 2018 ljzjr.cn All Rights Reserved.