Reference no: EM132487533
CSCI968 Advanced Network Security - University of Wollongong
Assignment Part 1: Programming
Write (Java or C++) UDP programs to implement a remote login protocol. For simplicity, let us call the programs "Host" and "Client", which are executed by Alice and Bob, respectively.
Alice and Bob share a common password PW, which contains 8 alphanumeric characters. Alice also has a public and privacy key pair pk = (e, N), sk = (d, N) for the plain RSA encryption where N is a 1024-bit Modulus. Alice wants to authenticate Bob for every remote connection established by Bob. This is done through the following identification protocol:
1: B → A: Username
2: A → B: pk, NA
3: B → A: Encpk(H(Username, PW, NA+1))
4: A → B: Success/Fail
In the above protocol, NA is a 128-bit nonce randomly chosen by Alice in each session, H is the SHA-1 hash function and Enc denotes the plain RSA encryption.
Assignment Part 2: Protocol analysis
Question 1. Explain the purpose of using the nonce NA in the protocol.
Question 2. What is the advantage if we replace the plain RSA encryption by a randomised public-key encryption scheme (e.g., the ElGamal encryption)?
Question 3. Suppose we replace the plain RSA encryption by a more secure version (e.g. RSA-OAEP), is the protocol secure against active attackers? Justify your answer.
Question 4. Modify the protocol so that Bob can also authenticate Alice.
Attachment:- Advanced Network Security.rar