在Ubuntu上安裝Charm-Crypto

Charm-Crypto相關網站


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

2.Release版本下載地址:https://github.com/JHUISI/charm/releasesgit

嘗試在Window10環境下安裝

安裝步驟以下github

1.下載Windows_Release安裝程序Charm-Crypto-0.43.ex算法

2.安裝有Python3.7和python2.7
其中python2.7未添加環境變量,給出以下提示ubuntu

編號(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的錯誤;python2.7

嘗試重啓之後問題依然存在測試


在GoogleGroups上的相關安裝信息、flex

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庫,可用於雙線性配對計算的使用

相關文章
相關標籤/搜索