@andybry/crypto-testing
Version:
Utilities for expermenting with cryptography
37 lines (33 loc) • 1.67 kB
JavaScript
const ecdsa = require('../ecdsa')
// key generation
const keys1 = ecdsa.generateKeys()
const keys2 = ecdsa.generateKeys()
const message = 5n // 256bit integer (e.g. from hashing a message with keccak)
const signature = ecdsa.sign(keys1.private, message)
const verify1 = ecdsa.verify(keys1.public, message, signature)
const verify2 = ecdsa.verify(keys2.public, message, signature)
const recovered = ecdsa.recover(message, signature)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Keys for User 1:')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(keys1)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Keys for User 2:')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(keys2)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Signature (by User 1):')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(signature)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Verification of signature against User 1:')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(verify1)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Verification of signature against for User 2:')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(verify2)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log('Recovered possible public keys for the signature')
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
console.log(recovered)