192. b. A message integrity code uses a secret key to produce a fixed length hash code that is sent with the message. Integrity codes are used to protect the integrity of large interbank electronic funds transfers. A message authentication code is a hashed representation of a message and is computed by the message originator as a function of the message being transmitted and the secret key. If the message authentication code computed by the recipient matches the authentication code appended to the message, the recipient is assured that the message was not modified. Both integrity codes and authentication codes are cryptographic checksums, which are stronger than non-cryptographic checksums.
Cryptography can effectively detect both intentional and unintentional modification; however, cryptography does not protect files from being modified. Both secret key and public key cryptography can be used to ensure integrity. When secret key cryptography is used, a message authentication code is calculated and appended to the data. To verify that the data has not been modified at a later time, any party with access to the correct secret key can recalculate the authentication code. The new authentication code is compared with the original authentication code. If they are identical, the verifier has confidence that an unauthorized party has not modified the data.
Data checksums are digits or bits summed according to arbitrary rules and used to verify the integrity of data. A cyclic redundancy code (CRC) uses an algorithm for generating error detection bits in a data link protocol. The receiving station performs the same calculation as done by the transmitting station. If the results differ, then one or more bits are in error. Both data checksums and CRC are not based on cryptographic checksums. Instead, they are based on algorithms.
193. Which of the following statements about secret key and message digest algorithms are not true?
1. The drive for message digest algorithms starts with public key cryptography.
2. Message digest algorithms make the RSA much more useful.
3. Secret key algorithm is designed to be irreversible.
4. Message digest algorithm is designed to be reversible.
a. 1 and 2
b. 3 and 4
c. 1 and 3
d. 2 and 4
193. b. The significant difference between a secret key algorithm and a message digest algorithm is that a secret key algorithm is designed to be reversible and a message digest algorithm is designed to be impossible to reverse. It is true that the drive for a message digest algorithm started with public key cryptography. Rivest, Shamir, and Adelman (RSA) is used to perform digital signatures on messages. A cryptographically secure message digest function with high performance would make RSA much more useful. This is because a long message is compressed into a small size by first performing a message digest and then computing an RSA signature on the digest.
194. When compared to the Rivest, Shamir, and Adelman (RSA) algorithm, the Digital Signature Standard (DSS) does not provide:
a. Digital signature
b. Authentication
c. Encryption
d. Data integrity
194. c. Both RSA and DSS provide digital signature, authentication, and data integrity capabilities. RSA provides encryption; DSS does not. The digital signature algorithm (DSA) is specified in the DSS. The DSS contains the DSA to create signatures as well as the secure hash algorithm (SHA) to provide data integrity. SHA is used in electronic mail and electronic funds transfer applications.
195. Which of the following attacks are made on block ciphers?
a. Meet-in-the-middle attacks
b. Codebook attacks
c. Man-in-the-middle attacks
d. Bucket brigade attacks
195. a. Meet-in-the-middle (MIM) attacks occur when one end is encrypted and the other end is decrypted, and the results are matched in the middle. MIM attacks are made on block ciphers. A block cipher algorithm is a (i) symmetric key cryptographic algorithm that transforms a block of information at a time using a cryptographic key and (ii) a family of functions and their inverse functions that is parameterized by a cryptographic key; the functions map bit strings of a fixed length to bit strings of the same length. This means, the length of the input block is the same as the length of the output block.