accept a key and return an output unique only to that specific key
accept a key and return an output unique only to that specific key
performs two separate functions  1) key generation 2) constrain the key to a positive value less than the size of the table