PBC密码学库使用指南

本文档详细介绍了PBC库的安装、使用,特别是在实现BLS签名方案中的应用。从下载和编译库开始,逐步演示如何在C程序中使用PBC进行签名和验证操作。此外,还探讨了A类椭圆曲线的选择及其参数设定,为理解PBC库在基于配对的密码学中的作用提供了实用指导。
摘要由CSDN通过智能技术生成

PBC(Pairing-based cryptography)库是一个免费的C库(根据GNU Lesser General Public许可证发布),它建立在GMP库的基础上,执行基于配对的加密系统的数学运算

安装教程

该安装教程当前仅适用Linux平台的用户,具体可参考官方文档

下载

首先,在官网下载安装包,可以看到有多个不同的包,这里下载pbc-0.5.14.tar.gz,这是因为安装环境是在Linux平台(如有必要,本文档后续会更新在Windows平台的安装教程)
在这里插入图片描述

编译和安装库

对于大多数库,解压缩源程序包后,输入以下命令将其安装到主目录的本地子目录

 $ ./configure --prefix=$HOME/.local  
 $ make  
 $ make install

其中**–prefix**指定了PBC库要安装的目录,您也可以指定到自己喜欢的地方。如果一切正常,您应该会在$HOME/.local中看到新文件,包括include、lib和bin三个文件夹

简单使用

下面是PBC程序foo.c中的内容

#include "pbc.h"

int main(void)
{
   
    /* call PBC functions */
    return 0;
}

当完成程序编写,则需要gcc来完成程序编译,我们使用以下命令进行编译

$ gcc -o foo foo.c -I ~/.local/include/pbc -L ~/.local/lib -Wl,-rpath ~/.local/lib  -l pbc

编译成功后,会在当前目录生产foo,通过./foo执行即可

BLS实现

本章将介绍如何使用PBC库实现Boneh Lynn Shacham(BLS)签名方案,它基于文件example/bls.c

回顾BLS

我们有三个阶为素数 r r r的群 G 1 , G 2 , G T G_1,G_2,G_T G1,G2,GT和一个双线性映射 e e e,它从 G 1 G_1 G1中获取一个元素,从 G 2 G_2 G2中获取一个元素,并输出 G T G_T GT中的一个元素。我们将其与系统参数 g g g一起发布, g g g G 2 G_2

  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值