Block ciphers and stream ciphers are the two main types of symmetric encryption algorithms. Block ciphers encrypt data in fixed-length blocks, while stream ciphers encrypt data one bit or byte at a time. The AES and DES algorithms are common block ciphers that use a feistel network structure with multiple rounds of processing. Modes of operation like ECB, CBC, CFB and OFB define how block ciphers can encrypt multiple blocks of data. Public key cryptography uses asymmetric algorithms like RSA that have separate public and private keys, allowing for both encryption and digital signatures. Key distribution and management are important aspects of deploying public key encryption at scale.