Cryptographic tools