hms: one for signing the message and the other for verification. Digital signatures rely on public key cryptography (discussed later in this chapter). There are two major categories of encryption algorithms: symmetric and asymmetric. Symmetric Encryption In symmetric encryption, the sender and the receiver use the same key or machine setup. There are two approaches to encoding data using symmetric encryption: block cipher and streaming cipher. With the block cipher approach, the algorithm encodes text in fixed-bit blocks, using a key whose length is also fixed in length. With the streaming cipher approach, the algorithm encodes the stream of data sequentially, without segmenting it into blocks. Both of these tech- niques require a secure method of reexchanging keys between the participants. Symmetric encryption algorithms include the following: Data Encryption Standard (DES)-DES, which was developed in the 1970s, is very popular in the banking industry. It is a block cipher that encodes text into fixed-bit blocks (typically 64 bits), using a 56-bit key. DES has been replaced by Advanced Encryption Standard (AES). Triple DES (3DES)-3DES is 168-bit encryption that uses three 56-bit keys. 3DES applies the DES algorithm to a plaintext block three times. Rivest Cipher 4 (RC4)-RC4 is a streaming cipher technique; a stream cipher adds the output of a pseudorandom number generator bit by bit to the sequential bits of the digitized plaintext. Blowfish-Blowfish is a 64-bit block code that has key lengths of 32 bits to 448 bits. Blowfish is used in more than 100 products and is viewed as one of the best available algorithms. International Data Encryption Algorithm (IDEA)-IDEA, developed by ETH Zurich (www.ethz.ch), is free of charge for noncommercial use. It is viewed as a good algorithm and is used in Pretty Good Privacy (PGP) and in Speak Freely, a program that allows encrypted digitized voice to be sent over the Internet. Twofish-Twofish, developed by Bruce Schneier of Counterpane Internet Security (www.counterpane.com),