Stream Cipher
Encrypts data bit by bit or byte by byte using a psuedo-random stream generated by a secret key
Block Cipher
Symmetric encryption that encrypts data in fixed-size blocks, usually 64 or 128 bits, using a secret key
AES
Can operate as a block cipher or a stream cipher (this is unique to AES)
128, 192, or 256 bit key sizes
DES
One of the earliest encryption standards, 56-bt key to encrypt 64-bit data blocks
Short key length makes it vulnerable to brute force
3DES
Applies the DES algorithm three times using three different keys, increasing the effective key length to 112 bits
Blowfish and Twofish
Blowfish was known for speed and flexibility but prone to collision
Twofish is its successor, uses 128-bit blocks with key sizes up to 256 bits
ChaCha20
Developed as a secure replacement for RC4
Popular in scenarios where low latency and strong security are required
RSA
Asymmetric algorithm for both encryption and signatures
Relies on the difficulty of factoring large prime numbers
DSA
Tailored solely for signing, focusing on proving that a message comes from a legitimate sender and has not been altered
Diffie-Hellman
Allows two parties to establish a common symmetric key over an unsecured channel without exchanging that secure key
ECC
Advanced form of encryption that uses the unique mathematical properites of elliptic curves to provide high security with smaller key sizes
256-bit key in ECC provides comparable security to a 3072-bit RSA key
ECDSA
Uses elliptic curves to provide robust security without the heavy resource requirements of RSA or DSA
ECDH
Elliptic Curve Diffie-Hellman
Uses elliptic curves to facilitate secure key exchanges