1、了解Charm之前的相关依赖
---Python2.7 or Python3
---Pyparsing 基于Python的一个模块,定义了执行和解析语法的类和方法
http://pyparsing.wikispaces.com/(目前该平台已关闭,想要了解该模块可参照 https://pythonhosted.org/pyparsing/pyparsing-module.html )
---GMP 5.x http://gmplib.org/
GMP是一个免费的库,用于任意精度算术,对有符号整数,有理数和浮点数进行操作。GMP的主要目标应用是加密应用和研究,互联网安全应用,代数系统,计算代数研究等。
---PBC (latest) http://crypto.stanford.edu/pbc/news.html
PBC(基于配对的密码学)库是建立在GMP库上的免费C库(在GNU较宽松通用公共许可证下发布),该库执行基于配对的密码系统的数学运算它提供了例如椭圆曲线生成,椭圆曲线算法和配对计算等程序。PBC库也可用于构建传统的密码系统。
---OPENSSL http://www.openssl.org/
OpenSSL是一种功能强大的商用级全功能工具包,适用于传输层安全性(TLS)和安全套接字层(SSL)协议。它也是一个通用的加密库。
---(optional) MIRACL http://www.certivox.com/miracl/. See Building MIRACL for Charm if interested.
---(optional) RELIC https://code.google.com/p/relic-toolkit/. See Building RELIC for Charm if interested.
RELIC是一个现代加密元工具包,强调效率和灵活性。RELIC可用于构建针对特定安全级别和算法选择而定制的高效且可用的加密工具包。到目前为止已经实现:多精度整数运算;Prime和Binary场算术;素数和二进制字段上的椭圆曲线(NIST曲线和配对友好曲线);双线性映射和相关的扩展字段;密码协议(RSA,Rabin,ECDSA,ECMQV,ECSS(Schnorr),ECIES,Sakai-Ohgishi-Kasahara基于ID的认证密钥协议,Boneh-Lynn-Schacham和Boneh-Boyen短签名,Paillier和Benaloh同态加密系统)。RELIC被用作TinyPBC项目的主要加密实现。支持包含在0.1.1版中。可以在Wiki中找到适合TinyPBC部署的MICAz motes的构建指令。
2、Linux-Ubuntu系统下安装(官网给到最新的是13.04的介绍之后的版本也同样适用)
在安装Charm之前,需要在系统上安装一些依赖程序。打开命令窗口做如下安装:
1、Subversion
sudo apt-get install subversion
2、M4
sudo apt-get install m4
3、Python 3(这是一个可选的,推荐)
sudo apt-get install python3
4、Header files/static library
sudo apt-get install python-dev (如果你没有安装Python 3)
sudo apt-get install python3-setuptools python3-dev (对于Python 3.x)
5、libssl-dev(仅在未安装Python 3时才需要)
sudo apt-get install libssl-dev
6、GMP
sudo apt-get install libgmp-dev
接下来,我们将安装Charm。进入到所下载的Charm目录。
1、先运行配置脚本:
sudo ./configure.sh
2、从源安装PBC(依次在命令窗口执行下面四行代码)
./configure LDFLAGS="-lgmp"
make
sudo make install
sudo ldconfig
3、现在我们可以构建和安装Charm:
sudo make
sudo make install
4、最后,我们必须重建库的搜索路径
sudo ldconfig
5、运行Pytests
sudo make test
来源:https://jhuisi.github.io/charm/install_source.html
开发指南:https://jhuisi.github.io/charm/cryptographers.html