如何使用JavaScript库使用椭圆曲线解密加密消息?

主义

在JavaScript中找到了一个有关椭圆曲线密码学的库我已经学会了如何加密邮件。但是,我没有找到如何将其解密为原始消息的方法。

加密代码:

var EC = require('elliptic').ec;
var ec = new EC('secp256k1');
 
var msg = "hello";

let myKey = ec.keyFromPrivate('29f3c33a550d3810e6b82b7b510672118aeabcf8b19e00172e4623cbf480d2b8');
const sig = myKey.sign(msg, 'base64');
var derSign = sig.toDER('hex');
console.log (derSign)

输出:

3044022076e7fbf80454f764e346dd359eb7f2002802e68d30a689d77d6211aa2c6e9d7302201b5f35d92b8f4aefd5f69d9d21e3dfba75404e4d5a89e09239b2accf43ff6d63

我想hello再次将签名返回请问我该怎么做?

于杰

我看不到椭圆形的任何加密和解密功能,即使在库的源代码中也是如此。在您的演示代码中,它是签名,而不是加密的消息。您可以verify用来验证消息是否被某些邪恶的人更改了。

console.log(myKey.verify(msg, derSign)); // true
console.log(myKey.verify(msg+"something_else", derSign)); // false

如果输出为false,则表示您的消息已更改,为true则表示消息未更改。这就是签名的工作方式,而不是加密或解密消息。

因此,如果您想使用ecc加密和解密消息,我想您可能会使用此库eccrypto

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用公共密钥加密,以Javascript加密,以PHP解密

解密使用RSA Java加密的“长”消息

无法使用椭圆曲线(EC)加密签署JWT

如何使用OpenSSL加密/解密文件?

使用Bouncycastle的椭圆曲线点加法

如何使用PHP解密对称加密的OpenPGP消息?

使用PHPmyAdmin加密/解密MySQL数据库

如何使用加密技术从python中的用户输入解密消息?

使用公钥加密,并使用椭圆曲线密码术用私钥解密

如何使用SecKeyRawSign和椭圆曲线键进行签名/验证

使用JavaScript加密(cryptojs),使用php openssl解密,无法重新创建消息密钥

如何使用Virgil安全性对消息进行加密和解密?

如何使用openssl将加密/解密的消息输出到stdout

使用Diffie Hellman密钥交换和椭圆曲线加密快速加密

使用加密库在Python中生成椭圆曲线私钥

当我使用JavaScript更改消息时,为什么RSA加密解密是错误的?

椭圆曲线密码术:在Eclipse Android中使用NFC发送加密的消息

如何使用Qt加密/解密/播放视频?

如何使用OpenSSL解密加密的私钥?

如何使用加密密钥加密消息

分别使用椭圆曲线密码术加密和解密文本消息

如何使用替代函数来解密和加密消息

使用库(gpg)加密/解密R中的对象

如何使用openssl解密加密文件?

如何使用加密货币库以这种特殊方式使用 RSA 解密 ByteString?

使用 python 加密解密消息

在 Python 中使用 AES GCM 解密加密消息

使用简单的 Javascript 加密和解密字符串而不使用任何外部库

使用 R 解密 PHP 中加密的消息