NSA Research Puzzles

Welcome to the 2021 NSA Research Puzzle Challenge!

Congratulations on the successful completion of Level 0: Morse Code. It only gets harder from here! Along with this README, you should find 3 other files in the code pack you downloaded:

  • an encrypted .tar.gz file (L1ENCRYPTED.tar.gz)
  • an instructions.txt file (Instructions_L1.txt) 
  • a decryption .py file (Decryption_File.py)

The format of this puzzle is nested .tar.gz packages. For each puzzle, you must follow the instructions and hints to recover the key used to encrypt the bytes of the .tar.gz file. That key is then fed into SHA256, and the resulting hash is XOR'd against the bytes of the .tar.gz file in 32 byte blocks. We have provided you a file (Decryption_File.py) to perform the decryption. Simply replace the key field with the key you've recovered by completing the puzzle, and make sure to update the '#' entry to correspond to the correct level you're decrypting! We have provided this file to you in python. You are free to use the .py decryption file as a template to write a decryptor in any other language if you so choose.

Upon decryption of each package, you'll be able to unpack using "tar -xvf nameOfFile.tar.gz" in the command line, or 7-zip manually in windows, to receive the instruction set and encrypted package for the next puzzle. There are 8 puzzles or 'levels' to complete

If you enjoy these puzzles make sure to check out NSA.gov and IntelligenceCareers.gov/NSA . Have fun and happy puzzling!