Skip to content
/ enigma Public

Enigma is a 4 day, single person project in Mod 1 of 4 for Turing School's Back End Engineering Program

Notifications You must be signed in to change notification settings

bfl3tch/enigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

E N I G M A

Contributors Forks Stargazers Issues

Enigma Welcome Screen

Table of Contents


Overview

Enigma is a 4 day, single person project during Mod 1 of 4, for Turing School's Back End Engineering Program.

The challenge was to build an Enigma machine similar to the one developed by Alan Turing and his team in WW2. Each individual letter in the message is shifted four times, and only those who can know the key can reverse the process and reveal the original message.

Learning goals and areas of focus consisted of:

  • Program structural architecture
  • Break a program into logical components with proper encapsulation
  • Data manipulation
  • Outside file integration
  • File IO
  • Apply Enumerable techniques in a real context
  • Technical Requirements

Getting Started

  1. Fork MY repository

  2. Copy the fork's URL

  3. Clone your forked repository: Run git clone with the copied URL.

  • The best way to get started is to navigate into the enigma directory, open the message.txt file, and type out a message that you want encrypted. Save the file.

  • Next, still in your enigma directory within terminal, run the following command to encrypt a message: ruby ./lib/encrypt.rb message.txt encrypted.txt. This generates an encrypted message along with a random key to access it, along with today's date.

  • You may specify a pre-determined key and date value if you wish, with the Key being a 5 digit number and the Date in DDMMYY format.

  • The command would be ruby ./lib/encrypt.rb message.txt encrypted.txt 55555 290492 with 55555 being the key and 290492 representing the date (April 29, 1992).

  • The encrypted message will now live in the encrypted.txt file.

  • To unencrypt, you must provide the key. If the date value is not today, you will need to pass the date as well. The format is as follows:

  • ruby ./lib/decrypt.rb encrypted.txt decrypted.txt 55555 290492 If the date (290492) were not passed, the default would be today.

  • Both the key and the date MUST be correct to return the decrypted message.

Tools Used

  • Ruby 2.7.2
  • RSpec
  • Pry
  • Atom
  • GitHub
  • SimpleCov

Self Evaluation

Students were asked to judge themselves according to this rubric self_eval

Contributors

👤 Brian Fletcher

About

Enigma is a 4 day, single person project in Mod 1 of 4 for Turing School's Back End Engineering Program

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages