BLS embedded curves族

2023-11-01 18:15
文章标签 embedded curves bls

本文主要是介绍BLS embedded curves族,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 引言

以太坊基金会Antonio Sanso 2023年论文 Family of embedded curves for BLS中,展示了源自BLS椭圆曲线的embedded curves。

pairing-friendly curve E E E具有bilinear map e : G 1 × G 2 → G T e:\mathbb{G}_1\times \mathbb{G}_2\rightarrow \mathbb{G}_T e:G1×G2GT,其中 G 1 , G 2 \mathbb{G}_1,\mathbb{G}_2 G1,G2 E E E的distinct prime-order r r r subgroups, G T ⊂ F p k \mathbb{G}_T\subset \mathbb{F}_{p^k} GTFpk并具有相同的order r r r

当前效率最高的pairing-friendly椭圆曲线为以Barreto、Lynn和Scott命名的BLS曲线[BLS03]。

为减轻ZKP系统中椭圆曲线运算压力,策略之一是选择embedded curves:

  • 其base field为pairing曲线的group order,从而对应运算域中的模。
  • embedded curves可优化证明生成过程中的运算操作。
  • 在 CØCØ [KZM+15]论文中,创建了一种新的(embedded)椭圆曲线——可高效实现密钥交换中所必须的scalar multiplication运算。

BLS12-381[Bow17]由Sean Bowe于2017年引入的pairing-friendly曲线,目前正在由IRTF加密论坛研究小组领导的标准化过程中。BLS12-381曲线广泛用于数字签名和ZKP系统中,包括但不限于:

  • ZCash
  • Ethereum 2.0
  • Anoma
  • Skale
  • Algorand
  • Dfinity
  • Chia 等等

当前BLS12-381的embedded curves有:

  • Jubjub[ZCa]为由ZCash团队设计的,基于BLS12-381 scalar域 F r \mathbb{F}_r Fr而设计的椭圆曲线。
  • 2021年Masson等人[MSZ21]也设计了一种基于BLS12-381 scalar域的椭圆曲线——Bandersnatch。Bandersnatch具有高效endomorphism,支持一种快速scalar multiplication算法——GLV[GLV01]技术。与Jubjub相比,其scalar multiplication运算速度要快42%。

Bandersnatch基于BLS12-381 scalar域 F r \mathbb{F}_r Fr,其seed为 u = − 0 x d 201000000010000 = − 1 ⋅ 2 16 ⋅ 906349 ⋅ 254760293 u=-0xd201000000010000=-1·2^{16}· 906349 · 254760293 u=0xd201000000010000=1216906349254760293

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考资料

[1] Antonio Sanso 2023年论文 Family of embedded curves for BLS

这篇关于BLS embedded curves族的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/324837

相关文章

【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS

目录 AbstractINTRODUCTIONBACKGROUNDARMv8 ArchitectureSecurity statesTrustZone extensionsVirtualization Communication with Peripherals MOTIVATIONATTACK MODEL AND ASSUMPTIONSYSTEM DESIGNOverviewExecu

出现 WebServerException: Unable to start embedded Tomcat 解决方法(全)

目录 1. 问题所示2. 原理分析3. 解决方法4. 彩蛋总结4.1 方式一4.2 方式二4.3 方式三4.4 方式四 1. 问题所示 原本今天早上可以执行,但是突然下午执行springboot项目的时候出现如下问题 Caused by: org.springframework.boot.web.server.WebServerException: Unable to sta

20170723 做的事 ecdsa的签名验证时间短于bls signature

1 今天在虚拟机 /home/smile/Desktop/20170610/Test//time_ecdsa 文件夹下,找到ecdsa的验证时间是 989.060606μs μs 先 make ,然后run。 再取BLS的签名生成时间: ./run  2  gnuplot 画图,画对比的时间 gnuplot 画图参考教程 http://blog.sciencen

solidity上实现BLS签名机制

原文地址:https://ethereum.stackexchange.com/questions/59293/does-ethereum-support-pairing-operations BLS签名机制说明:http://www.ymcall.com/artinfo/698628886830280666.html   pragma solidity ^0.4.14;/*Exampl

Linux - embedded - tools

1.交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。交叉编译就如同翻译一样,把相同的程序代码翻译成不同的CPU对应语言。 2.交叉调试份为软件调试和硬件调试。    交叉调试的特点: *调试器和被调试的程序运行在不同的机器上,调试器运行在PC机或工作站上,而被调试的进程则运行在各种专业调试板上。 *调试器通过某种通信方式(串口、并口、网络、JTAG等)控制被调试进程。 *在目标

uva 1476 - Error Curves(三分)

题目链接:1476 - Error Curves 题目大意:给定n条二次曲线S(x),定义F(x)=max(Si(x)), 求出F(x)在0~1000上的最小值。 解题思路:数值方法,三分。 #include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 100

orientdb教程(8)-embedded object使用索引

版本3.0.30,在版本3.1.x使用这种方式后台会异常 在Orientdb中使用的字段属性使用embedded类型并link class,如下: 如果需要对link class中的字段使用索引,在当前class上需要添加额外的字段,比如class info中有title,time两个字段,则: 然后再创建传统索引: 但是使用explain来看查询的时候,发现并没有使用索引,是个bug,但通

Qt官方示例---embedded

digiflip flickable flightinfo lightmaps raycasting styleexample

Broad Learning System (BLS) 宽度学习系统

宽度学习(Broad Learning System, BLS)是一种有效的神经网络学习框架,旨在通过扩展网络的宽度而不是深度来提高学习能力和效率。与传统的深度学习相比,宽度学习通过堆叠多层特征节点和增强节点来构建网络,从而避免了深度学习中常见的梯度消失和复杂的训练过程。 BLS结构以及增量算法          宽度学习系统在 RVFLNN 基础上做出了改进。首先,宽度学

Nacos 启动报错 Unable to start web server……Unable to start embedded Tomcat

报错内容如下 org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat