最近版本見http://www2.nict.go.jp/security/pbkzcode/index.html
這個庫是對progressive BKZ算法(論文:Improved Progressive BKZ Algorithms and their Precise Cost Estimation by Sharp Simulator)的實(shí)現(xiàn),發(fā)表在2016年的歐密會上
論文完整版本見https://eprint.iacr.org/2016/146
BKZ的核心部分pbkzmain.cpp以及ENUM(vectorenumeration.cpp)改自NTL的BKZ子程序
算法的實(shí)現(xiàn)依賴于以下庫(版本號不低于所列)
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的科學(xué)庫宅荤,是一個用C/C++開發(fā)的數(shù)值計算庫
boost
最新的版本是1.64
去官網(wǎng)下載最新版本安裝
進(jìn)入pbkz文件夾祷安,make會顯示一些錯誤瘟滨,去/etc/下找文件bash.bashrc增加如下環(huán)境變量
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