Check the slides “OS Security II,” pg. 4-8. You are to implement a Dictionary Attack with and without Password Salt program in either C/C++ or Python.
If you are not familiar with measuring execution time in C++, see the following website:
https://www.geeksforgeeks.org/measure-execution-time-function-cpp/
If you are not familiar with measuring execution time in Python, see the following website:
https://stackoverflow.com/questions/1557571/how-do-i-get-time-of-a-python-programs-execution
See the following steps.
1. Accept a user password of length N as keyboard input to your program. You can determine your own length N.
2. Compute the hash of the password from step 1.
Your hash function H() is simply the checksum. (See Assignment 2)
3. Now you become an attacker and try to find the password of length N.
Try every combination of length N password and for each combination, compute the hash and compare to the hash of the password from step 2.
Measure execution time.
4. Now let’s reinforce our password using the password salt. Accept an arbitrary non-negative integer number as keyboard input to your program.
5. Compute the hash of the concatenated password salt and password from step 4 and step 1. To compute the password salt portion of the checksum, you can treat the entire password salt as EITHER a single integer OR multiple one-byte integers.
6. Now you become an attacker and try to find the concatenated password salt and password.
Try every combination of an arbitrary non-negative integer number and length N password and for each combination, compute the hash and compare to the hash from step 5.
Measure execution time.
NOTE: your program should have separate functions for the checksum and the two dictionary attacks with and without the password salt by the attacker.
Implement a Dictionary Attack with and without Password Salt program
Our Service Charter
1. Professional & Expert Writers: Homework Discussion only hires the best. Our writers are specially selected and recruited, after which they undergo further training to perfect their skills for specialization purposes. Moreover, our writers are holders of masters and Ph.D. degrees. They have impressive academic records, besides being native English speakers.
2. Top Quality Papers: Our customers are always guaranteed of papers that exceed their expectations. All our writers have +5 years of experience. This implies that all papers are written by individuals who are experts in their fields. In addition, the quality team reviews all the papers before sending them to the customers.
3. Plagiarism-Free Papers: All papers provided by Homework Discussion are written from scratch. Appropriate referencing and citation of key information are followed. Plagiarism checkers are used by the Quality assurance team and our editors just to double-check that there are no instances of plagiarism.
4. Timely Delivery: Time wasted is equivalent to a failed dedication and commitment. Homework Discussion is known for timely delivery of any pending customer orders. Customers are well informed of the progress of their papers to ensure they keep track of what the writer is providing before the final draft is sent for grading.
5. Affordable Prices: Our prices are fairly structured to fit in all groups. Any customer willing to place their assignments with us can do so at very affordable prices. In addition, our customers enjoy regular discounts and bonuses.
6. 24/7 Customer Support: At Homework Discussion, we have put in place a team of experts who answer to all customer inquiries promptly. The best part is the ever-availability of the team. Customers can make inquiries anytime.