ECC椭圆曲线基础知识

一、ECC椭圆曲线定义

        1985年,Koblitz 和Miller独立地提出了椭圆曲线公钥密码体制(ECC),安全性基于椭圆曲线群上的离散对数问题的难解性,该问题目前最好的解法是指数级时间的算法。 一般认为,RSA和DH密钥交换协议需用1024比特以上的模数才安全,但对ECC,只要 160比特的模数就可达到同样级别的安全性

        

 

二、secp256k1椭圆曲线 

三、bls12-381椭圆曲线 

        BLS12-381是嵌入度为12的381位特征的BLS曲线, 128位安全级别。

        BLS12-381是一种Zcash、filecoin中所使用的新型zk-SNARK椭圆曲线加密算法,隶属于Bellman库,由Rust语言所实现,它的特点是小巧易用,能快速验证,同时兼备加密时延和快速可验证两个特性。可缩小算术电路的大小,降低密钥的大小,以及简化协议,定义如下图:

四、椭圆曲线阿贝尔群定义

 五、椭圆曲线上的加法运算

        设P, Q是E上的任意两点, 连 接P, Q交E于R’,则称R’关于x轴的 对称点R为P与Q的和, 记为:

此时称之为点加运算 。

5.1、当P与Q重合时 

六、标量乘算法定义 

在这里n是一个自然数。

        该公式看起来计算nP需要计算n次加法。如果n是k个二进制位,那么该算法复杂度是O(2^{K}),计算量有点大。但是其实存在更快速的方案。

        其中一个就是先做倍数再做加法。要了解基本原理还是直接看例子会比较快。假设n=151,其对应的二进制是10010111。而该二进制数字可以转化为:

所以我们可以这么写:

七、标量乘算法-桶形算法 

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值