The Toeplitz Hash Algorithm describes hash functions that compute hash values through matrix multiplication of the key with a suitable Toeplitz matrix. The Toeplitz Hash Algorithm is used in many network interface controllers for receive side scaling. As an example, with the Toeplitz matrix T {\displaystyle T} the key k {\displaystyle k} results in a hash h {\displaystyle h} as follows:
h = T ⋅ k = ( 1 1 0 1 0 1 1 0 1 0 1 1 ) ⋅ ( 1 1 0 0 ) = ( 0 1 1 ) {\displaystyle h=T\cdot k={\begin{pmatrix}1&1&0&1\\0&1&1&0\\1&0&1&1\\\end{pmatrix}}\cdot {\begin{pmatrix}1\\1\\0\\0\\\end{pmatrix}}={\begin{pmatrix}0\\1\\1\\\end{pmatrix}}}
where the entries are bits and all operations are modulo 2. In implementations the highly redundant matrix is not necessarily explicitly stored.
References
