Patent ID: 7350085
Filing Date: 2008-03-25
Classification: G06F

Abstract:
1. A method of writing encrypted data to a computer memory in a computer program, the method comprising: a) encrypting data using a first encoding to result in encoded data, said first encoding being previously selected: b) encrypting a memory address a using an encoding transform J to result in an encoded memory address J(a); c) applying a hashing transform H to said encoded memory address J(a) to result in an index M(a) where M(a)=H(J(a)), a function M(x) being a hash function and index M(a) being an index to an array of memory cells, said index M(a) referencing both a specific data cell in said array of memory cells and a specific storage cell; d) selecting a tag value from a plurality of tag values, said tag value indicating a desired encryption encoding for said specific data cell indexed by said index M(a) determined in step c); e) storing said tag value in said specific storage cell referenced by said index value M(a); f) selecting a recoding vector based on said first encoding used in step a); g) retrieving a recoding control value from an element of said recoding vector selected in step f), said element of said recoding vector being determined by indexing said recoding vector using said tag value selected in step d); h) encrypting said encoded data using said recoding control value to result in recoded data, said recoded data being differently encrypted from said encoded data i) storing said recoded data in said specific data cell referenced by said index M(a).