bignumber-jt
Version:
A pure javascript implementation of BigIntegers and RSA crypto.
32 lines (24 loc) • 879 B
JavaScript
var rsa = require("./lib/rsa");
var key = new rsa.Key();
var message = "All your bases are belong to us.";
console.log("Message:\n"+message+"\n");
// Generate a key
key.generate(8192, "10001");
console.log("Key:\n");
console.log("n:" + key.n.toString(16));
console.log("e:" + key.e.toString(16));
console.log("d:" + key.d.toString(16));
console.log("\n");
// Encrypt
var encrypted = key.encrypt(message);
console.log("Encrypted:\n" + rsa.linebrk(encrypted, 64) + "\n" );
// Decrypt
var decrypted = key.decrypt(encrypted);
console.log("Decrypted:" + rsa.linebrk(decrypted, 64) + "\n");
var sig = key.signString(message, "sha256");
console.log("String signature: \n" + rsa.linebrk(sig, 64));
var pubkey = new rsa.Key();
pubkey.n = key.n;
pubkey.e = key.e;
var verified = pubkey.verifyString(message, sig);
console.log("Verfied: " + verified);