java密码学原型算法_java密码学原型算法实现——双线性对.pdf

java密码学原型算法实现——双线性对

Java 密码学原型算法实现——双线性对

1、背景介绍

如何使用jPBC 库进行双线性群初始化,包括:

(1)质数阶双线性群(Prime-Order Bilinear Groups);

(2)合数阶双线性群(Composite-Order Bilinear Groups);

如何使用jPBC 库执行双线性群运算,包括:

(1)指数群Z 的加法和乘法;

(2)双线性群G 的乘法和指数幂;

(3) 目标群GT 的乘法和指数幂

(4)双线性群G 映射到目标群GT 的对(Pairing)运算;

(5)使用jPBC 库的一些注意事项。

jPBC 2.0.0 实际上提供了DPVS 的实现,也是正确的。有兴趣的朋友们可以自己研究

一下,我在这里就不详述了。 如何使用jPBC 2.0.0 的多线性对(Multilinear Maps)函

数库;这方面我自己一直没找时间测试一下多线性对函数库,实际上近期我也不太想测试

这个库,主要有两方面的原因。

现在所构造出来的多线性对并非密码学中的理想多线性对(Ideal Multilinear

Maps),而是候选多线性对(Candidate Multilinear Maps),后者在使用上有很多的限

制。 jPBC 2.0.0 实现的多线性对是[CLT-14]的方案,但这个方案已经被证明是不安全的

了。

2、双线性群简介

这里我直接引用自己的二篇水文来介绍(都是凑数用的…)选择密文安全的身份及广

播加密方案,密码学报,Experimental performance comparisons between (H) IBE

schemes over composite-order and prime-order bilinear groups,IBCAST 2014。

3、质数阶双线性群(Prime-Order Bilinear Groups)

质数双线性群可以由五元组 p ,G ,G ,G ,e 来描述。五元组中 是一个与安全常数

 1 2 T  p

G , G , G e e :G G G

 相关的大质数, 1 2 T 是阶为p 的乘法循环群, 为双线性映射 1 2 T ,

它满足以下3 个条件:

(1)双线性(Bilinear):对任意的g G ,h G ,a,b Z ,有

1 2 p

a b ab

e g , h  e g, h ;

(2)非退化性(Non-degeneracy)至少存在元素g G ,g G ,满足

1 1 2 2

e g , g  1;

1 2

(3)可计算性(Efficiency):对于任意的u G ,v G ,存在一个与给定安全常数

1 2

 相关的多项式时间算法,可以高效地计算e u,v ;

 

现在的密码学相关论文中,习惯将G , G 设置为乘法循环群。但是,基于椭圆曲线的

1 2

双线性群构造中,G , G 是加法群。所以在大约2005 年以前的论文中,双线性群一般写成

1 2

加法群形式。jPBC 中将G , G 表示称为了乘法循环群,因此在实现写成加法群形式的方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用啥Selenium?! .NET程序员就用自家的Playwright for .NET

提到用于Web应用程序自动化测试的工具,大家肯定第一个想到的就是Selenium。可以说,Selenium已经成为以编程方式自动化浏览器的事实标准。但是,Selenium作为老牌工具,也存在一些缺点,比如不支持Shadow DOM ,…

每日一笑 | 一些关于集合的知识

全世界只有3.14 % 的人关注了数据与算法之美(图源网络,侵权删)

Digest

一场倾盆大雨。站立着面对这场大雨吧!让它的钢铁般的光芒刺穿你。你在那想把你冲走的雨水中飘浮,但你还是要坚持,昂首屹立,等待那即将来临的无穷无尽的阳光的照耀。 转载于:https://www.cnblogs.com/bcpl/archive/2005/05/18/1578…

iOS之NSString

