我是靠谱客的博主 沉默可乐,最近开发中收集的这篇文章主要介绍合数阶对称双线性群对应的椭圆曲线Type a1初始化方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

欢迎关注公众号:区块链之美 致力于区块链技术研究,传播区块链技术和解决方案、区块链应用落地、区块链行业动态等。

在jPBC中,双线性群的使用都是通过叫做Pairing的对象来实现的。双线性群的初始化在jPBC中就是对Pairing对象的初始化。双线性群有两种初始化的方法。第一种是通过代码动态产生一个双线性群,第二种是从文件中读取参数而产生群。

通过代码动态产生

Type A1曲线需要二个参数:numPrime是阶数N中有几个质数因子;qBit是每个质数因子的比特长度。注意,Type A1涉及到的阶数很大,其参数产生的时间也比较长。

PairingParameters parameters = new TypeA1CurveGenerator(3, lambda).generate();
Pairing pairing = PairingFactory.getPairing(parameters);

通过文件读取产生

分布式系统中,需要使用相同参数的曲线,通过提前准备好的曲线参数,放在文件中,适合分布式场景中。

PairingParameters pairingParameters = PairingFactory.getPairingParameters("params/a1_2_128.properties");
Pairing pairing = PairingFactory.getPairing(pairingParameters);
Element element = pairing.getG1().newRandomElement().getImmutable();

a1_2_128.properties文件内容:

type a1
p 454185854554264490439507371406978871155714692378371238502200679563462295918841405492496070170395931758880541665504227543880884524632542307124883639
n 1622092337693801751569669183596353111270409615637040137507859569869508199710147876758914536322842613424573363091086526942431730445116222525446013
n0 926591102349325830200852213926560877548506407511
n1 1456409892343141347643390181515520809202149513657
n2 1201998227232185000278404788355647922301450179619
l 280

最后

以上就是沉默可乐为你收集整理的合数阶对称双线性群对应的椭圆曲线Type a1初始化方法的全部内容,希望文章能够帮你解决合数阶对称双线性群对应的椭圆曲线Type a1初始化方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部