1. A method for providing a hash function performed by a computer system executing computer instructions stored on a computer storage media, the method comprising: constructing a table of entries via the computer, wherein the table comprises entries for all possible products of a plurality of generator matrices; setting, via the computer, an initial matrix to an identity matrix; processing, via the computer, input data as one or more blocks of fixed length; indexing, via the computer, each block to the generator matrix represented in the table; and updating, via the computer, the initial matrix.