摘要:氯化鈉,鹽是一個易用高速的庫,可用于網(wǎng)絡(luò)通訊加密揭秘簽名等應(yīng)用。不過在安全性易用性和速度上都有所提升。簽名功能已經(jīng)移植,但還沒有公布。密鑰生成的過程可能安全性稍差,這是因?yàn)槭褂昧藗坞S機(jī)數(shù)生成器取決于框架的實(shí)現(xiàn)。
NaCl (氯化鈉,鹽) 是一個易用高速的庫,可用于網(wǎng)絡(luò)通訊、加密揭秘、簽名等應(yīng)用。NaCl 的目標(biāo)是提供構(gòu)建保密工具所需要的核心功能。當(dāng)然,已經(jīng)有其他庫提供這方面的功能。不過 NaCl 在安全性、易用性和速度上都有所提升。
官方網(wǎng)站
作者 D. J. Bernstein
Python 和 C 實(shí)現(xiàn)NaCl 最初基于 Python 實(shí)現(xiàn),后來移植到了 C,不久提供了 C++ 綁定。C 代碼可以通過 http://nacl.cace-project.eu/ 獲取。
C 代碼寫得非常直截了當(dāng),移植到 C# 和 JavaScript 很容易。
查看 NaCl/Windows 了解在 Windows 上編譯 NaCl 的信息。
編譯動態(tài)共享庫請參閱 NaCl/Shared。 Debian/Ubuntu 的用戶可以看下這個倉庫: http://apt.ucis.nl/。
編譯 reference 實(shí)現(xiàn)如果需要編譯平臺無關(guān)的庫,建議僅使用 reference 實(shí)現(xiàn)。你需要在編譯前打上以下補(bǔ)?。?/p>
*** do.org 2011-02-27 17:47:19.997126841 +0100 --- do 2011-02-27 18:05:53.837122146 +0100 *************** *** 168,169 **** --- 168,173 ---- implementationdir=`dirname $doth` + implementation=`basename "$implementationdir"` + if [ "$implementation" != "ref" -a "$implementation" != "ref2" ]; then + continue; + fi opi=`echo "$implementationdir" | tr ./- ___`C# 實(shí)現(xiàn)
C# 上有一個部分的移植,是從原本的 C 代碼轉(zhuǎn)換過來的。源代碼和編譯好好的庫可在 http://oss.ucis.nl/nacl/ 獲取。注意不是所有的代碼都移植過來了。更準(zhǔn)確地說,所有 curve25519xsalsa20poly1305 crypto-box 功能依賴的東西都移植過來了。簽名功能已經(jīng)移植,但還沒有公布。
大部分移植代碼應(yīng)該和 C 版本一樣安全。密鑰生成的過程可能安全性稍差,這是因?yàn)槭褂昧藗坞S機(jī)數(shù)生成器(取決于 .Net 框架的實(shí)現(xiàn))。C# 代碼比 C 代碼速度慢些,主要是因?yàn)椤。谩〈a為特定硬件做作了優(yōu)化。
另一個 C# 的移植 作為 GbDns 的一部分發(fā)布。
JavaScript 實(shí)現(xiàn)這是另一個部分的移植,基于 C# 代碼。這個移植盡可能地和原代碼保持一致。你可以在 http://oss.ucis.nl/nacl/js/ 獲取代碼,那里還有一些用例。注意目前僅僅實(shí)現(xiàn)了 curve25519xsalsa20poly1305 密鑰生成,但是進(jìn)一步的移植很容易。
由于使用了偽隨機(jī)數(shù)生成器,密鑰生成過程的安全性會比原本的代碼差一點(diǎn)。同時,瀏覽器很容易受到跨站攻擊。由于代碼是動態(tài)解釋執(zhí)行的,因此速度比原本的代碼要慢很多。它在 Google Chrome 中表現(xiàn)最佳,其次是 Firefox,在 MSIE 中慢出翔了。但是不管怎么說,它可以工作!
PHP 綁定一個不完整的 PHP 擴(kuò)展可以從 http://oss.ucis.nl/hg/php_nacl/ 獲取。Debian/Ubuntu 已經(jīng)有打好的包了: http://apt.ucis.nl/ (php5-nacl)
其他實(shí)現(xiàn)和綁定Python: http://mojzis.com/software/python-nacl/
另一個部分 JavaScript 實(shí)現(xiàn): https://github.com/chriskuehl/nacl.js/
Java 實(shí)現(xiàn)?。梢栽凇ndroid 上工作) https://github.com/neilalexander/jnacl
最初的 C 實(shí)現(xiàn): http://nacl.cace-project.eu/
原文 NaCl
翻譯 SegmentFault
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/11124.html
摘要:第層網(wǎng)絡(luò)的一個值得注意的示例是以太網(wǎng),其中表示為子層。與其他方案相比,相對容易安裝和配置。與不同,不使用網(wǎng)絡(luò)。網(wǎng)絡(luò)策略是其最受追捧的功能之一。 本文將在介紹技術(shù)原理和相應(yīng)術(shù)語的基礎(chǔ)上,再集中探索與詳細(xì)對比目前最流行的CNI插件:Flannel、Calico、Weave和Canal,對比介紹它們的原理、使用方法、適用場景和優(yōu)缺點(diǎn)等。 showImg(https://segmentfaul...
摘要:第層網(wǎng)絡(luò)的一個值得注意的示例是以太網(wǎng),其中表示為子層。與其他方案相比,相對容易安裝和配置。與不同,不使用網(wǎng)絡(luò)。網(wǎng)絡(luò)策略是其最受追捧的功能之一。 本文將在介紹技術(shù)原理和相應(yīng)術(shù)語的基礎(chǔ)上,再集中探索與詳細(xì)對比目前最流行的CNI插件:Flannel、Calico、Weave和Canal,對比介紹它們的原理、使用方法、適用場景和優(yōu)缺點(diǎn)等。 showImg(https://segmentfaul...
摘要:的機(jī)器學(xué)習(xí)庫的機(jī)器學(xué)習(xí)庫,包括算法交叉驗(yàn)證神經(jīng)網(wǎng)絡(luò)等內(nèi)容。在即將到來的大會上,她將和大家分享在機(jī)器學(xué)習(xí)領(lǐng)域的全新可能。入門總結(jié)入門相關(guān),如安裝配置基本使用等。 基于 Swoole 開發(fā) PHP 擴(kuò)展 Swoole-1.9.7 增加了一個新特性,可以基于 Swoole 使用 C++ 語言開發(fā)擴(kuò)展模塊,在擴(kuò)展模塊中可以注冊 PHP 內(nèi)置函數(shù)和類。現(xiàn)在可以基于 Swoole 來編寫 PHP ...
閱讀 2702·2023-04-26 00:07
閱讀 2458·2021-11-15 11:37
閱讀 678·2021-10-19 11:44
閱讀 2203·2021-09-22 15:56
閱讀 1767·2021-09-10 10:50
閱讀 1530·2021-08-18 10:21
閱讀 2597·2019-08-30 15:53
閱讀 1656·2019-08-30 11:11