最近,我试着用ECDSA的代码的东西。我想改变它的关键长度,但徒劳无功。我查了一下互联网,发现了一些ECDSA的源代码,但不知何故,它只允许32个字节。如何更改ECDSA的密钥长度?
例如,我发现这一点:
var crypto = require("crypto");
var eccrypto = require("eccrypto");
// A new random 32-byte private key.
var privateKey = crypto.randomBytes(32);
// Corresponding uncompressed (65-byte) public key.
var publicKey = eccrypto.getPublic(privateKey);
var str = "message to sign";
// Always hash you message to sign!
var msg = crypto.createHash("sha256").update(str).digest();
eccrypto.sign(privateKey, msg).then(function(sig) {
console.log("Signature in DER format:", sig);
eccrypto.verify(publicKey, msg, sig).then(function() {
console.log("Signature is OK");
}).catch(function() {
console.log("Signature is BAD");
});
});
从this网站。我试图将privateKey从32个字节改为16个字节和其他值。它最终给了我错误。
最近我发现有你需要不同的曲线,不同的密钥长度。有人知道如何改变上述代码中的曲线吗?如果没有,有人会提供可以使用不同密钥长度的ECDSA的源代码吗?
(我是很新的ECC,所以如果我用错了术语或我完全误解了它的概念,请原谅)。
请阅读[在什么情况下,我可以添加“紧急”或其他类似的短语到我的问题,以获得更快的答案?](/ meta.stackoverflow.com/q/326569) - 总结是,这不是解决志愿者问题的理想方式,而且可能对获得答案起反作用。请不要将这添加到您的问题。 – halfer