有些程序會使用Chacha20加密算法,如果Centos7系統(tǒng)報錯Exception: libsodium not found,則缺乏M2Crypto與libsodium依賴環(huán)境所致;
Salsa20是一種流加密算法,由Daniel J. Bernstein提交到eSTREAM。它創(chuàng)建在基于add-rotate-xor(ARX)操作的偽隨機(jī)函數(shù)之上——32位模加、異或(XOR)和循環(huán)移位操作。Salsa20映射一個256位密鑰、一個64位nonce以及一個64位流位置到一個512位的輸出(也存在一個128位密鑰的版本)。這使Salsa20具有了不同尋常的優(yōu)勢,用戶可以在恒定時間內(nèi)尋求輸出流中的任何位置。它可以在現(xiàn)代x86處理器中提供約每4–14次循環(huán)周期一字節(jié)的速度,并具有合理的硬件性能。它沒有注冊專利,并且Bernstein還撰寫了幾篇對常見架構(gòu)優(yōu)化的公有領(lǐng)域?qū)崿F(xiàn)。Salsa20已被提交到eSTREAM。
一個相關(guān)的密碼算法ChaCha,具有類似的特點(diǎn),但有不同的循環(huán)移位函數(shù),已在2008年由Bernstein發(fā)布。
M2Crypto與Libsodium簡介
M2Crypto:一個Python加密和SSL工具包
M2Crypto是用于OpenSSL特征為RSA,DSA,DH,EC,HMAC,消息摘要,對稱密碼(包括AES)的最完整的Python包裝器。SSL功能實(shí)現(xiàn)客戶端和服務(wù)器; Python擴(kuò)展Python的httplib,urllib和xmlrpclib; 不可偽造的HMAC’AuthCookie用于網(wǎng)絡(luò)會話管理; FTP / TLS客戶端和服務(wù)器; S / MIME; ZServerSSL:Zope和ZSmime的HTTPS服務(wù)器:Zope的S / MIME信使。M2Crypto也可以用于為Twisted提供SSL。通過引擎接口支持智能卡。
Libsodium
用于加密,解密,簽名,密碼散列,其目標(biāo)是提供構(gòu)建更高級別加密工具所需的所有核心操作。盡管強(qiáng)調(diào)高安全性,但是原語比NIST標(biāo)準(zhǔn)的大多數(shù)實(shí)現(xiàn)更快。
如果你centos7系統(tǒng)需要支持Chacha20加密算法請使用以下命令安裝
yum install m2crypto gcc -y
wget -N --no-check-certificate https://download.libsodium.org/libsodium/releases/libsodium-1.0.8.tar.gz
tar zfvx libsodium-1.0.8.tar.gz
cd libsodium-1.0.8
./configure
make make install
echo "include ld.so.conf.d/*.conf" > /etc/ld.so.conf
echo "/lib" >> /etc/ld.so.conf
echo "/usr/lib64" >> /etc/ld.so.conf
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig