关于密码学中PBC库的一些新的体会--安装(一)

时间:2024-04-14 13:30:58

最近做了几个项目,均用到了PBC库,由于项目需求,我用了JAVA语言的JPBC和go语言的PBC包,踩过非常多的坑,所以打算写一下关于PBC的东东,自己也用这个库开发了BB04签名,BBS04签名,BLS签名和IBM的idemix项目的升级版本idemix-plus,大家喜欢的话还请帮我的github项目点星星哟。

关于pbc库

我直接引用一篇文章关于PBC库的介绍。
PBC(Pairing-Based Cryptography Library) 是实现双线性对运算的函数库 . 这个开源代码 C 函数库是由
Stanford 大学开发 , 库的地址为 http://crypto.stanford.edu/pbc/. PBC 函数库为双线性对实现提供了接口 , 是基
于双线性对密码*研究的一个非常有用的辅助工具 . 目前双线性的计算已经非常有效 . 下面是 128 比特
安全级别的双线性对 ( 相当于 256 比特的 ECC 和 3000 比特的 RSA) 利用 BN 曲线实现的时间竞赛 : 2007 年的双
线性对会议上 , Devigili 等人 [19] 在 32-bit Intel Pentium IV @ 3.0 GHZ 的机器上的实现用了 23 ms; 2008 年 ,
Grabher, Großschädl, Page [20] 在 64-bit Intel Core 2 Duo @ 2.4 GHz 的机器上用了 6 ms; 同年 , Hankerson,
Menezes, Scott [21] 也是在 64-bit Intel Core 2 Duo @ 2.4 GHz 的机器上的实现只用了 4.2 ms; 2010 年 , Naehrig 等
人 [22] 在 64-bit Intel Core 2 Duo @ 2.8 GHz 机器上的实现用了 1.5 ms; 2010 年 , Beuchat 等人 [23] 对 254 比特 BN 曲
线上的最优 Ate 对在 64-bit Intel Core i7 @ 2.8 GHz 机器上的实现用了 0.8 ms. 目前对这一安全级别的双线性
对实现的最好记录是 2011 年 Aranha 等人 [24] 在欧密会上的结果 : 0.56 ms(64-bit AMD Phenom II @ 3.0 GHz),
相当安全级别的 256 比特的 ECDSA 验证是 0.8 ms, 而 2048 比特和 4096 比特的 RSA 签名分别是 2.6 ms 和 18.8
ms. 现在仍然有一些在双线性对实现方面的工作 , 有软件方面的 , 也有在硬件方面的实现 .
PBC库是用于双线性对运算的一个非常棒棒哒的库函数,支持C++,java,Python等多种语言,我主要从我使用的Java库函数和go库函数做讲解

PBC go语言库的安装

首先介绍一下pbc库go语言库的安装方法,其实这个包是基于C++库开发的,所以学习go安装方法可以对C++库安装有帮助,这里我就不赘述了。
我的电脑环境为ubuntu18,安装方法在我的有,我给大家截个图:
安装GMP库
关于密码学中PBC库的一些新的体会--安装(一)安装PBC关于密码学中PBC库的一些新的体会--安装(一)然后再安装go库函数
关于密码学中PBC库的一些新的体会--安装(一)

按照这个步骤走应该不会报错,如果有错应该是一些依赖有问题,谷歌下应该就能解决,祝大家顺利## PBC

JPBC安装

这个是java库,安装方法比go语言的简单,我直接上教程

  • 资源:需要的jar包,和一个参数文件,大家直接从给的连接下载就是了,这都是我踩着坑下载好了的,
  • 步骤
    1) 在Eclipse中新建一个工程,在这里我的工程名字就为jPBC了。建立工程后,我们需要把jar包引入其中。在Eclipse中,jar包可以通过绝对路径引入(Import Extended jar),也可以通过相对路径引入(Import jar)。在此,为了工程的拷贝方便,我选择使用相对工程引入。因此,我们需要在jPBC工程中增加一个存放jar包的文件夹,并且把jar包存入其中。右键单击jPBC工程,选择New->Folder,如图所示:

关于密码学中PBC库的一些新的体会--安装(一)
随后,在弹出的对话框中,将这个文件夹起名为lib,文件夹位置放置在jPBC工程的根目录下,如图:
关于密码学中PBC库的一些新的体会--安装(一)

接下来,将jPBC中所有的jar文件拷贝到lib文件夹中。注意,虽然都拷贝过来了,但是有关PBC Wrapper的内容都无法使用,因为我们现在并没有本地Shared PBC Library。拷贝进lib后,右键点击jPBC工程,选择Refresh,我们就可以看到lib文件夹下面已经有jar文件了。然后,同样右键点击jPBC工程,选择Properties,再弹出的对话框中选择Java Bulid Path,如图所示。
关于密码学中PBC库的一些新的体会--安装(一)

在右面选择Add JARS,将jPBC的所有jar文件引入其中。在此我仅引入了jPBC核心的两个jar包,即为api和plaf,如图所示。
关于密码学中PBC库的一些新的体会--安装(一)然后
我们需要把a.properties放置在工程的根目录下面。比如,如果工程路径为D:\workspaces\jPBC,那么a.properties就放在这个目录下面。那么,a.properties从哪里能够拿到呢?实际上,jPBC压缩包中,有一个param文件夹,里面放置的就是典型的参数,直接用里面的a.properties即
关于密码学中PBC库的一些新的体会--安装(一)这样就全部完成了,祝大家安装顺利。

相关文章