1. A circuit configured to perform a table lookup operation, comprising: an input configured to receive a representation of a key value; one or more hash function sub-circuits coupled to the input; and at least one memory; wherein the representation of the key value comprises a bit vector, wherein each of the hash function sub-circuits comprises a representation of a sparse bit matrix; and wherein each of the hash function sub-circuits is configured to: apply a respective hash function to the key value to produce a respective hash value; and provide the respective hash value to the at least one memory, wherein the respective hash values identifies a respective location in the at least one memory; wherein to apply the respective hash function to the key value, the hash function sub-circuit is configured to multiply the bit vector with the sparse bit matrix; and wherein the at least one memory is configured to: receive the respective hash values provided by each of the hash function sub-circuits; and output a respective data value from each of the locations in the at least one memory identified by the received hash values.