在Linux系统下,搭建密码学实验环境。
实验背景:
ubuntu 20.04.6
VMware12 pro
- gcc安装(C语言编译环境)
检查系统中是否有gcc
sudo su //进入管理员模式
su 'your name' //退出管理员模式
进入管理员后的操作需要谨慎
安装gcc
sudo apt install gcc
nano hello.c //创建一个C语言程序测试
#include<stdio.h>
int main(){
printf("hello!");
return 0;
}
gcc hello.c
ls
./a.out //测试,成功输出hello
- 配置Makefile(管理C语言程序)
测试makefile,每一行命令的gcc前面,一定是Tab键,不是空格,否则编译make报错。经过编译make、运行./test ,仍然可以正确输出。
-** 安装lzip**(解压器)
apt install lzip
- 安装m4(GMP依赖的库)
apt install M4
- 安装flex
apt install flex
- 安装bison
apt install bison
- 安装GMP(PBC依赖GMP)
tar xvf gmp-6.3.0.tar.xz
在解压后的文件夹里执行如下操作
./configure
安装成功的界面如下在这里插入代码片
make
make check
管理员身份执行以下
sudo make install
- 安装PBC密码学库
tar xvf pbc-0.5.14.tar.gz
在解压后的文件夹里执行如下操作
./configure
make
管理员身份执行以下
sudo make install
至此,PBC安装完成。测试一下。进入PBC解压文件下的pbc文件,执行./pbc命令
g:=rnd(G1);
h:=rnd(G2);
a:=rnd(Zr);
b:=rnd(Zr);
Pc:=pairing(g,h)^(a*b);
References
[1]:https://mp.weixin.qq.com/s?__biz=MzIzODAxNjE1OQ==&mid=2247488006&idx=1&sn=4545fa239d088c1db28673d3cb615826&chksm=e93e91f6de4918e039cca8851023912a08fe03608e9fa4459164e5c757c1951cd631e21a3e22&scene=21#wechat_redirect
[2]: https://mp.weixin.qq.com/s?__biz=MzIzODAxNjE1OQ==&mid=2247488071&idx=1&sn=5f742808e4808f17260a9b577849cad6&chksm=e93e91b7de4918a145564a0826341622101c7b73b25d53b96c1b68e0353f7c4a4fa645ab93f9&token=89650164&lang=zh_CN#rd