做了不少时间的iOS开发了,现在在阅读官方文档,特意整理出来,没任何技术含量,纯粹是笔记形式,希望对自己对大家有些帮助。 首先,要理解NSString需要学习下字符编码(ASCii,Unicode&…

java调用js查询mongo_mongodb操作之使用javaScript实现多表关联查询

一、数据控制mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败。演示一下发生此类错误的错误提示:二、多表关联查询实现/*声明变量bridge,用来记录两个集合所连接的桥梁。相当于sql语句中的Join on语句,on后…

ABP Framework 研习社经验总结(6.28-7.2)

ABP Framework 研习社经验总结(6.28-7.2)研习社初衷在翻译 《实现领域驱动设计》—— 基于 ABP Framework 实现领域驱动设计实用指南 时,因为DDD理论和实践的宽泛性,不同公司、不同行业、不同项目实现程度不同,觉得有必…

2005.5.21

早上: 4:00电话打来,叫我们去。 我们5:30才起床。 我没有意识到婆婆去世了。上午: 送婆婆到火葬场的车排起了长龙。 一路上,放炮仗,撒纸钱,撒纸元宝。到了火葬场&…

一篇万字长文读懂微软PDB、SourceLink——.net core之nuget 包调试

序言在大前年,为了说服框架组采用Nuget包的形式分发框架类库,我费了老鼻子的劲也没有取得成功,其中最致命的一个问题是,nuget包不能获得源码调试级的支持,在分发和包的管理形式上其比其他方案都优秀。最后折中的选择是…

IIC及OLED实验

I2C (Inter-Integrated Circuit): I2C 是一种用于在芯片之间进行短距离数字通信的串行通信协议。它允许多个设备通过两根导线(一根数据线 SDA 和一根时钟线 SCL)进行通信。I2C 常常用于嵌入式系统中连接传感器、存储器、显示屏和其他外设。 数据线和时钟…

放弃winform的窗体吧,改用html作界面,桌面应用程序UI的新的开发方式。

做过很多winform项目,都为winform控件头疼不已。想实现一些漂亮的样子总是很难。我这里列举几个缺点: 1.winform控件大多是 绝对布局 ,你需要给出准确的坐标。那么在实现居中效果就会很难。 2.学习成本,也了解各个控件的结构&…

数学建模必备算法模型,全新升级!

转眼间2019年已经过去了四分之一,近日,2019年数学建模国赛的时间也已经出来啦,确定为9月12日(周四)18时至9月15日(周日)20时。随着各种各样的数模比赛源源不断地开展,时不时有小伙伴…

好长时间没更新了

这段时间一直都在忙着写CoagelEngine,没时间上来更新。花了一个月的时间,现在基本把渲染器的框架写好了。渲染器是用Visitor模式实现的。同时API无关,理论上来说同样可以支持Directx,不过我没用过DX,现在只实作了GLRen…

boostrap 鼠标滚轮滑动图片_16种基于Bootstrap的css3图片hover效果

bootstrap-image-hover是一款基于Bootstrap的css3图片hover效果。这组图片hover效果共16种特效。同时该特效也支持非Bootstrap版本。使用方法在页面中引入bootstrap相关文件和FontAwesome字体图标文件以及effects.min.css文件。HTML结构该css3图片hover效果的每一种效果都有它们…

从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)...

一、移除性算法 &#xff08;remove&#xff09; C Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 // TEMPLATE FUNCTION remove_copy template < class _InIt, class _OutIt, cl…

20 种物体破剖面图,真正的让你脑洞大开

全世界只有3.14 % 的人关注了数据与算法之美有很多东西的内部世界十分复杂&#xff0c;单纯的从表面看难以窥其精锐&#xff0c;今天咱们来看那些被劈成两半展示横截面的东西&#xff1a;1.安全气囊2.打火机3.各种枪械消音器4.集装箱船5.路虎车6.曲棍球头盔7.人类心脏8.数码相机…

一个女孩子对老公/男朋友的要求

*有点害羞&#xff0c;但曾在分别的街头&#xff0c;大声说我爱你。 *同我去庙里求签&#xff0c;轻轻捉住我的手一同跪下。 *言而有信。 *从来不迟到--我迟到他不生气。 *拥抱很久、很紧--每次我起身时几乎是需要慢慢推开他。 *睡得比我迟一点&#xff0c;醒来早一点。 …

你的公司内卷化了吗?

大家看上去都很忙&#xff0c;但就是没结果怎么办&#xff1f;忙有结果都是好的&#xff0c;没有结果都是问题。其实可以从三方面来看这个问题&#xff1a;1、没有正确找到方法大家都在教科书学过一只乌鸦喝水的故事。故事告诉人们遇到困难不要放弃&#xff0c;要运用身边可以利…

java.awt.headless_以编程方式设置java.awt.headless = true

小编典典我正在使用一个main()类&#xff0c;该类在常量(和其他静态代码)中静态加载JFreeChart的不同部分。将静态加载块移到类的顶部解决了我的问题。这不起作用&#xff1a;public class Foo() {private static final Color COLOR_BACKGROUND Color.WHITE;static { /* too l…

飘逸的python - hack输出流便于调试

当项目有很多文件时&#xff0c;要找出控制台的输出是在哪里print出来的很麻烦&#xff0c;不过这事对于强大的python来说小菜一碟。 先上代码和效果&#xff0c;再说明。 import sys,traceback class mystdout:stdout sys.stdoutdef write(self,_str):if _str ! \n:filepath…

每日一笑 | 3 X 4 = ?

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图源网络&#xff0c;侵权删&#xff09;