An algorithm that describes rules for converting the source text of a message into a set of symbols incomprehensible to an outside observer. It prescribes a series of clearly defined actions that must be performed to encrypt/decrypt a message. The cipher complexity depends on a piece of auxiliary data called a key. Without the key, converting encrypted information into plaintext is extremely difficult or outright impossible.