本文旨在简单介绍椭圆曲线密码学。本文预设读者的阅读目的是想知道为什么ECC是一个有效的密码学工具及其基本原理。我的目标是给出广义的解释,我将省略一些证明和实现细节,聚焦于抽象的原理。
-椭圆曲线示例-
ECC有什么用途?
ECC是一种加密数据的方法,只有特定的人才能对其进行解密。在现实生活中,ECC有一些常见的用例,但是最主要的用途是加密互联网数据和流量。例如,ECC可以用来确保在发送电子邮件时,除收件人以外没人可以阅读邮件内容。
ECC是一种公钥密码学
公钥密码学的类型有很多,ECC只是其中一种。此外还有RSA、Diffie-Helman等算法。首先,我要简单介绍一下公钥密码学的背景,然后再讨论ECC以及这些概念基础上的高层建筑。请各位读者在有空时深入学习一下关于公钥密码学的知识。
欧洲中央银行官员:建议各国央行抵制允许稳定币发行商获得央行储备的冲动:金色财经报道,欧洲中央银行(?ECB?)董事会成员Fabio Panetta今天发表了严厉的加密货币演讲。在猛烈抨击加密货币的同时,Panetta还建议各国央行抵制允许稳定币发行商获得央行储备的冲动。Panetta指出,如果稳定币发行商可以将资金存入央行,就可以消除投资风险。因此,稳定币成为央行货币的密切替代品。稳定币可以通过利用大型科技公司的庞大客户网络来取代主权货币,从而产生深远的影响。
Panetta在演讲中提到了USDC稳定币发行商Circle此前曾尝试通过与BlackRock合作创建定制货币市场基金来获取央行资金。[2023/6/24 21:56:51]
公钥密码学的运作方式如下图所示:
-?Wikia.org?-
上图显示了两个密钥:公钥和私钥。这两个密钥分别用来加密和解密数据。这样一来,加密数据在传输的过程中,全世界的人都可以看到,却无法知道其内容。
彭博社等多家媒体反对FTX隐瞒非美国用户身份:金色财经报道,一些主流媒体反对加密货币交易所FTX在破产程序期间隐瞒非美国客户身份的尝试。
在4月4日向特拉华州破产法院提交的一份文件中,彭博社、英国《金融时报》、《纽约时报》及其母公司道琼斯公司(Dow Jones & Company)共同反对对客户姓名进行编辑,认为媒体和公众“有权查看破产文件”。
尽管FTX的债务人能够要求在破产申请文件中删除债权人的名字——而且已经这样做了——但媒体认为,FTX及其客户未能“证明这种保密是合理的”。
FTX.com非美国用户特设委员会在2022年12月28日提交的文件中称,公开泄露非美国用户的姓名和私人信息,使他们容易受到身份盗窃、有针对性的攻击和“其他伤害”。
在最近的文件中,媒体认为,如果基于FTX和委员会所声称的理由,允许对用户信息进行“永久封存”,那么“在几乎每一个破产程序中,封存客户的姓名都将是例行公事”。[2023/4/6 13:48:13]
假设Facebook将要收到来自特朗普的私信。Facebook需要确保特朗普在通过互联网发送私信时,没有中间方能够读取该私信。在使用公钥密码学的情况下,整个过程如下:
ENS主域名注册量突破40万:9月21日消息,据Dune Analytics最新数据,以太坊域名服务ENS主域名注册量已突破40万,截至目前为400,088个,参与地址总数量为562,042个,迄今已创立的ENS域名总量为2,466,723个。[2022/9/21 7:11:46]
特朗普通知Facebook说他想发送一封私信给Facebook
Facebook将自己的公钥发送给了特朗普
特朗普使用该公钥加密了私信:“IloveFoxandFriends”PublicKey=“s80s1s9sadjds9s”
特朗普将加密后的私信发送给Facebook
Facebook使用私钥解密该私信“s80s1s9sadjds9s”PrivateKey=“IloveFoxandFriends”
如你所见,公钥密码学是一个非常有用的技术。以下是一些关键点。
Polygon将为星巴克Starbucks Odyssey服务提供链上基础设施:9月12日消息,Polygon宣布将为星巴克Web3服务Starbucks Odyssey提供链上基础设施,此前报道,Starbucks Odyssey将星巴克的忠诚度计划Starbucks Rewards与NFT平台相结合,允许其客户赚取和购买数字资产,从而解锁独家体验和奖励。[2022/9/12 13:24:37]
公钥可以发送给任何人,它是公开的。
必须保护好私钥。如果中间方获得私钥,他们就能解密私信。
计算机可以使用公钥快速加密消息,使用私钥快速解密消息。
如果没有私钥,计算机需要很长一段时间才能暴力破解加密消息。
公钥密码学原理:陷门函数
对于所有公钥密码学算法来说,最关键的是它们都有自己独特的陷门函数。陷门函数是一种只能单向计算,至少是只在一个方向上易于计算的函数。
HyperPay新版本发布,自管钱包EVM全系兼容Wallet Connect:据官方消息,HyperPay钱包发布V5.0.5版本,在该版本中,HyperPay自管钱包新增支持EVM全系兼容Wallet Connect链接功能;新增自管身份钱包在创建/导入助记词时支持EVM系生成相同地址,提供整个生态中相对较低的手续费消耗,同时,HyperPay自管钱包新增空投版块和DApp浏览器支持钱包切换功能,托管钱包优化了HyperCard申请流程,申请更便捷,帮助用户获得更好的钱包使用体验。
HyperPay钱包成立于2017年,是集托管理财钱包、去中心化自管钱包、HyperMate硬件钱包、共管钱包于一体的多生态数字资产钱包,为用户提供资产存管、理财增值、消费支付等一站式服务。迄今,HyperPay钱包用户逾百万,资管规模超10亿美元,转账超3.1亿次,托管钱包公链支持57+,自管钱包公链支持33+,HyperMate硬件钱包支持公链17+。[2022/7/15 2:15:40]
非陷门函数的例子:AB=C
已知A和B,我就能计算出C。问题在于,在已知B和C的情况下,我也能计算出A。这就是非陷门函数。
陷门函数:
“IloveFoxandFriends”PublicKey=“s80s1s9sadjds9s”
已知“IloveFoxandFriends”和公钥,我可以计算出“s80s1s9sadjds9s”,但是已知“s80s1s9sadjds9s”和公钥,我无法计算出“IloveFoxandFriends”。
在RSA算法中,陷门函数取决于将一个巨大的数分解成质因数的难易程度。
公钥:944,871,836,856,449,473私钥:961,748,941和982,451,653
在上述例子中,公钥是一个很大的数,私钥是公钥的两个质因数。这是一个很好的例子,因为将私钥中的数相乘,很容易就能算出公钥,但是你只有公钥的话,需要很长时间才能使用计算机算出私钥。
注:在真正的密码学实践中,私钥的长度必须超过200位才能被视为是安全的。
椭圆曲线密码学有什么不同?
ECC与RSA的用途相同。ECC会生成一个公钥和私钥,允许双方安全通信。不过,ECC相比RSA有一大优势。一个256位的ECC密钥与一个3072位的RSA密钥安全性相同。也就是说,在资源有限的系统中,ECC密钥需占用的硬盘空间和带宽是RSA密钥的10%不到。
ECC的陷门函数
重点来了。ECC与RSA的主要区别在于陷门函数。ECC的陷门函数类似于数学版的台球游戏。我们先在曲线上找到一个特定的点,然后使用函数在曲线上找到一个新的点,接着重复使用点函数,在曲线上不断跳跃,直到找到最后一个点为止。我们来看一下该算法的具体步骤:
-?arstechnica.com?-
从A点开始:
AdotB=-C
-C点经过X轴反射到曲线上的C点
AdotC=-D(从A点至C点画一条直线,与曲线相交于-D点)
-D点经过X轴反射到曲线上的D点
AdotD=-E(在A点至D点画一条直线,与曲线相交于-E点)
-E点经过X轴反射到曲线上的E点
这是一个很棒的陷门函数,因为如果你知道起点在哪里,以及到达终点需要经历多少次跳跃,很容易就能找到终点。但是,如果你只知道起点A和终点E在哪里,几乎不可能知道中间经历了几次跳跃。
公钥:起点A、终点E私钥:从A点至E点需要经历几次跳跃
几点疑问
以下是我初次学习ECC时遇到的几点疑问,以及我的解答。希望能给各位读者带来帮助。
如何找到第二个点?如果点函数主要依靠在两个点之间画一条直线,我们不需要知道第二个点在哪里吗?
回答:不需要,因为第二个点实际上是PdotP得出的结果。
PdotP=-R
那什么是PdotP?它实际上就是一条经过P点的切线。参见下图:
-?f5.com?-
如果点函数产生的直线与曲线的交点距离原点太远,那该怎么办?
如果直线与曲线的交点距离原点太远,我们可以定义一个最大值X。如果超过X值,直线就会绕回来,从Y轴重新开始。如下图所示:
-?arstechnica.com?-
我发现了一个陷门函数,如何创建公钥和私钥?如何用它们来加密数据?
这是一个很好的问题,但是需要更深入的解答。在本文中,我只想简单解释RSA和ECC。各位读者可以查阅更多技术资料来了解具体细节。
中的主要用途:验证交易的权威性。在以太坊中,用户发送交易的过程并不是使用公钥或私钥加密交易数据,而是使用私钥对交易数据签名,这些签名信息随交易发送,得到这些签名信息的节点可使用椭圆曲线算法恢复出一个地址,与交易原始数据比对即可知该笔交易是不是由有权使用该地址的用户发出的。)
原文链接:
https://blog.goodaudience.com/very-basic-elliptic-curve-cryptography-16c4f6c349ed
作者:?LaneWagner
翻译&校对:?闵敏?&?阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。