Encryption is the act of applying an algorithmic transformation to two pieces of data (known as the plain text and the key) and producing a single piece of data (known as the cypher text) from which it is not easy to recover either the plain text or the key ''even if the algorithm used is known''. Reversing the process (getting the plain text from the cypher text, with the input of a suitable key) is known as decryption. There are two main categories of cryptographic systems: '''symmetric''' and '''asymmetric'''. In a symmetric cryptosystem, the same key is used to encypher as is used to decypher; obviously, letting an untrusted third-party find the key in such a scheme would be catastrophic, but symmetric systems have the advantage that they tend to offer reasonably good performance. The other main category is asymmetric cryptosystems where keys come in pairs, and anything that is encrypted with one key of the pair can be decrypted with the other key of the pair; this makes them fairly useful for situations involving identities, as one of the keys can be kept completely secret (it is usually called the ''private'' key) and the other key is made widely available and can be used by anyone (and is usually called the ''public'' key.)