Ethical Hacking Term Project
This project consists of 3 milestones which you may use as stepping stones to help you build a complete solution. The end goal is for you to construct a working process to identify the AES
key used to encrypt the secret message, identify the secret message encrypted with that AES key, and finally determine the contents of that message.
Each milestone has its own deliverables, and the 3 milestones put together will make up your final grade for this project.
Before I describe each individual milestone, there are a few overarching rules: You may:
- Use any language, IDE, or tool that you deem appropriate
- Use any outside reference material you choose. Proper citations are expected.
- Consult the instructor, other students, or even the mighty Google for additional guidance or divine wisdom. Again, Proper citations are expected.
- Work with a team member. No more than two people may be in a group
o If you choose to work with a partner you must both make a submission for each milestone and you must evaluate both datasets and submit two secret messages
You may Not:
- Commandeer existing whole solutions. Your solution must be, at its core, your own original work.
- Use reference material or take inspiration from others without proper citations.
- Summon Cthulhu for the purpose of selling your soul in exchange for a working project.
CCSE policy strictly forbids this. Exceptions for other demigods may be given only at the
discretion of the Dean’s office.
Milestone #1
Given a collection of unencrypted plain-text files, and the MD5 hash of one of the files, build a solution to identify which of the plain-text files matches the hash given to you. The dataset for this milestone is attached to the D2L assignment dropbox.
Deliverables:
- The name of the file that matches the hash
- Any source code (commented and readable) involved.
- a. If you used a pre-existing tool or tools, instead of source code, a list of the tools and a description of how you used them to identify the correct file.
Milestone #2
Given an unencrypted public-key/private-key pair and an encrypted message, build a solution to decrypt the encrypted message and display its contents. The dataset for this milestone is attached to the D2L assignment dropbox.
You may assume that there is no padding. If your library requires padding, set it equal to an empty string.
Deliverables:
- The name of the file that matches the hash
- Any source code (commented and readable) involved.
- a. If you used a pre-existing tool or tools, instead of source code, a list of the tools and a description of how you used them to identify the correct file.
Milestone #3
Given an unencrypted AES key and an encrypted message, build a solution to decrypt the encrypted message and display its contents. The dataset for this milestone is attached to the D2L assignment dropbox.
Hint: You may want to do some research into AES. Is the key the only thing you need? If you can ask for it by name, I will provide you any missing information.
Deliverables:
- The name of the file that matches the hash.
- Any source code (commented and readable) involved.
- a. If you used a pre-existing tool or tools, instead of source code, a list of the tools and a description of how you used them to identify the correct file.
Expert Answer: