This is an old revision of the document!


Lab 8 - Cryptography

  1. [3p] Steganography
    • Several tools can be used to hide files behind an image. Create a file Lab08.txt and add the following line: “Thank GOD that this lab is NOT part of the exam.”
      • Use outguess to hide Lab08.txt behind a jpg file of your choice. Retrieve the contents from the jpg file.
      • You can install outguess with apt-get install outguess.
      • Add fileype:jpg to your Google search to only show jpg results.
    • Sometimes concatenating files is enough to hide them. Use zip and cat to hide Lab08.txt behind a JPG file of your choice. Use unzip to retrieve the file.
      • unzip skips over junk found at the beginning of the file.
    • Which of the two methods uses less space? Why is that?
  2. [+1p=4p] Write in a notepad your name using the Caesar cipher. The key is equal to the number of letter in your name. (use both first and last names)
  3. [+1p=5p] Use frequency analysis to decrypt this file. You can use any tool you want.
    • The plaintext is in English and the Vigenere algorithm was used for encryption.
    • More information about the Vigenere cipher can be found here: Vigenère_cipher.
  4. [+2p=7p] You have to use the following algorithm1) to decrypt the message “08324F5C”.
    const char *xlat = "dsfd;kfoA,.iyewrkldJKDHSUBsgvca69834ncxv";
     
    char *unseven(const char *hash)
    {
        unsigned int key, i, hlen = strlen(hash) - 2;
        char *plain = (char*)malloc(hlen / 2 + 1);
     
        if (hlen < 2 || hlen & 1) return NULL;
     
        key = (hash[0] - '0') * 10 + hash[1] - '0';
        if (key > 15 || !isdigit(hash[0]) || !isdigit(hash[1])) return NULL;
     
        hash += 2;
        for (i = 0; i < hlen; ++i) if (!isxdigit(hash[i])) return NULL;
     
        for (i = 0; i < hlen; i += 2) {
            plain[i / 2] = ((hex2int(hash[i]) << 4) | hex2int(hash[i + 1])) ^ xlat[key++];
            if (key == 40) key = 0;
        }
        plain[hlen / 2] = 0;
     
        return plain;
    }
  5. [+2p=9p] TODO
  6. [+2=11p] Encryption contest. Create a symmetric encryption algorithm that uses substitution/transposition method applied directly on a block. Start!
1) Interesting fact: this algorithm is used for type 7 decryption in Cisco IOS.
cns/laboratoare/laborator-08.1355745886.txt.gz · Last modified: 2012/12/17 14:04 by traian.popeea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0