Write a program (Java, C) which the following 4 password breaking cases are implemented. The password file should contain 6-digit numbers only (from 000000 to 999999) and assume that the attacker knows that. MD5 pre-implemented open-source hash algorithm should be used. If applicable, For each case what Alice’s password is, what the salts are (if you use random text generator, you need to provide the range only). Test your program and make sure that you break the target passwords in every case. Add a wild guess for the time you break the target password(s) for every case. Case I: Trudy wants to determine Alice's password. Trudy does not use her dictionary 256/2 255 expected work Case II: Trudy wants to determine Alice's passwor
Write a
Case I: Trudy wants to determine Alice's password. Trudy does not use her dictionary
- 256/2 255 expected work
Case II: Trudy wants to determine Alice's password.
Trudy uses her dictionary
- If Alice's password is in the dictionary - 219
- Else - 255
- Total 1/4(219)+3/4 (255) ≈ 254.6
Case III: Trudy wants to determine any of the 1024 password in the file. Trudy does not use her dictionary
- If passwords were hashed with the same salt - 255/ 210
- If passwords were hashed with different salts - 255
Case IV: Trudy wants to determine any of the 1024 password in the file. Trudy uses her dictionary
- The probability that at least one of 1024 passwords is in the 3)1024 dictionary 1 – (3/4)1024 ≈ 1
- If passwords were hashed with the same salt 219/ 210 =29
- If passwords were hashed with the different salt 220/(1/4) =222
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images