This zip file contains the files needed for solving the MTC3 challenge "DIFFERENTIAL CRYPTANALYSIS PART 1"
(C) 2019 Nils Kopal & Christian Bender
-----------------------------------------------------------------------------------------

1) Directory and file descriptions
----------------------------------
- MysteryCipher1spec.pdf   = specification of Mystery Cipher 1
- encrypted.png            = encrypted image; has to be decrypted after recovering the round keys
- FileEncrypter.exe        = compiled version of the file encrypter
- DCA files (DIR)          = directory with differential files as well as message pair files
- FileEncrypter (DIR)      = contains a Visual C# project (source code) implementing Mystery Cipher 1 and file encryption/decryption

2) How to run the file encrypter
----------------------------------
Command line parameters:
 -e          Encrypt mode
 -d          Decrypt mode
 -k          Round keys (four little endian 16-bit integer values)
 -i          Input file
 -o          Output file
 -h          Show help

Example encryption: FileEncrypter.exe -e -k 100 200 300 400 -i input.bin -o output.bin
The call above encrypts the input.bin using the roundkeys (100, 200, 300, and 400) and writes the result to output.bin
Warning: Output files are overwritten

In Microsoft Windows you can run the program using the standard command line.
In Linux, you can run the program using Mono: https://www.mono-project.com/download/stable/#download-lin

3) How to solve the challenge
----------------------------------
You have to decrypt the file "encrypted.png".
Use the file encrypter using this command: FileEncrypter.exe -d -k 1 2 3 4 -i encrypted.png -o decrypted.png
Clearly, the keys 1,2,3, and 4 have to be replaced by the correct round keys (16-bit little endian integers)
