Assignment 10, due Apr 20

Part of the homework for 22C:169, Spring 2007
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

Always, on every assignment, please write your name legibly as it appears on your University ID and on the class list! All assignments will be due at the start of class on the day indicated (usually a Friday), and unless there is what insurance companies call "an act of God" - something outside your control; the only exceptions to this rule will be by advance arrangement.

  1. a) Construct an attack tree for someone intent on entering your residence. Consider not only forced entry, but also social engineering and stealth. For each vertex in this tree, identify whether it is an AND-vertex or an OR-vertex, and clearly label the subgoal of the attack the vertex represents. (1 point)

    b) For each vertex in the above tree, estimate the cost to the attacker. Crude estimates are reasonable, but you should justify your estimates (perhaps in footnotes) and suggest how you have combined time, dollars and risk. Having completed this, suggest the lowest cost attack. (1 point)

  2. Background: Visual cryptography operates as follows: First, use a random number generator to create the binary key sequence. Second, create a copy of the key sequence. Third, encode the message by exclusive-oring it one copy of the key sequence. Now, you have two sequences, which, when exclusive-ored, will produce the original message.

    This is just the classic xor cypher. What makes it visual is the encoding of each one and zero of the message as a checkerboard pattern that permits a visual analog of exclusive-oring by overlaying two such patterns and the interpretation of the message as an image, with pixels that are either one or zero.

    One criticism of this (in either the visual or the binary form) is that one of the two sequences resulting from the initial process contains the message, while the other is random. If your goal is to split the message in half so that each of two custodians can each take half, this scheme may seem inadequate.

    a) How can this idea be made symmetrical, so that each of the two sequences resulting from the initial step contains an equal portion of the message. (1 point)

    b) Why is it unnecessary to complicate the algorithm in the way suggested in part a? That is, why is this assymetry not a problem? (1 point)

  3. Background: Most network protocols include something like a checksum in each message so that the recipient can detect errors, and they include a reverse channel so that the recipient can acknowledge the correct reception of data and so that the recipient can request retransmission of data in cases where the checksum does not match, as in the case where a transmission error corrupted the data.

    A Question: Data diodes do not permit a reverse channel. Suggest an alternative approach to dealing with transmission errors. (1 point)