0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

区块链威廉希尔官方网站 浅析:交易脚本中的椭圆曲线加密算法

lviY_AI_shequ 来源:电子发烧友网 作者:工程师谭军 2018-07-10 15:06 次阅读

一、重新审视RSA

RSA之所以能作为非对称加密算法,其实有两点:

1. 基于大整数质数分解这个数学难题。这个难题,求解出来很困难,但是验证它很简单

2. 私钥签名之后,利用公钥进行验证的还原公式,RSA里面就是欧拉定理。

比特币中,非对称加密使用的数学难题是离散对数问题。

二、椭圆曲线算法的数学难题

在阅读本节之前,可以先阅读ECC加密算法入门介绍,什么是椭圆曲线呢,并不是我们高中所学的在连续实数域二维平面上的椭圆曲线,而是定义在有限域(有限个离散的值组成的集合)射影平面上的曲线。

先不考虑有限域和射影平面,假设还是在连续实数域二维平面上,就像二维平面上其他曲线都有方程一样,椭圆曲线的方程是:

y2+ a1xy + a3y = x3+ a2x2+ a4x + a6

且曲线上的每个点都是非奇异(或光滑)的,也就是都有切线。

(下面都只讨论实数域和二维平面上的情况,理解了这部分,剩下的仅仅是扩展的问题,非常容易理解)

区块链威廉希尔官方网站
浅析:交易脚本中的椭圆曲线加密算法

根据参数不同,曲线形状不同,比如

区块链威廉希尔官方网站
浅析:交易脚本中的椭圆曲线加密算法

在这条曲线上定义了加法:就像上图,先定义一点G,然后过G做该椭圆曲线的切线,和椭圆曲线相交于另外一点,称为点-2G,找到点-2G关于X轴的点2G,该点在椭圆曲线上,因为比特币选定的椭圆曲线是关于X轴对称的。(根据参数不同,有很多椭圆曲线,有些不关于X轴对称,有一些关于X轴对称,比特币选定的关于X轴对称的曲线叫secp256k1)。点2G称为点G + 点G的加法。如果G做k次加法,也就是 点2G + 点G = 点3G,点3G + 点G = 点4G,一直加k次,得到点kG。

那么数学难题是什么呢?数学难题是:已知k和G,得出K = kG,是容易的,有公式直接得出,但是由kG的结果K,和点G,得出k是困难的。你看,这也是一个验证很简单,但是求解很困难的事情。为什么求解很困难?其实是相对于从k和G得出K而言的。首先需要明确的是,一步一步的计算,从k和G能得出K(正向),从K和G也能得出k(逆向),时间复杂度也就是O(k),但是如果正向计算能使用一些方法快速求出来,而这个方法对逆向计算不适用,那么就构成了计算的非对称性。椭圆曲线加密算法正是这样的,正向计算可以使用比如 倍数-和 的方法(如果加法看成是乘法,那么就叫 平方-乘 的方法),但是逆向计算仍然没有找到合适的快速的方法。该部分可以参见《密码学原理与实践》的第六章。

三、椭圆曲线算法的还原方法的设计

下面只是一个例子,还有很多其他的方法。

1. 加密签名的过程:

A. 选择一条椭圆曲线和基点GB. 选择私有密钥k,利用基点G计算公开密钥K = kGC. 产生一个随机整数r,计算点R = rGD. 将明文m和点R的坐标值x, y作为参数,计算SHA值,即Hash = SHA(m, x, y)E. 计算sn = r – Hash * kF. 将sn和Hash作为密文

2. 对应的验证过程如下

(公开的信息有:基点G,公开密钥K,sn,m和Hash)A. 计算点R(x, y) = sn * G + Hash * K

B. 计算H = SHA(m, x, y)

C. 如果H和Hash值相同,则验证成功。

因为:sn = r – Hash * k则验证公式为:sn * G + Hash * K= (r – Hash * k) * G + Hash * K= r * G – Hash * k * G + Hash * K= r * G – Hash * K + Hash * K= rG = R

(以上计算都是基于模的运算)

其实可以思考一下为啥需要一个随机数r,因为如果没有随机数,那么给出的密文是sn = Hash * k,因为Hash是已知的,所以这样暴露了k * Hash以及k * G,安全性会降低。

四、椭圆曲线算法和RSA的比较

1. 椭圆曲线算法的优点

安全性能更高

160位ECC与1024位RSA、DSA有相同的安全强度

处理速度更快

在私钥的处理速度上,ECC远 比RSA、DSA快得多

带宽要求更低

存储空间更小

ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多

2. 椭圆曲线算法的缺点

设计困难,实现复杂

如果序列号设计过短,那么安全性并没有想象中的完善

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RSA
    RSA
    +关注

    关注

    0

    文章

    59

    浏览量

    18895
  • 区块链
    +关注

    关注

    111

    文章

    15562

    浏览量

    106072

