Patent ID: 8897440

Claim:
A method of encrypting data, comprising: receiving, by a computer, a block of data to be encrypted; defining, by the computer, a set of byte codes associated with the block of data, said defining comprising: defining one or more user byte codes, said user byte codes being representative of the block of data; defining one or more meta byte codes, said meta byte codes each indicating that a reversible operation is to be performed during the encryption of the block of data for strengthening the encryption; and defining one or more dead byte codes, said dead byte codes being excluded from representing the block of data and from indicating that the reversible operation is to be performed; storing, a transformation vector defined from the set of byte codes in a memory, said transformation vector including one of each of the user byte codes, the meta byte codes, and the dead byte codes arranged in a random order; retrieving, by the computer, the transformation vector from the memory; transforming, by the computer, the block of data, said transforming comprising: translating values of the user byte codes from the block of data across the transformation vector; randomly selecting one or more meta byte codes from the defined meta byte codes; performing the reversible operations indicated by the selected meta byte codes during translation of the values of the user byte codes from the block of data; translating values of the selected meta byte codes from across the transformation vector; inserting the translated values of the user byte codes into an encrypted block of data; and inserting translated values of the selected meta byte codes into the encrypted block of data.