6.5k views
5 votes
take the last four digits of your student id as the amount of available storage for the time memory tradeoff table (e.g., if you id were 12345678, then you can store at most five thousand six hundred and seventy eight values for the time memory tradeoff table). suppose every password can be 4 to 5 characters long, and each character can only be either a lower or upper case english letter (a-z). how many columns should your time memory tradeoff table have according our discussions in class? please provide detailed calculation

User Dado
by
8.4k points

1 Answer

0 votes

Final answer:

Upon calculating the number of possible 4 to 5 character passwords using 52 possible characters and comparing it to the available storage space from the last four digits of a student ID, it is determined that the storage is insufficient for even one full column in the time memory tradeoff table.

Step-by-step explanation:

To calculate the number of columns required for a time memory tradeoff table given a fixed amount of storage, we first need to determine the total number of possible passwords. Since each password can be 4 to 5 characters long, and each character is an English letter which could be lowercase or uppercase, we have 52 possibilities for each character (26 lowercase + 26 uppercase). The total number of possible passwords (P) is the sum of the possibilities for 4 and 5 characters:

P = 52^4 + 52^5

To fit within our memory constraint, let's use the last four digits of a hypothetical student ID as the storage limit. If the ID were, for example, 12345678, then the storage available would be 5678 values. Then, the number of columns (C) required in our tradeoff table can be approximated by taking the storage limit and dividing it by the number of values that could be stored in each column. If we denote the available storage as S:

C = S / (2 * P)

We use 2 * P because we need to account for both the hash output and the corresponding plaintext password. Assuming the student ID was 12345678, resulting in a storage limit of S = 5678, we get:

C = 5678 / (2 * (52^4 + 52^5))

After performing the calculations:

C = 5678 / (7311616 + 380204032) ≈ 5678 / 387515648 ≈ 0.00001466

Given that the division results in a number much less than 1, it would be impossible to have even a single full column in the tradeoff table with this limited amount of storage. Therefore, the number of columns should be zero as the available storage is insufficient.

User Manoj Mohan
by
8.6k points