CS 472

Assignment #1

Due Midnight, Thursday Sept 29, 2011


 

1.    q1cipherfile.base64 is the result of encrypting a plain  text  q1plainfile using  the xor  encryption  with  a key embedded in image wahab.jpg.  You are required to obtain q1plainfile.

 

2.    q2plainfile1 is the known plain text of  q2cipherfile1.base64  using xor encryption.   Assuming the same key is used to produce another file q2cipherfile2.base64.   You are required to obtain q2plainfile2.

 

3.    q3cipherfile.base64  is the result of encrypting cs472 email list file  (q3plainfile) using  the  xor encryption using a  1 character  key from the set {a-z}. You are required to q3plainfile.

 

4.    Submit your solutions to 1-3 as described below.

 

 

____________________________Submission Description______________________________

 

 

Use  openssl   it is installed at /usr/local/ssl/bin/openssl ) to:

 

1.    Create a public/private key pair of your own, call the files containing your public and private keys: 

 loginPublicKey.pem  &  loginPrivateKey.pem  where login is your login name. For example, for user wahab the files are called wahabPublicKey.pem  & wahabPrivateKey

 

2.    Choose a  password P, encrypt  it using  cs472PublicKey.pem  and encode the result to base-64 and store it in a file called  A1Password.base64

 

3.    Let A1Solutions.tar be the  tar file that contains all  relevant files of your solution to  parts 1, 2 and 3 above. 

For example, if you like to submit files: README f1 f2 .. fn  use:  

% tar cf   A1Solutions.tar  README f1 f2 .. fn

Note that you MUST have one file called: README.

 

 

4.    Use DES3 to encrypt A1Solutions.tar using your chosen P  and let  A1Solutions.base64   be the  base64 encoding of the encrypted file.

 

5.    Use SHA1  to sign the message digest of  A1Solutions.base64  using your private key. .

and let A1Signature.base64  be the  base64 encoding of the  signature.

  

 

6.    Use tar to create one file called   loginA1Submission.tar  that contains:

 

 

1.    loginPublicKey.pem

2.    A1Password.base64

3.    A1Solutions.base64

4.    A1Signature.base64

 

      For example, for student wahab:

 

         % tar cf  wahabA1Submission.tar  wahabPublicKey.pem  A1Password.base64  A1Solutions.base64  A1Signature.base64        

 

7. Finally, submit  loginA1Submission.tar  to cs472 under the directory Assignment  #1.

 

 

Use the exact names listed above since a shell script is used to grade the assignment.