如何在Ubuntu上安装Charm-Crypto

Charm-Crypto相关网站


1.Charm-crypto官方网站:http://charm-crypto.io/

2.Release版本下载地址:https://github.com/JHUISI/charm/releases

尝试在Window10环境下安装

安装步骤如下

1.下载Windows_Release安装程序Charm-Crypto-0.43.ex

2.安装有Python3.7和python2.7
其中python2.7未添加环境变量,给出如下提示

编号(01)Python version(s)3.3/2.7 not found, the installation will now abort.
Python 版本3.3或者2.7未找到,本安装程序将会终止

尝试将Python2.7 添加进入环境变量
在系统变量Path中添加D:\python27依然的得到编号为01的错误;

尝试重启以后问题依然存在


在GoogleGroups上的相关安装信息、

1.均认为无法完全在Windows环境上运行Charm-Crypto: https://groups.google.com/forum/#!topic/charm-crypto/ybDr75OemJ8

2.指出在Linux环境下的Charm-Crypto安装方法: https://groups.google.com/forum/#!topic/charm-crypto/0-kgAHfiGmo


尝试在Ubantu上构建Charm-Crypto

1.Ubuntu的使用版本

使用Ubuntu 18.04.2 LTS 版本进行开发。连接地址:https://cn.ubuntu.com/download

2.安装部分

sudo apt-get install subversion 
sudo apt-get install m4 
sudo apt-get install flex 
sudo apt-get install bison 
sudo apt-get install libssl-dev 
sudo apt-get python3-setuptools python3-dev 
sudo apt-get libgmp-dev 
wget http://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz 
tar xf pbc-0.5.14.tar.gz 
cd pbc-0.5.14 
./configure && make && sudo make install 

从https://pypi.python.org/pypi/charm-crypto/0.43下载Charm-Crypto安装包,安装包Charm-Crypto-0.43.tar.gz)(364.5 kB)
命令行安装命令

./configure.sh 
sudo make 
sudo make install 
建议使用make test进行测试
sudo ldconfig 

可能遇到的问题

1.Openssl不兼容的问题

Chrm-Crypto基于Openssl 1.0左右版本(无法在1.1.X版本下构建)

2.关于如何更改Openssl版本

查看现有版本

/usr/bin/openssl version
OpenSSL 1.0.1f 6 Jan 2014

下载并解压

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -xzvf openssl-1.0.2l.tar.gz

编译安装

cd openssl-1.0.2l
sudo ./config
sudo make install

建立新版连接

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

查看新版本

/usr/bin/openssl version
OpenSSL 1.0.2l  25 May 2017

如果make依然不成功,可尝试

apt-get install libssl1.0-dev

补充内容

1.什么是GMP?

GMP全称GNU Multiple Precision Arithmetic Library, 即GNU高精度算术运算库。它是一个开源的高精度运算库,其中不但有普通的整数、实数、浮点数的高精度运算,还有随机数生成,尤其是提供了非常完备的数论中的运算接口,比如Miller-Rabin素数测试算法、大素数生成、欧几里德算法、求域中元素的逆、Jacobi符号、legendre符号等[来源]

2.什么是Subversion?

Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

3.什么是PBC?

python3环境下的PBC库,可用于双线性配对计算的使用

posted @ 2019-08-08 11:27  ED_Reagan  阅读(1557)  评论(0编辑  收藏  举报