Security systems rely on several types of cryptography in order to provide a practical and manageable data security infrastructure. The differences between them depend on the type of algorithm (methodology, also known as a cipher) used to perform encryption or decryption. The differences in algorithms reflect different trade-offs in complexity (level of security), speed, and practical usability for the task at hand. These same differences exist to a lesser extent between variations of the same type of algorithm. These variations depend on different sizes and types of secret data values (keys) that are input to the algorithm, and—for some types of algorithms—different modes of operation. Also, some algorithms (known as hashing algorithms) perform a type of one-way encryption (encryption with no decryption).
Level of security (strength) and speed are perhaps the two most important characteristics of a cryptographic algorithm. Security systems often rely on algorithms of different strengths and speeds for different aspects of security.
Algorithms are typically identified by a meaningful acronym, such as DES (Data Encryption Standard) or RSA (the initials of its three inventors). This acronym distinguishes the type of algorithm within the larger type of cryptography that it represents, and is also unique among different types of cryptography. (For example, while DES is a symmetric-key algorithm, there is no asymmetric-key algorithm also identified as DES.)