Mar 30, 2007 2
Block ciphers typically take a block of input, perform an operation (encryption or decryption) andoutput a same-sized block. For example, when encrypting, a block cipher will read a block of plaintext, operate on it using the key, and output a block of ciphertext. When decrypting, it readsa block of ciphertext, operates on it using the key, and outputs a block of plaintext.Additionally, block ciphers may be run in a variety of modes which affect the operations. Someblock ciphers may even be used as stream ciphers, however they are typically slower than actualstream ciphers. Common block ciphers include AES, DES, and IDEA.
Public Key Cryptography
Public key cryptosystems are unique, in that they use different keys for encryption anddecryption. This is based on a relationship between three numbers: the encryption key, thedecryption key, and the modulus. Encryption operates on plaintext using the encryption key andthe modulus to produce ciphertext. Decryption operates on ciphertext using the decryption keyand the modulus to produce plaintext. One’s public (encryption) key may be widely distributedwithout fear of compromising messages encrypted with it. As long as the private (decryption) keyis kept secret, the communications are secure.Asymmetric cryptography solves several problems inherent in symmetric cryptography, such askey exchange over insecure channels, authentication, and non-repudiation using digitalsignatures.Public key encryption is slow. For this reason, most implementations of asymmetric encryptionuse the technology to encrypt a randomly generated session key that is then used to encrypt anddecrypt the plain text with either a block or stream cipher. Common public key cryptosystemsinclude RSA, Diffie-Hellman, and ElGamal.
Illustration 2: Block Cipher