CSE 539 - Applied Cryptography – HW 1 (2009)

 

Due – February 18th, 2009, Start of class – 3:30 pm

Method - Print out (Hand written documents will not be accepted, do not e-mail the solutions to TA unless you have no other viable option)

Place your name and e-mail on the document.

 

 

  1. In terms of Cryptography what is meant by– you will need to give an example of how it is achieved.
    1. Confidentiality
    2. Data Integrity
    3. Authentication
    4. Non repudiation
    5. Signature
    6. Access control
    7. Privacy
    8. Availability

 

  1.  
    1. Suppose Alice and Bob set up a message scheme. Alice and Bob choose a secret key K. Alice and Bob do not know about complex encryption algorithms. So they decide to use the XOR scheme. Alice takes a message M, and creates C =M XOR K. Bob on receiving C, finds M, and does C XOR M and returns it to Alice. What could go wrong in this scenario? Consider the jealous Eve being all powerful in terms of monitoring bits flowing on the network.
    2. Alice and Bob become smarter and decide to use the following scheme. Alice and Bob create two encryption keys [K1 & K2], which are totally independent of each other, and are not any public – private key pair.  Alice takes M and finds C = M XOR K1 and sends it to Bob. Bob finds M, and returns C XOR K2. Can Eve find something about M, K1 or K2?
    3. Alice and Bob decide that they have had enough of the nosey Eve, and take the CSE 539 class. They learn about Hashes. Write a protocol using Hashes that substitute encryption keys for message exchange between Alice and Bob.
  2. If an encryption algorithm flips about 50 % of the bits then the algorithm is perceived to be good, why is it dangerous if it flips close to 80 or 90% or even greater percentage of the bits?
  3. How are random numbers useful in cryptography? What are pseudo-random numbers? What would happen if random numbers were not really random in cryptographic schemes?
  4. Refer to the coin tossing problem, assume you do not know about hashing techniques for parts a and b. You have to create coin tossing protocols for the following
    1. Use Encryption such that the protocol works and no cheating is possible.
    2. Make a change to the Encryption algorithm above such that the protocol fails and cheating is possible. (In other words, keep the same basic encryption scheme, but try changing the way certain inputs are applied to the encryption algorithm)

Show the hashing scheme for coin tossing. What advantages does hashing offer over encryption in terms of this problem.