Assessment Item 1: Problem Solving Task
Module 2 Task: Stream Ciphers, Block Ciphers and Block Cipher Modes
Problem solving task:
· Complete the tasks using CrypTool 2 or by hand.
Submission:
You will submit a report documenting your answers to the questions.
· Submission is electronic, via Blackboard. Look for the Turnitin link under Assessment Item 1: Problem Solving Task, in the Module 2 folder.
· It is important that your report is written in your own words. You may also include screenshots of CrypTool outputs.
Question 1 – Stream Cipher Basics (7 marks)
1. How do the encryption and decryption operations differ in a binary additive synchronous stream cipher? What is the implementation advantage associated with this?
2. The LFSR shown in the diagram above has the following characteristics:
I. length L = 5,
II. tap setting T = 10100,
III. initial state S = 10101.
For your assigned LFSR (extracted from your data file in the Challenges.zip file):
a) Using the characteristics indicated for your LFSR, produce the first 100 terms of the LFSR output sequence.
b) What is the period of your LFSR output sequence?
c) Is this sequence of maximal length, given the register length L? Explain your answer.
3. For your assigned plaintext message (extracted from your data file):
a) Use the ASCII code: Character to binary table located at the end of this task sheet to encode the plaintext and form a bitstream.
b) Using the first portion of your LFSR output sequence as a keystream sequence, encrypt your message to form a binary ciphertext.
NOTE: Record your computation for Part 3 in a table, like this:
Plaintext character
A
m
o
u
s
e
Binary Stream
01000001
00100000
?
?
?
?
?
Keystream
?
?
?
?
?
?
?
Ciphertext
?
?
?
?
?
?
?
4. In practice, an LFSR sequence would not be used as keystream for a stream cipher, due to the linear complexity.
a) What is the linear complexity of a maximal length LFSR output sequence?
b) Describe one method to produce a binary output sequence using LFSRs with increased linear complexity.
Conversion Table for use in Question 1:Image result for ascii binary
Question 2 – Analysis of Stream Cipher (3 marks)
Your data file contains a ciphertext, C1, and the corresponding plaintext message, P1. You have also been given a ciphertext, C2, formed by encryption of P2 using the same keystream. Record your results for this Question in tables similar to that used in Question 1 Part 3.
1. Recover the keystream used in the encryption of the messages.
2. Recover P2.
3. Explain how an attacker without access to the keystream would know the differences between P1 and P2, from the ciphertexts C1 and C2 alone.
Question 3 – Block Cipher Basics (6 marks)
This question relates to block ciphers used in ECB mode. Your data file contains a DES key and an AES key.
1. What is a Feistel structure? Which of the standard block ciphers (DES, AES) has a Feistel structure?
2. Encrypt the plaintext message AAAAAAAABBBBBBBBaaaaaaaabbbbbbbbAAAAAAAABBBBBBBB (these are alpha characters, not hexadecimal):
a) Using DES in ECB mode (using the DES Key in your file - key is in hex representation).
b) Using AES in ECB mode (using the AES Key in your file – key is in hex representation).
3. What effect does the increased block size have on patterns in the ciphertext?
4. Does increasing the block size solve the problem entirely? Explain your answer, referring to your ciphertexts for a) and b) in Part 2 above.
5. Provide an alternative DES Key that, when applied to the plaintext in Part 2 above, produces the same ciphertext. Explain the relationship between the two DES keys.
Question 4 – Analysis of Block Cipher (4 marks)
For this question, your task is to construct an example demonstrating an attacker action on ciphertext blocks (delete, insert, replay, reorder – as noted in your data file). Your response should consist of:
1. A plaintext message of at least 80 characters.
2. The corresponding ciphertext, formed by encrypting your chosen plaintext using DES in ECB mode with the DES key in your data file.
3. An altered ciphertext, with the required action performed.
4. Decryption of the altered ciphertext, to recover the modified plaintext.
Question 5 – Encryption using AES in various modes (5 marks)
Your data file contains an AES key and an IV.
1. Use the key and IV to encrypt the plaintext message: AAAAAAAABBBBBBBBaaaaaaaabbbbbbbbAAAAAAAABBBBBBBBaaaaaaaabbbbbbbb
(these are alpha characters, not hexadecimal) using various block cipher modes of operation.
a) Encrypt the plaintext using AES in ECB mode.
b) Encrypt the plaintext using AES in CBC mode.
c) Encrypt the plaintext using AES in OFB mode.
2. Suppose a bit flip error occurs in the third bit of the ciphertext. Upon decryption, some of the recovered plaintext is incorrect.
a) For each of the three ciphertexts you produced in Part 1, alter the ciphertext and then decrypt the altered ciphertext. How much of the recovered plaintext is in error?
b) For which of these block cipher modes is the recovered plaintext least affected by the bitflip error? Explain your answer.
Question 3:
DES Key: 043B190951272B2B
AES Key: 875235542762457867B852857C877D32
Question 4:
DES Key: 043B190951272B2B
Action: replay
Question 5:
AES Key: 875235542762457867B852857C877D32
IV: 48475E60193F84658365365372677633
Question 6 – Using AES-CBC-MAC with varying IV (5 marks)
Your data file contains a message, an IV and a MAC. The MAC is a valid AES-CBC-MAC for the given message and IV. However, you do not know the key that was used to construct the MAC. Without knowing the key, use the provided information to construct a valid MAC for the message “Hello Dr Leonie!” (Assume this MAC is also created using AES-CBC-MAC and the same secret key). You can select the IV to be used in forming the MAC for this new message. In this case, as the message length is a multiple of the block size, no padding has been used. In documenting your response to this question, be sure to address the following items:
1. What were the inputs used to create the MAC you were given?
a) Provide using the representation given in the data file, and
b) Use the ASCII code: Character to binary table located at the end of this task sheet to encode these to give the binary representation.
2. How are the inputs processed in creating the MAC (step by step)?
3. What is the binary representation of the input message “Hello Dr Leonie!”?
4. What is the value of your selected IV:
a) Binary representation?
b) In hexadecimal?
5. For the message “Hello Dr Leonie!” provide your IV and valid MAC.