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

本文介绍了如何使用jPBC库在Java中实现双线性群和双线性对操作,包括质数阶和合数阶双线性群的初始化、群运算以及对运算。同时提到了jPBC库提供的多线性对实现,但警告其安全性问题,并给出了双线性群的相关理论背景。
摘要由CSDN通过智能技术生成

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 ) 质数双线性群可以由五元组()12,,,,T p G G G e 来描述。五元组中p 是一个与安全常数λ相关的大质数,12,,T G G G 是阶为p 的乘法循环群,e 为双线性映射12:T e G G G ⨯→,它满足以下3个条件:

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

()(),,ab

a b e g h e g h =; (2)非退化性(Non-degeneracy )至少存在元素1122,g G g G ∈∈,满足()12,1e g g ≠;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值