Assignment 8

Due Wednesday, April 29, 2015 6:00 pm via sakai

Introduction

Please answer the questions concisely. The answer to the first two questions might be a couple of sentences but all others can be answered with a short sentence or a short list. You will get no credit for long winded answers.

Submission

Please remember to submit your assignment as plain text, in-line HTML on sakai, or pdf (if necessary) only. You will get no credit and no second chance to resubmit any Microsoft Word, Apple Pages, or other formats that will require me to run an application to read your submission.

Pay attention to the deadline and strive to get your submission well before that time to allow for any last-minute glitches. No extensions will be given.

Questions

  1. Read section 2 of An Advanced 4.4BSD Interprocess Communication Tutorial.

    What is the difference between a stream socket and datagram socket?

  2. Read pages 4-9 of Common Functionality in the 2.6 Linux Network Stack.

    How did the NAPI approach in the Linux kernel help with efficiently handling a large stream of NIC events without the overhead of processing lots of interrupts?

  3. Read pages 10-12, 20-24, 34-35 (hash functions), 41-42 (digital signatures) in FAQ about Today's Cryptography, RSA Laboratories, May 2000.

    What does it mean for a hash to be collision free?

  4. Read Reflections on Trusting Trust by Ken Thompson (Communication of the ACM, Vol. 27, No. 8, August 1984, pp. 761-763).

    What security lesson does Ken Thompson put forth regarding code inspections to assess security in his paper on Trusting Trust?