Computer Networks

Tutorial #17

  1. The simplest cryptosystems are monoalphabetic substitution cyphers. Give an example of such a system, and explain why it is not regarded as being very secure.

  2. Just about the simplest subsitution cypher to implement in software is a byte-wise XOR of each byte in the data stream with a single byte key. How does this work? Investigate the XOR function and explain why it is particularly useful for this function.

  3. The DES uses a 56 bit key.
    1. How does this compare with the number of "bits" in the key for a typical ATM card? NB: think about how many bits are needed to represent the known key space size.
    2. What is the key size in bits for typical Unix passwords chosen from the 96 character printable ASCII character set?
    3. What if the Unix password was only chosen from the set of upper and lowercase letters and the 10 digits?
    4. The security of a PIN system, as used in auto teller machines, is actually higher than it might at first seem. Why?

  4. For each of the keys discussed in the previous question, how long would it take to search the entire key space if one key can be tried every 0.1 microseconds?

  5. The following string of bits is ciphertext which has been encrypted using a one-time pad. The key which must be used for decryption is also shown. Use your cryptographic knowledge to crack the code and discover the plaintext message. Some (possibly useful) ASCII codes are given below to convert the resulting plaintext bit string into English text.
        Ciphertext: 0001010 0001001 0000010
    
               Key: 1001011 1000101 1000111
    
    Some useful ASCII character codes:
    A:  1000001 B:  1000010 C:  1000011 D:  1000100 E:  1000101
    F:  1000110 G:  1000111 H:  1001000 I:  1001001 J:  1001010
    K:  1001011 L:  1001100 M:  1001101 N:  1001110 O:  1001111
    

  6. Why would you not use Vernam Cipher for large messages?

  7. More usable one-time pad systems (of the kind that real spies might use) can use a variety of encryption functions. For example, one system uses a sequence of random numbers in the range of 0 to 25 as the key. How would this work? Is it secure?

  8. One of the biggest problems with single key encryption is to do with key management. Propose some methods of distributing keys for single-key encryption. List their advantages and disadvantages.


See Prac #17 for the practical exercises accompanying this tutorial.
[Previous Tutorial] [Tutorial Index] [Next Tutorial]
Phil Scott