Question

In: Computer Science

Password hashes can be reversed using Rainbow Tables. Suppose a file (English text) is encrypted using...

Password hashes can be reversed using Rainbow Tables. Suppose a file (English text) is encrypted using a password, using the following scheme: The password is hashed, and the hash is used to encrypt the file via AES. The cipher is stores, the password and the hash are thrown away. Explain: 1. Dictionary attacks can be used to recover the password(how?) 2. Rainbow tables are not usable – why? 3. Rainbow tables can be used, if the file has a known standard header(how?)

Solutions

Expert Solution

Answers:

1. As from the name itself we can see that this attack is done with the help of a dictionary, Hence, the name dictionary attack is given. Dictionary Attack is usually
quite fast. Small delays are possible only if the dictionary is very large. However, the password can be recovered only in case it is present in the dictionary.
The probability that this assumption is true is not, in fact, high. Hence, dictionary attacks can be used to recover passwords.

2. Rainbow Tables: Rainbow tables are the tables which are used for precomputed hash functions especially for cracked passwords. Tables are usually used in recovering a
plaintext password up to a certain length consisting of a limited set of characters. Hence, rainbow tables have a limited usage.

3.Rainbow table consists of lots of rainbow chains. The size of each rainbow chain is 16 bytes, so the size of the table above with 3 rainbow chains will be 48 bytes.
Each rainbow chain consists of an 8 byte start point and an 8 byte end point .

Both the start point and the end point are 64-bit unsigned integer in little endian, representing a plaintext.
To support this level of flexibility, a simple 32 bytes file header is used in .rtc rainbow table.


Related Solutions

Binary file IO Suppose a file has been encrypted using the Caesar cipher as described above,...
Binary file IO Suppose a file has been encrypted using the Caesar cipher as described above, and you know the secret key. Write a program to decrypt (or decode) the file. Your program will prompt the user to enter an input file name for the encrypted file, an output file name for the unencrypted version of the input file, and the secret key. Create a DataInputStream for the input file and a DataOutputStreams for the output file. Next, read the...
in c++ (Sum, average and product of numbers in a file) Suppose that a text file...
in c++ (Sum, average and product of numbers in a file) Suppose that a text file Exercise13_3.txt contains six integers. Write a program that reads integers from the file and displays their sum, average and product. Integers are separated by blanks. Instead of displaying the results on the screen, send the results to an output named using your last name. Example:       Contents of Exercise13_3.txt: 100 95 88 97 71 67 80 81 82             Contents of YourLastName.txt: Your...
In linux , Using a simple text editor, create a text file with the following name...
In linux , Using a simple text editor, create a text file with the following name "Test" and content: GNU GENERAL PUBLIC LICENSE The GNU General Public License is a free, copy left license for the GNU General Public License is intended to guarantee your freedom to GNU General Public License for most of our software; it applies … 2-Write the command to create the text file. 3-Print the file permissions. 4-Create a directory named "361" 5-Copy file "Test" to...
Tables or Graphs Using the Internet, the text, or another reliable source such as a newspaper...
Tables or Graphs Using the Internet, the text, or another reliable source such as a newspaper or periodical site, (not a scholastic or school site like Khan Academy and not Wikipedia), research some important data that has been presented in graph or table format. Make sure to cut and paste the chart or table; if that is not possible, paste a link to the webpage. (Check it to be sure it links correctly.) Present your graph and fully explain the...
Using C++, write a code that this program always stores text file output into a text...
Using C++, write a code that this program always stores text file output into a text file named "clean.txt". -The program should read one character at a time from "someNumbers.txt", and do the following. -If it is a letter, print that letter to the screen, AND also store it in the text file. All letters should be converted to lowercase beforehand. -If it is a number, print that number to screen, but do NOT store it in the text file....
Download the file data.csv (comma separated text file) and read the data into R using the...
Download the file data.csv (comma separated text file) and read the data into R using the function read.csv(). Your data set consists of 100 measurements in Celsius of body temperatures from women and men. Use the function t.test() to answer the following questions. Do not assume that the variances are equal. Denote the mean body temperature of females and males by μFμF and μMμMrespectively. (a) Find the p-value for the test H0:μF=μMH0:μF=μM versus HA:μF≠μM.HA:μF≠μM. Answer (b) Are the body temperatures...
Suppose an attacker obtained 128 bits of ciphertext that were encrypted using an encryption algorithm whose...
Suppose an attacker obtained 128 bits of ciphertext that were encrypted using an encryption algorithm whose keys are known to be 128 bits long. How effective is an exhaustive key search if the attacker does not know the encryption algorithm used? Provide an example of when data integrity is more important than data confidentiality? Suppose you have been asked at your new job to recommend the strength of encryption needed to protect the contents of a database. Draw up a...
C++ Code You will write a program to process the lines in a text file using...
C++ Code You will write a program to process the lines in a text file using a linked list and shared pointers. You will create a class “Node” with the following private data attributes: • Line – line from a file (string) • Next (shared pointer to a Node) Put your class definition in a header file and the implementation of the methods in a .cpp file. The header file will be included in your project. If you follow the...
using java, parse a text file to be able to list the word(s) with the highest...
using java, parse a text file to be able to list the word(s) with the highest frequency in a sentence across all sentences in the whole file, also print its frequency and the corresponding sentence. cannot use hash maps. assume text file will be multiple paragraphs long.
In what circumstances is data visualization better than using text explanations and tables of numeric data?...
In what circumstances is data visualization better than using text explanations and tables of numeric data? In what situations is it worse? Justify your reasoning.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT