Hashing, Signatures, PKI, and Obfuscation