Cryptographic Algorithms

Cryptographic algorithms can be roughly classified in two categories:

Symmetric cryptography algorithms are subdivided further as flow ciphers, encrypting one byte at a time, and block ciphers, encrypting blocks of input data at a time. Block ciphers operate either in ECB (electronic codebook) mode or in CBC (Cipher block chaining) mode.

Public key cryptography (PKC) algorithms use a pair of keys to perform data encoding and decoding. When one of them is used for encryption, the other one must be used for decryption. For a brief description of PKC mechanisms see the Resources. When used in conjunction with hash algorithms, PKC is an essential component of modern security systems. In particular, it allows to create digital signatures, a digest computed over a document encrypted with the originator's private key, and certificates, a public key signed by a trusted party called a certification authority.

Cryptography strength is given both by the algorithm and by the key length. Symmetric keys are usually shorter (around 128 bits), whereas PKC key pairs require a greater length (usually 1024 to 2048 bits) to provide the same level of security.

The following is a list of the most commonly used crypto algorithms.

Asymmetric Key Algorithms

Symmetric Key Algorithms

Digests

Digital Certificates