Question
In this assignment you have been assigned to crack four encrypted files. To see which files you must crack see the document proj1_maps.pdf in this
In this assignment you have been assigned to crack four encrypted files. To see which files you must crack see the document proj1_maps.pdf in this directory.
The files can be found in the subdirectories of this folder:
- hashed_CC (files encrypted using the Caesar cipher)
- hashed_AE (files encrypted using the Affine cipher)
- hashed_VE (files encrypted using the Vigenere cipher)
- hashed_LR (files encrypted using an 8-bit LFSR)
The hashed in the directory names refers to the fact that the filenames have been hashed (scrambled) so that the content of the file is not obvious from the name. Each student must crack only the files assigned to him or herself please dont solve the problem for someone else or let another person do your work.
Each encrypted file is a book that I downloaded from Project Gutenberg. I stripped out all punctuation, converted the book to uppercase, and removed all spaces. An example of some plaintext is:
WELCOMETOTHEWORLDOFFREEPLAINVANILLAELECTRONICTEXTSETEXTSREADABLEBYBOTHHUMANSANDBYCOMPUTERSSINCETH ESEETEXTSPREPAREDBYHUNDREDSOFVOLUNTEERSANDDONATIONSDECEMBERETEXTTHEPROJECTGUTENBERGETEXTOFTHEUSBI LLOFRIGHTSTHISFILESHOULDBENAMEDTXTORZIPWEAPOLOGIZEFORTHEFACTTHATTHELEGALSMALLPRINTISLONGERANDMORE COMPLICATEDTHANTHEETEXTITSELFOURLEGALBEAGLESOFWHOMTHEREARENOWAHALFDOZENORSOINSISTTHISMUSTBE
This is Project Gutenbert boiler plate that all plaintext files begin with (or some minor variation of this). Later in the plaintext you can eventually find the name of the book. In the case of this file it would be the US Bill of Rights as you can see here (with some squinting).
...FETEXTTOHEADERMATERIALTHEUNITEDSTATESBILLOFRIGHTSTHETENORIGINALAMENDMENTSTOTHECONSTITUTION...
For each cipher that you are able to crack you will be asked to submit (on Webwork)
- The name of the book.
- A description of how you solved the problem, including any code you wrote.
The intended method for you to crack these ciphers is by writing some code of your own. All but the Vigenere cipher can be cracked through brute force fairly easily. That is an acceptable approach, but it would be nice (if you have time) to explore other methods like statistical analysis (in the case of the affine and vigenere ciphers) or linear algebra (in the case of the LFSR cipher).
To do the LFSR attack you need a crib a bit of known plaintext. For that purpose I will tell you how each file begins (the first 20 bytes). There are the following possible file beginnings, shown in hex form as well as the ascii equivalent.
begins (hex): 57454c434f4d45544f544845574f524c444f4646 (ascii): WELCOMETOTHEWORLDOFF begins (hex): 50524f4a454354475554454e424552475344524a (ascii): PROJECTGUTENBERGSDRJ begins (hex): 4e4f54455448495346494c45434f4d42494e4553 (ascii): NOTETHISFILECOMBINES begins (hex): 50524f4a454354475554454e4245524753544845 (ascii): PROJECTGUTENBERGSTHE begins (hex): 50524f4a454354475554454e42455247534c4f43 (ascii): PROJECTGUTENBERGSLOC begins (hex): 50524f4a454354475554454e42455247535a454e (ascii): PROJECTGUTENBERGSZEN begins (hex): 54484550524f4a454354475554454e4245524745 (ascii): THEPROJECTGUTENBERGE
If you restrict your attention to the first 16 bytes (which is all you need for the crack) there are only four possibilities.
begins (hex): 57454c434f4d45544f544845574f524c (ascii): WELCOMETOTHEWORL begins (hex): 50524f4a454354475554454e42455247 (ascii): PROJECTGUTENBERG begins (hex): 4e4f54455448495346494c45434f4d42 (ascii): NOTETHISFILECOMB begins (hex): 54484550524f4a454354475554454e42 (ascii): THEPROJECTGUTENB
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started