This document provides an overview of different cipher techniques, including stream ciphers and block ciphers. It discusses problems that can arise related to how crypto systems are used, such as pre-computing possible messages or statistical regularities in ciphertexts. It also summarizes approaches for simulating random keys in stream ciphers and techniques for strengthening block ciphers, such as cipher block chaining. The document outlines future topics to be covered like privacy-enhanced emails and SSL/IPsec protocols.