Skip to content

Concordia Engineering Week 2017 Coding Challenge

License

Notifications You must be signed in to change notification settings

kpsimoulis/enigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enigma

This is a solution for Concordia University's Engineering Week Coding Challenge 2017

This library can decrypt Rotor 1 and Rotor 2 even if all the letters are missing. It can easily be extended to solve missing letters in Rotor 3 or Reflector.

Challenge #1: Build an Enigma Machine and decrypt the given text. Please see PDF Instructions for more information.

Challenge #2: 10 Letters are missing from Rotor 1, try to find them and decrypt the given text. Please see PDF Instructions for more information.

Challenge #3: All the letters are missing from Rotor 2, try to find them and decrypt the given text. Please see PDF Instructions for more information.

Usage

php main.php [challenge]

[challenge] can be 1, 2 or 3. If you do not specify a challenge, the script will run challenge 3

Configuration files (config.php) are in directories c1, c2 and c3 for each corresponding challenge. Feel free to modify the keys. Remember this library can solve Rotor 1 and Rotor 2 that are missing any number of letters

Execution time

The average execution time on my laptop was:

Challenge #1: 0.11 seconds

Challenge #2: 0.09 seconds

Challenge #3: 0.12 seconds

License

The MIT License (MIT). Please see License File for more information.

About

Concordia Engineering Week 2017 Coding Challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages