Patent ID: 7877398

Claim:
A computer-implemented method of masking a group of related data values, comprising: reading, by a computing system, a record of a set of n records included in an unmasked data file, wherein said unmasked data file is a set of input to a software application, and wherein said record includes a first plurality of data values of a plurality of data elements included in a related data group and one or more data values of one or more data elements that are external to said related data group, receiving, by said computing system, a randomly generated number k; retrieving, by said computing system and from a lookup table, a second plurality of data values of said plurality of data elements included in said related data group, wherein said lookup table associates n key values with n pluralities of data values in a one-to-one correspondence, wherein said n pluralities of data values include said second plurality of data values, wherein said n pluralities of data values are included in said n records in a one-to-one correspondence, wherein said retrieving includes identifying said second plurality of data values as being associated with a key value of k included in said n key values; masking said record by a processor of said computing system, wherein said masking said record includes replacing said first plurality of data values in said record with said second plurality of data values; initializing, by said computing system, a current record as a first record of said set of n records; initializing, by said computing system, a current key value as an initial index value; reading, by said computing system, said current record from said unmasked data file; extracting, by said computing system, a current plurality of data values from said current record, wherein said current plurality of data values is included in said n pluralities of data values; assigning, by said computing system, said current key value to said current plurality of data values; writing, by said computing system, said current key value and said current plurality of values to said lookup table; updating, by said computing system, said current record as a next record of said set of n records, if said set of n records includes said next record; modifying, by said computing system, said current key value by a predefined adjustment value, if said set of n records includes said next record; and iteratively repeating, by said computing system, said reading said current record, said extracting said current plurality of data values, said assigning said current key value, said writing said current key value and said current plurality of values, said updating said current record, and said modifying said current key value until said current record is a last record of said set of n records.