最近,我試着用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