【发布时间】:2021-02-21 22:21:55
【问题描述】:
我试图了解如何基于位于here 的演示,使用纯 javascript 实现一个最小的基本公钥签名示例。
我的研究还没有产生一个简单的 javascript 示例,我可以用它来了解它的内部工作原理,而 documentation 此刻让我头疼。
我尝试查看演示的source code,但它并没有透露它的秘密。
图书馆的examples 也没有这方面的例子。
密码学对我来说是非常新的东西,因此任何关于如何在 node.js 中使用纯 javascript 创建其公钥示例的基线示例都将不胜感激!
伪代码:
const nacl = require('tweetnacl')
let message = "This is my unencrypted message"
let naclPair = nacl.sign.keyPair()
let signedMessage = nacl.sign(message, naclPair.secretKey)
let decrypted = nacl.sign.open(signedMessage, naclPair.publicKey) // is this right?
console.log(decrypted) // should this print the decrypted message?
附带说明,我对 node.js require 比对 ES6 import 更熟悉,如果这对这里的答案有任何影响,并且可以帮助演示如何使用这个库。
【问题讨论】:
-
只要看一下他们 GitHub 上的示例和 README,似乎是对的,是的。但请注意,在签署消息时,它不是“加密的”,而是“签名的”。如果你想学习密码学,我建议你从它背后的数学开始,然后在 C 中实现一些东西。这应该对数学有最大的透明度。祝你好运!
-
@Victor 我很欣赏你的评论。我正在寻找如何在无需学习 C 的情况下将 TweetNaCL.js 库与 javascript 一起使用,因为这就是库存在的原因。我只需要正确的推动才能让它发挥作用。
-
有人可以帮忙吗?
标签: javascript node.js cryptography tweet-nacl