Charm-crypto库安装记录

2019-11-19  本文已影响0人  不懂球的2大业

Charm-crypto简介

Charm-crypto 是一个框架,用于快速原型设计先进的密码系统。基于Python语言,它是从头设计的,减少开发时间和代码的复杂性,同时促进组件的重用。它支持基础密码库,包括对称加密方案,散列函数,PRNGs、数字签名、加密等。

安装过程

pip install charm-crypto==0.43
然而不出所料,安装出错,显示如下: 安装charm报错

可以看到其中有一句:fatal error:gmp.h:No such file or directory。分析应该是缺少了某个库。继续阅读charm库的网址,发现需要依赖GMP库和PBC库。

tar -jxvf gmp-6.1.2.tar.bz2

解压得到gmp文件夹,之后进入文件夹,首先需要检查编译环境,输入命令:

./configure

configure中,发现报错提示:

...
checking whether sscanf needs writable input... no
checking for struct pst_processor.psp_iticksperclktick... no
checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).

提示缺少m4库,继续安装m4库:

sudo apt-get install m4

继续configure,没有报错,接着输入命令make和make install即可成功安装GMP库,接着进入/usr/local/lib查看是否安装成功,结果在/usr/local/lib下:

libgmp.a  libgmp.la  libgmp.so  libgmp.so.10  libgmp.so.10.3.2 

显示有gmp的共享库,可以认为GMP库安装成功。

tar -zxvf pbc-0.5.14.tar.gz

进入解压后的文件夹,与GMP一样,首先检查编译环境,输入命令./configure,结果报错:

...
checking how to run the C preprocessor... gcc -E
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for flex... no
checking for lex... no
************************
flex not found
************************

提示缺少flex库,继续安装flex库:

sudo apt-get install flex

安装成功后,继续configure,结果报错:

checking whether yytext is a pointer... yes
checking for bison... no
checking for byacc... no
************************
bison not found

提示缺少bison库,继续安装bison库:

sudo apt-get install bison

安装成功后,继续configure,接着输入make,make install即可安装,接着进入/usr/local/lib查看安装情况:

libgmp.a  libgmp.la  libgmp.so  libgmp.so.10  libgmp.so.10.3.2  libpbc.a  libpbc.la  libpbc.so  libpbc.so.1  libpbc.so.1.0.0

文件夹存在pbc的共享库,可以认为pbc正确安装。

In file included from charm/core/math/pairing/pairingmodule.c:30:0:
    charm/core/math/pairing/pairingmodule.h:44:29: fatal error: openssl/objects.h: No such file or directory
    compilation terminated.
    error: command 'gcc' failed with exit status 1

显示缺少openssl/objects.h文件。在网上查找原因,https://blog.csdn.net/shakeme/article/details/80911441,按照网页说明输入命令:

sudo apt-get install libssl-dev

再次安装输入pip install charm-crypto==0.43没有报错即可。若还报错,输入:

sudo apt-get install libssl1.0-dev

验证安装成功与否

打开python,输入:

import charm

没有报错即可。

上一篇 下一篇

猜你喜欢

热点阅读