CSG254: Network Security

Problem Set 1 [Internetworking and Cryptography]
Each student should submit his own report: NO TEAM work.

Due date: 6:00PM Eastern, February 6, 2007.

1. Internetworking

Describe in detail all the steps that your internet browser goes through when you click on a web page such as http://www.neu.edu. You should describe which protocols are invoked (e.g., TCP, ARP, DNS, ethernet), their parameters (e.g., port numbers, addresses), network entities (e.g., DNS server, default gateway/router) and the network stack structure.

Provide screen dumps (or packets listing) from a packet sniffer such as ethereal to confirm your description.

Hints: clear your machines arp tables before clicking on the web page link, use information from ipconfig/ifconfig, route, etc.

2. Application of Cryptograph

Write a Java application that can be used to encrypt a file to be sent by email. The sender only knows the public of the destination. The application can also be used by the receiver to decrypt the file using his private key. Design the application to be efficient (i.e., use a combination of public key crypto and symmteric key crypto). Design and implement your own application. Justify the use of key sizes, algorithms and modes.

For the implementation part, you can use the Sun JCE crypto-library (http://java.sun.com/products/jce/) or Bouncy Castle (http://www.bouncycastle.org/index.html).

The application should operate as follows. For encrypting:

and for decrypting: