Codes, ciphers, and other secrets