1. A method comprising: receiving a plurality of subpieces of input data; generating a hash table address for each subpiece of the input data; obtaining a pointer associated with the hash table address for each subpiece of the input data; reading a data library with the pointer to obtain a location of the data library referenced by each pointer obtained for each subpiece of the input data; retrieving an associated piece of historical data located at each location of the data library referenced by each pointer; and comparing each associated piece of the historical data to each subpiece of the input data to determine a match, wherein at least the step of comparing is performed using a processor.