Patent ID: 7801307

Claim:
A method of encrypting a plurality of data elements, said method comprising: mapping, using a processor, each of the plurality of data elements from a domain to one of a plurality of co-domain elements, wherein each of the plurality of data elements are mappable to any of the plurality of co-domain elements, wherein the co-domain element to which one of the plurality of data elements is mapped changes depending on the sequence of the plurality of data elements in the domain, and wherein the step of mapping further comprises: arranging, using the processor, the plurality of data elements into a plurality of cells in at least one square matrix; calculating, using the processor, a portion of the data element arranged in each of the plurality of cells using a linear equation, wherein the portion of the data element arranged in each of the plurality of cells is less than the whole of the data element arranged in each of the plurality of cells; and swapping, using the processor, the calculated portion of the data element arranged in each of the plurality of cells in exclusive pairs across a diagonal of the at least one square matrix, wherein the linear equation changes with each swap based on the sequence of the plurality of data elements in the domain.