Récemment, j'essayais de faire quelque chose avec le code d'ECDSA. Je veux changer la longueur de la clé, mais en vain. J'ai vérifié sur Internet et trouvé un code source d'ECDSA, mais d'une manière ou d'une autre, il ne permet que 32 octets.Comment changer la longueur de clé d'ECDSA?
Par exemple, je trouve ceci:
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");
});
});
de this site. J'ai essayé de changer le privateKey de 32 octets à 16 octets et d'autres valeurs. Il a fini par me donner des erreurs. Récemment, j'ai découvert que pour avoir une longueur de clé différente, vous avez besoin de différentes courbes. Est-ce que quelqu'un sait comment changer la courbe dans le code ci-dessus? Si non, quelqu'un fournirait-il un code source pouvant utiliser différentes longueurs de clé ECDSA?
(Je suis assez nouveau à ECC, donc si j'ai mal utilisé les termes ou si j'ai complètement mal compris le concept, s'il vous plaît pardonnez).
Veuillez lire [Dans quelles circonstances puis-je ajouter "urgent" ou d'autres expressions similaires à ma question, afin d'obtenir des réponses plus rapides?] (// meta.stackoverflow.com/q/326569) - le résumé est que cette Ce n'est pas un moyen idéal de s'adresser aux bénévoles, et il est probablement contreproductif d'obtenir des réponses. Merci de ne pas ajouter ceci à vos questions. – halfer