NaCl 更安全、更易用、更快速的开源加密库

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: NaCl (氯化钠,盐) 是一个易用高速的库,可用于网络通讯、加密揭秘、签名等应用。NaCl 的目标是提供构建保密工具所需要的核心功能。当然,已经有其他库提供这方面的功能。不过 NaCl 在安全性、易用性和速度上都有所提升。

NaCl (氯化钠,盐) 是一个易用高速的库,可用于网络通讯、加密揭秘、签名等应用。NaCl 的目标是提供构建保密工具所需要的核心功能。当然,已经有其他库提供这方面的功能。不过 NaCl 在安全性、易用性和速度上都有所提升。

image.png

Python 和 C 实现

NaCl 最初基于 Python 实现,后来移植到了 C,不久提供了 C++ 绑定。C 代码可以通过 http://nacl.cace-project.eu/ 获取。

C 代码写得非常直截了当,移植到 C# 和 JavaScript 很容易。

查看 NaCl/Windows 了解在 Windows 上编译 NaCl 的信息。

编译动态共享库

请参阅 NaCl/Shared。 Debian/Ubuntu 的用户可以看下这个仓库: http://apt.ucis.nl/

编译 reference 实现

如果需要编译平台无关的库,建议仅使用 reference 实现。你需要在编译前打上以下补丁:

*** 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# 实现

C# 上有一个部分的移植,是从原本的 C 代码转换过来的。源代码和编译好好的库可在 http://oss.ucis.nl/nacl/ 获取。注意不是所有的代码都移植过来了。更准确地说,所有 curve25519xsalsa20poly1305 crypto-box 功能依赖的东西都移植过来了。签名功能已经移植,但还没有公布。

大部分移植代码应该和 C 版本一样安全。密钥生成的过程可能安全性稍差,这是因为使用了伪随机数生成器(取决于 .Net 框架的实现)。C# 代码比 C 代码速度慢些,主要是因为 C 代码为特定硬件做作了优化。

另一个 C# 的移植 作为 GbDns 的一部分发布。

JavaScript 实现

这是另一个部分的移植,基于 C# 代码。这个移植尽可能地和原代码保持一致。你可以在 http://oss.ucis.nl/nacl/js/ 获取代码,那里还有一些用例。注意目前仅仅实现了 curve25519xsalsa20poly1305 密钥生成,但是进一步的移植很容易。

由于使用了伪随机数生成器,密钥生成过程的安全性会比原本的代码差一点。同时,浏览器很容易受到跨站攻击。由于代码是动态解释执行的,因此速度比原本的代码要慢很多。它在 Google Chrome 中表现最佳,其次是 Firefox,在 MSIE 中慢出翔了。但是不管怎么说,它可以工作!

PHP 绑定

一个不完整的 PHP 扩展可以从 http://oss.ucis.nl/hg/php_nacl/ 获取。Debian/Ubuntu 已经有打好的包了: http://apt.ucis.nl/ (php5-nacl) 

其他实现和绑定

相关文章
|
3月前
|
存储 安全 API
如何对 API 进行安全加密?
对API进行安全加密是保障数据安全和系统稳定的重要措施
260 56
|
3月前
|
算法 安全 数据安全/隐私保护
Crypto++库支持多种加密算法
【10月更文挑战第29天】Crypto++库支持多种加密算法
147 4
|
4月前
|
安全 网络安全 区块链
网络安全与信息安全:构建数字世界的防线在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的重要屏障。随着网络攻击手段的不断升级,从社交工程到先进的持续性威胁(APT),我们必须采取更加严密的防护措施。本文将深入探讨网络安全漏洞的形成原因、加密技术的应用以及提高公众安全意识的重要性,旨在为读者提供一个全面的网络安全知识框架。
在这个数字信息日益膨胀的时代,网络安全问题成为了每一个网民不可忽视的重大议题。从个人信息泄露到企业数据被盗,再到国家安全受到威胁,网络安全漏洞如同隐藏在暗处的“黑洞”,时刻准备吞噬掉我们的信息安全。而加密技术作为守护网络安全的重要工具之一,其重要性不言而喻。同时,提高公众的安全意识,也是防范网络风险的关键所在。本文将从网络安全漏洞的定义及成因出发,解析当前主流的加密技术,并强调提升安全意识的必要性,为读者提供一份详尽的网络安全指南。
|
4月前
|
存储 安全 5G
|
2月前
|
前端开发 数据安全/隐私保护
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程 前端uniapp+H5 后端FastAdmin框架 可打包成APP多端运行 亲测可用
89 13
|
4月前
|
安全 算法 网络安全
网络安全与信息安全:守护数字世界的坚盾在这个高度数字化的时代,网络安全和信息安全已成为全球关注的焦点。无论是个人隐私还是企业数据,都面临着前所未有的风险和挑战。本文将深入探讨网络安全漏洞、加密技术以及安全意识的重要性,旨在为读者提供实用的知识,帮助构建更加安全的网络环境。
【10月更文挑战第4天】 在数字化浪潮中,网络安全与信息安全成为不可忽视的议题。本文通过分析网络安全漏洞的类型与成因,探讨加密技术的原理与应用,并强调提升安全意识的必要性,为读者提供一套全面的网络安全知识框架。旨在帮助个人和企业更好地应对网络威胁,保护数字资产安全。
193 65
|
4月前
|
存储 安全 前端开发
端到端加密:确保数据传输安全的最佳实践
【10月更文挑战第12天】端到端加密(E2EE)是确保数据传输安全的重要手段,通过加密技术保障数据在传输过程中的隐私与完整性,防止第三方窃听和篡改。本文介绍E2EE的工作原理、核心优势及实施步骤,并探讨其在即时通讯、文件共享和金融服务等领域的应用,强调了选择加密协议、密钥管理、数据加密及安全接口设计的重要性,旨在帮助企业和开发者有效保护用户数据,满足数据保护法规要求。
|
4月前
|
安全 数据安全/隐私保护 CDN
阿里云国际站:海外视频安全的DRM
阿里云国际站:海外视频安全的DRM加密
|
4月前
|
安全 数据安全/隐私保护 CDN
阿里云海外视频安全的DRM
阿里云海外视频安全的DRM加密
|
4月前
|
安全 大数据 网络安全
网络安全与信息安全:守护数字世界的坚盾在数字化浪潮席卷全球的今天,网络安全已成为维系社会稳定、促进经济发展的重要基石。本文旨在深入探讨网络安全漏洞、加密技术及安全意识等核心议题,通过分享前沿知识与实用策略,助力构建更加安全可靠的网络环境。
【10月更文挑战第8天】 本文聚焦网络安全领域的关键要素,包括安全漏洞的识别与防御、加密技术的演进与应用,以及安全意识的培养与提升。通过对最新研究成果和实际案例的分析,文章揭示了网络安全威胁的多样性和复杂性,强调了综合防护策略的重要性。同时,倡导社会各界共同参与,形成全民网络安全意识,共筑数字空间的安全防线。
104 0

热门文章

最新文章