Demystifying Digital Signatures