最近版本见http://www2.nict.go.jp/security/pbkzcode/index.html
这个库是对progressive BKZ算法(论文:Improved Progressive BKZ Algorithms and their Precise Cost Estimation by Sharp Simulator)的实现,发表在2016年的欧密会上
论文完整版本见https://eprint.iacr.org/2016/146
BKZ的核心部分pbkzmain.cpp以及ENUM(vectorenumeration.cpp)改自NTL的BKZ子程序
算法的实现依赖于以下库(版本号不低于所列)
gcc-5.3.0 (https://gcc.gnu.org/)
NTL-9.7.0 (http://www.shoup.net/ntl/)
gmp-6.1.0 (https://gmplib.org/)
gsl-1.16 (http://www.gnu.org/software/gsl/)
boost 1.58.0 (http://www.boost.org/)
介绍一下后两个库
gsl
GNU的科学库,是一个用C/C++开发的数值计算库
![](https://img.haomeiwen.com/i1069308/889b177e0e4d320d.png)
boost
![](https://img.haomeiwen.com/i1069308/28cccbdd1941c563.png)
最新的版本是1.64
![](https://img.haomeiwen.com/i1069308/c464493e448f5207.png)
去官网下载最新版本安装
![](https://img.haomeiwen.com/i1069308/becbfd66c6275fca.png)
进入pbkz文件夹,make会显示一些错误,去/etc/下找文件bash.bashrc增加如下环境变量
CPLUS_INCLUDE_PATH=/usr/local/boost_1_64_0
export CPLUS_INCLUDE_PATH
LIBRARY_PATH=/usr/local/boost_1_64_0/stage/lib
export LIBRARY_PATH
网友评论