问题标签 [nacl-cryptography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3497 浏览

python - 在 pynacl 中将公钥作为 JSON 对象发送

我有一个服务器和客户端设置,当客户端连接时,它通过一个带有用户名和 public_key 的 JSON 对象发送。

我当前的代码:

但我得到:

有什么解决办法吗?

0 投票
1 回答
2611 浏览

c++ - C++ - 对“sodium_init”的未定义引用

我正在尝试使用libsodium制作测试应用程序,但是出现错误:

我运行以下命令以 root 用户身份安装。

这是有问题的代码。

我使用CodeLite作为我的 IDE,我的 C++ 编译器选项如下:

选项是默认的,我添加-lsodium到列表中。

尝试main.cpp使用以下命令直接从终端编译g++ -lsodium main.cpp会引发相同的错误。

有人可以帮我解决我的问题。

0 投票
0 回答
1507 浏览

python - pynacl 在构建时失败(setup.py)

我在多个环境中尝试过,debian 8、ubuntu 14.04 和 ubuntu 16.04,当我尝试安装 pynacl 时出现此错误

0 投票
1 回答
1274 浏览

python - 如何在不再次生成密钥对的情况下进行加密/解密?

我自己一直在做一个项目,并使用这个网站的代码作为指导。有什么办法,我可以将密钥的生成放入一个文件中,并将加密/解密放入另一个文件中。如何定义 bob_box 而无需生成另一对密钥?

GEN.PY:

加密:

当我运行ENDEcrypt时输出:

0 投票
0 回答
1387 浏览

google-chrome-extension - 带有 Edge 扩展的 Native Client(NaCl) 支持

我正在开发一个边缘扩展,我需要使用 Nacl 加密我的请求,同时使用本机消息发送到后端应用程序。如何将 Nacl 与边缘扩展 background.js 一起使用。

Edge 扩展的 Backgound.js 不适用于 Nacl。Chrome 扩展的 background.js 适用于相同的 NaCl 文件。

0 投票
1 回答
70 浏览

ruby - 无法在 Ruby-s 和 Go-s 实现之间创建相同的 scrypt 摘要

我在计算RbNaClGo 的 implementation之间相同的 scrypt 摘要时遇到问题。

这是我使用 rbnacl 生成密钥的方式:

opslimitmemlimit参数值已从文档中找到。

这是我用 Go 复制相同结果的尝试:

文档中获取NrpkeyLength的值。

密码具有相同的值。

我不是密码学家,但据我所知,应该有相同的成本因子值来获得相同的摘要?这里的问题是,由于两种实现都采用不同数量的参数,我也很难找到正确的组合。任何想法如何使这两种实现之间的成本因素匹配,以便我可以在两种编程语言之间计算相同的 scrypt 哈希?

0 投票
1 回答
54 浏览

libsodium - 访问 NaCl/libsodium 中的 MAC 密钥

根据https://cr.yp.to/highspeed/naclcrypto-20090310.pdf,NaCl 从共享密钥和crypto_boxAPI 中的 nonce 派生 MAC 密钥。

Alice 使用长流的前 32 个字节(由共享密钥和 nonce 生成salsa20)来计算加密数据包的身份验证器。

但是,此过程是内部的。我想知道是否有一个 API 可以手动派生 MAC 密钥?

0 投票
1 回答
3100 浏览

go - 加密聊天中的“运行时错误:切片超出范围”

更新:感谢peterSO,错误似乎是随机字节,读取为字符串将包含“\ n”,这会导致换行和错误。问题既不是

也不

工作。任何人都知道如何将chipertext写入conn?

原帖: 聊天程序由一台服务器和两个客户端组成。它使用 TLS 和 NaCl 进行(端到端)加密。在 3/4 的情况下它可以工作,但有时我会收到一个错误:

44号线电话

第 79 行是“解密”行:

完整的代码在下面。由于它在没有加密的情况下完美地工作并且仅加密的测试实现也可以工作,我会指出客户端 - 服务器 - 客户端之间的传输。通常切片的长度不应该改变,因为输出应该保持不变?

客户阅读:

服务器端:

0 投票
1 回答
5764 浏览

javascript - 如何使用 nodejs(加密)生成 32 字节的 SHA256 哈希,以避免从 tweetnacl.js 引发错误的密钥大小错误?

我正在使用 node.js 的加密模块来生成一个 SHA256 哈希,如下所示:

现在,tweetnacl抛出错误:bad key size当密钥传入时secretbox

参数被转换为 Uint8Array,因为secretbox要求参数是 Uint8Array。

错误:是从这里bad key size抛出的,因为这里定义为。问题是返回的密钥不是 32 字节大小。tweetnaclcrypto_secretbox_KEYBYTES32 crypto

我已经搜索了 SO 和相关网站,但找不到任何可行的解决方案,但据此-转换为十六进制的 SHA256 哈希产生:

32 个单独的十六进制数(或 32 个字节)

如何使用 node.js 生成 32 字节的 SHA256 密钥以避免此错误?在生成 SHA256 哈希时我做错了什么吗?

0 投票
1 回答
54 浏览

javascript - GET请求第一次成功返回解密的gist,但重启服务器后为空对象

使用 JavaScript 和 nacl 库获取 GitHub 要点并返回解密的内容。所有的nacl方法都接受并返回UINT8数组,所以值得注意的是key也是一个32个随机字节的UINT8数组。

在我的 GitHub 帐户上使用单独的方法创建加密 gist 后,上述方法第一次工作并成功检索解密的 gist,但在重新启动服务器后,该方法仅返回一个空对象。我不知道为什么。