Mass data (the contents of arrays, large data structures, linked data
structures and similar data structures stored in memory) are common
targets for attack. The invention presents a method and system of
protecting mass data by mapping virtual addresses onto randomly or
pseudo-randomly selected actual addresses. This mapping distributes data
values throughout the memory so an attacker cannot locate the data he is
seeking, or identify patterns which might allow him to obtain information
about his target (such as how the software operates, encryption keys,
biometric data or passwords stored therein, or algorithms it uses).
Additional layers of protection are described, as well as efficient
techniques for generating the necessary transforms to perform the
invention.