def test(): from PrivateKey import PrivateKey """Test cases """ from Crypto.PublicKey import RSA key = RSA.generate(2048) pbk = PublicKey(key) print("Public key generated = ", pbk) testdict = dict() testdict[pbk] = "Alice" print("testdic mapping pbk to Alice =", testdict) key = RSA.generate(2048) pbk = PublicKey(key.publickey()) print("Public key generated = ", pbk) msg = Message() msg.addInteger(13) key = RSA.generate(2048) msg.addPublicKey(key.publickey()) print("Message = ", msg) keyForSigning = RSA.generate(2048) privateKeyForSigning = PrivateKey(keyForSigning) publicKeyForSigning = PublicKey(keyForSigning.publickey()) print("Public Key for Signing=", publicKeyForSigning) publicKeyFromPrivateKeyForSigning = privateKeyForSigning.toPublicKey() print("Private Key from Public Key", publicKeyFromPrivateKeyForSigning) print("Two keys are equal (should return True) = ", publicKeyForSigning == publicKeyFromPrivateKeyForSigning) signature = privateKeyForSigning.sign(msg) print("Signature (should return true) =", signature) print("Verify Signature=", publicKeyForSigning.checkSignature(msg, signature))
def test(): """Test cases """ prk = generatePrivateKey() print("Private key generated = ", prk) msg = Message() msg.addInteger(13) msg.addPublicKey(RSA.generate(2048).publickey()) print("Message = ", msg) keyForSigning = RSA.generate(2048) privateKeyForSigning = PrivateKey(keyForSigning) signature = privateKeyForSigning.sign(msg) print("Signature=", signature)
def getMessageToSign(self,txOutputList): """Create the message to be signed, when the input is the current TxInputUnsigned for a given outputlist In Bitcoin the sender signs his input and all outputs so other inputs of the transaction are not included in the message to sign """ message = Message() message.addPublicKey(self.getSender().publickey()); message.addInteger(self.getAmount()); for txOutput in txOutputList.toList(): message.addPublicKey(txOutput.getRecipient().publickey()) message.addInteger(txOutput.getAmount()) return message