PROGRAMME: ICE
COURSE CODE: EIE 524
ASSIGNMENT
REVIEW QUESTIONS
6.1 With triple encryption, a plaintext block is encrypted by passing it through an encryption
algorithm; the result is then passed through the same encryption algorithm again; the result of the
second encryption is passed through the same encryption algorithm a third time. Typically, the
second stage uses the decryption algorithm rather than the encryption algorithm.
6.2 This is an attack used against a double encryption algorithm and requires a known (plaintext,
ciphertext) pair. In essence, the plaintext is encrypted to produce an intermediate value in the
double encryption, and the ciphertext is decrypted to produce an intermediation value in the
double encryption. Table lookup techniques can be used in such a way to dramatically improve
on a bruteforce try of all pairs of keys.
6.3 Triple encryption can be used with three distinct keys for the three stages; alternatively, the
same key can be used for the first and third stage.
6.4 There is no cryptographic significance to the use of decryption for the second stage.
Its only advantage is that it allows users of 3DES to decrypt data encrypted by users of the older
single DES by repeating the key.
6.5 1. The encryption sequence should have a large period.
2. The keystream should approximate the properties of a true random number stream as close as
possible.
3. To guard against brute-force attacks, the key needs to be sufficiently long. The same
considerations as apply for block ciphers are valid here. Thus, with current technology, a key
length of at least 128 bits is desirable.
PROBLEM QUESTIONS
6.1 a. If the IVs are kept secret, the 3-loop case has more bits to be determined and is therefore
more secure than 1-loop for brute force attacks.
b. For software implementations, the performance is equivalent for most measurements. One-
loop has two fewer XORs per block. Three-loop might benefit from the ability to do a large set
of blocks with a single key before switching. The performance difference from choice of mode
can be expected to be smaller than the differences induced by normal variation in programming
style.
COURSE CODE: EIE 524
ASSIGNMENT
REVIEW QUESTIONS
6.1 With triple encryption, a plaintext block is encrypted by passing it through an encryption
algorithm; the result is then passed through the same encryption algorithm again; the result of the
second encryption is passed through the same encryption algorithm a third time. Typically, the
second stage uses the decryption algorithm rather than the encryption algorithm.
6.2 This is an attack used against a double encryption algorithm and requires a known (plaintext,
ciphertext) pair. In essence, the plaintext is encrypted to produce an intermediate value in the
double encryption, and the ciphertext is decrypted to produce an intermediation value in the
double encryption. Table lookup techniques can be used in such a way to dramatically improve
on a bruteforce try of all pairs of keys.
6.3 Triple encryption can be used with three distinct keys for the three stages; alternatively, the
same key can be used for the first and third stage.
6.4 There is no cryptographic significance to the use of decryption for the second stage.
Its only advantage is that it allows users of 3DES to decrypt data encrypted by users of the older
single DES by repeating the key.
6.5 1. The encryption sequence should have a large period.
2. The keystream should approximate the properties of a true random number stream as close as
possible.
3. To guard against brute-force attacks, the key needs to be sufficiently long. The same
considerations as apply for block ciphers are valid here. Thus, with current technology, a key
length of at least 128 bits is desirable.
PROBLEM QUESTIONS
6.1 a. If the IVs are kept secret, the 3-loop case has more bits to be determined and is therefore
more secure than 1-loop for brute force attacks.
b. For software implementations, the performance is equivalent for most measurements. One-
loop has two fewer XORs per block. Three-loop might benefit from the ability to do a large set
of blocks with a single key before switching. The performance difference from choice of mode
can be expected to be smaller than the differences induced by normal variation in programming
style.