原文标题:区块链系列--比特币 (7):交易脚本中的椭圆曲线加密算法

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    加密算法在云计算如何应用?

    加密算法在云计算的应用主要体现在以下几个方面: 数据加密 : 数据加密是保护数据在传输和存储过程的机密性的关键
    的头像 发表于 12-17 16:02 112次阅读

    加密算法在网络安全扮演什么角色?

    : 通过哈希函数和消息认证码(MAC),加密算法可以检测数据在传输过程是否被篡改,确保数据的完整性。 提供身份验证 : 非对称加密算法和数字签名威廉希尔官方网站 可以验证通信双方的身份,防止身份
    的头像 发表于 12-17 16:00 78次阅读

    加密算法的选择对于加密安全有多重要?

    加密算法的选择对于加密安全至关重要,因为它直接影响到数据保护的有效性和可靠性。以下是几个关键点来说明加密算法选择的重要性: 加密强度: 加密算法
    的头像 发表于 12-17 15:59 92次阅读

    常见的加密算法有哪些?它们各自的优势是什么?

    常见的加密算法及其优势如下: AES(Advanced Encryption Standard): AES是一种对称加密算法,采用分组密码体制,支持128位、192位和256位密钥长度。AES的优势
    的头像 发表于 12-17 15:57 107次阅读

    对称加密威廉希尔官方网站 在实际应用如何保障数据安全?

    ,如使用安全的密钥协商和密钥分发方式,定期更换密钥等。 密码学原理的安全性: 对称加密算法的安全性基于密码学原理,需要确保密码学原理的安全性,如避免使用弱密码、避免使用已经破解的密码等。 加密算法的安全性: 对称加
    的头像 发表于 12-16 13:59 149次阅读

    华纳云:加密算法在保护网络安全扮演什么角色

    加密算法在保护网络安全扮演着至关重要的角色,具体来说,它们的作用包括但不限于以下几点: 数据保密性:加密算法用于加密数据,将其转换为一种不易理解的形式,以防止未经授权的访问者查看或识
    的头像 发表于 12-06 15:22 174次阅读

    智慧能源管理系统:区块威廉希尔官方网站 在能源交易的应用

    区块威廉希尔官方网站 在能源领域具有巨大潜力,可降低交易成本、推动分布式可再生能源发展。在能源计量、交易和决策机制等方面发挥重要作用。
    的头像 发表于 11-22 10:48 226次阅读
    智慧能源管理系统:<b class='flag-5'>区块</b><b class='flag-5'>链</b><b class='flag-5'>威廉希尔官方网站
</b>在能源<b class='flag-5'>交易</b><b class='flag-5'>中</b>的应用

    C加密算法的实现

    电子发烧友网站提供《C加密算法的实现.pdf》资料免费下载
    发表于 09-20 11:10 1次下载
    C<b class='flag-5'>加密算法</b>的实现

    请问ESP-IDF的WPA3-SAE的入网加密算法最耗时的是那个函数?

    请问ESP-IDF的WPA3-SAE的入网加密算法最耗时的是那个函数
    发表于 06-05 08:17

    基于 FPGA 的光纤混沌加密系统

    算法具有高复杂度,可防止 SPA\\DPA 攻击。让指挥信息能足够保密,防止被敌人窃取。 1.3 主要威廉希尔官方网站 特点 FPGA 设计加密算法具有安全性高,加密速度快,开发周期短,开发成
    发表于 04-26 17:18

    STM32L072系列支持AES加密算法吗?

    STM32L072,L0系列,Cortex-M0/M0+/M1处理器基于ARMv6-M架构,查指令集是没有AES加密支持的请问要怎么支持AES加密算法
    发表于 04-10 08:05

    TC233/TC234系列的HSM硬件支持哪些加密算法

    HSM 中支持的算法:你能否具体说明 TC233/TC234 系列的 HSM 硬件支持哪些加密算法? 特别是,我有兴趣了解对 AES、CMAC、RSA、ECC 和 SHA 的支持。 2. 具有类似
    发表于 01-18 10:33

    区块是什么样的数据结构组织

    区块包含着一定数量的交易信息,并通过加密威廉希尔官方网站 进行链接,形成一个不可篡改的链式结构。 区块的数据结构可以看作是一种不可变的分布式账本,其中的
    的头像 发表于 01-11 10:57 2252次阅读

    区块威廉希尔官方网站 发展现状和趋势

    进行详尽的分析。 一、区块威廉希尔官方网站 的起源和原理 区块威廉希尔官方网站 最早在2008年由中本聪提出,而该
    的头像 发表于 01-11 10:31 2328次阅读

    卫星通信威廉希尔官方网站 之高椭圆轨道

    椭圆轨道或更常见的高度椭圆轨道 HEO 遵循椭圆曲线。然而,椭圆轨道的一个关键特征是,在围绕地球的椭圆
    的头像 发表于 01-10 16:30 1959次阅读
    卫星通信<b class='flag-5'>威廉希尔官方网站
</b>之高<b class='flag-5'>椭圆</b>轨道