Cryptographic analysis