1. A method for generating a digital signature, the method performed by a system comprising a processor and a memory storing instructions which, when executed cause the system to perform the method, the method comprising: acquiring a data set; converting the data set into a plurality of data matrices; determining a prime number; determining a plurality of primitive roots to the prime number; calculating a template matrix using a first and second primitive root, of the plurality of primitive roots; selecting a data matrix property of interest; calculating a first hash function for each of the data matrices, wherein the first hash function is calculated using said property of interest, the prime number, and the template matrix; and generating a main set of signatures based on the first hash functions, wherein the main set of signatures comprises a first signature for each data matrix.