Encryption theory