问题标签 [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 投票
2 回答
7353 浏览

encryption - 关于 NaCL 加密库的问题

我正在寻找实现加密系统的库,并且对使用 NaCl: Networking and Cryptography 库特别是box 函数很感兴趣。显然,它使用对称加密 XSalsa20、Curve25519 用于公私加密,Poly1305 用于身份验证作为其原语。

但是,文档在它们的使用方式上看起来不够充分。例如,它提到要计算密钥,它使用发送者的私钥和接收者的公钥来计算密钥。但它没有解释如何。任何人都可以阐明它吗?

如果我要使用相同的公钥和私钥,我不会在下一次尝试时生成相同的密钥,这将是灾难性的。有谁知道它背后的解释,或者给我提供更多关于函数如何工作而不是如何使用函数的文档?

0 投票
2 回答
1409 浏览

objective-c - 在 Objective-C 中使用 NaCl/libsodium 加密

我试图找出在 Objective-C 中使用 NaCl 库的正确方法是什么。密钥生成似乎很容易:

那很简单。但是有了这个crypto_box(c,m,mlen,n,pk,sk)功能,我就混淆了填充,ZEROBYTES以及如何管理对象所有权。如何为crypto_box(c,m,mlen,n,pk,sk)和朋友构建一个简单的 Wrapper?

0 投票
0 回答
636 浏览

cryptography - libnacl 加密库 - 如何恢复公钥

我使用nacl密码库,需要从密钥中恢复公钥。这可能吗?

这是我有点幼稚的尝试:

公钥不匹配。任何想法应该如何完成?

0 投票
2 回答
3263 浏览

encryption - 使用 libsodium 进行加密

我一直在努力使用 libsodium 中的 crypto_secretbox_easy() 加密/解密一些数据。我似乎找不到任何关于使用的好的文档。

我想从用户那里得到一个密码,用它来制作一个密钥,然后用它加密/解密数据。

我在下面发布的玩具代码的问题是 crypto_secretbox_open_easy() 从 verify_16.c 中返回 -1。有谁知道我在哪里可以找到显示如何使用此界面或可能出现什么问题的来源?谢谢!

0 投票
1 回答
3153 浏览

php - 与 libsodium 进行安全密钥交换

我想做一个测试应用程序,它使用libsodium从客户端到服务器进行通信。

许多语言有许多端口: C#PHP、...

并且总是有“鲍勃”和“爱丽丝”的例子。这很好,但他们从未展示如何以安全的方式通过网络交换公钥。

那么推荐的方法是如何交换“alice/client”和“bob/server”的公钥。

他们总是使用相同的文件或相同的机器来生成密钥对。

这是libsodium-php扩展的摘录:

0 投票
1 回答
1859 浏览

java - Java 和 Javascript Ed25519 实现之间的互操作性

ed25519 -javajs-nacl都实现了 ed25519 加密签名方法。但是,我从 ed25519-java 获得了一个公钥和一个签名消息(使用公钥对应的私钥签名),并尝试使用 js-nacl 中的公钥验证签名消息。这给出了一个null值,即无法使用公钥打开签名消息。

我的问题是,是否可以登录 Java 并验证 Javascript 中的签名?如果是,或者如果不是,为什么?

Java 代码:

checkvalid 调用返回 true。

输出签名:oFMU_mC_zzZcJP2C-uTqsyUHoyLUSnwirJbhcdkSTnj2nI_p-VgKAqN5bFMPKsKYiWvyiUgHWu3s4OyB9WbKDg

输出公钥:O2onvM62pC1io6jQKm8Nc2UyFXcd4kOmOsBIoYtZ2ik

javascript代码:

x为空,但"www.example.com"如果可以使用公钥打开签名,则应作为输出。

不确定它是否会影响工作,但 Java 的字节数组是有符号的,而 js-nacl 使用 Javascript 的Uint8Array无符号字节数组。

0 投票
1 回答
2565 浏览

python - 构建 pynacl 时遇到问题

我一直在尝试构建 pynacl ( https://github.com/pyca/pynacl )。但我遇到了一些麻烦。我正在运行 ubuntu,我已经尝试安装 libsodium 和我能想到的所有其他东西,但仍然是同样的问题。

当我跑步时:python setup.py install我得到:

知道我做错了什么吗?ps我对python很陌生

更新:我正在运行 Python 2.7.5+

0 投票
2 回答
195 浏览

gcc - 禁用 NaCl 加密库的 CPU 调优

是否可以在 NaCl中禁用特定于 CPU 的自动调整?

我想在适用的情况下编译参考.c忽略任何 x86 .s(来自 qhasm)等。

设置-marchand -mtuneor-mcpu似乎是不够的。

0 投票
1 回答
4260 浏览

android - 在 android studio 项目中使用 libsodium

我正在尝试在 android studio 项目中使用 libsodium 库。但是,我无法弄清楚如何做到这一点。我从 libsodium 网站下载了库,但不明白如何创建 android studio 项目所需的库文件。任何帮助将不胜感激。我想 kalium (https://github.com/abstractj/kalium)会帮助我做到这一点,但我对如何合并它也有点困惑。

0 投票
1 回答
141 浏览

c - NaCl XSalso20 C 代码未编译

我只是在尝试 NaCl 网站上的 Xsalsa20 代码。我无法编译它。

当我尝试使用 GCC 编译它时,我收到以下错误消息。

有人可以帮我解决这个问题。

PS:此代码在我编译 NaCl 的 NaCl 文件夹中