Systems and methods for scrambling cells of a data structure
A method includes identifying, by a processing device, a data structure including cells to store data, wherein the cells are arranged within rows and columns of the initial data structure. A scrambled data structure is created in which at least a subset of cells of the initial data structure is rearranged such that each cell of the rearranged subset of cells is located in at least one of a different row or a different column of the initial data structure. Responsive to receiving a user request to access the data of the initial data structure, the processing device determines whether to provide the user with access to the initial data structure or the scrambled data structure.
1 . A method comprising:
identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;
creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and
responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.
2 . The method of claim 1 , further comprising, providing the user with access to the initial data structure responsive to determining that the user privilege level is a first user privilege level.
3 . The method of claim 1 , further comprising, providing the user with access to the scrambled data structure responsive to determining that the user privilege level is a second user privilege level.
4 . The method of claim 1 , wherein the user privilege level is defined by an administrator of a system hosting the initial data structure.
5 . The method of claim 1 , wherein the scrambled data structure is stored in a memory in association with the initial data structure.
6 . The method of claim 1 , wherein the subset of cells of the initial data structure is determined by an administrator of a computer system associated with the initial data structure.
7 . The method of claim 1 , wherein the initial data structure corresponds to a table within a relational database.
8 . The method of claim 1 , wherein the subset of cells of the initial data structure is rearranged based on one of an irreversible cryptographic algorithm or a reversible cryptographic algorithm according to access controls corresponding to the user.
9 . A system comprising:
a memory device; and
a processing device coupled to the memory device, the processing device to perform operations comprising:
identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;
creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and
responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.
10 . The system of claim 9 , the operations further comprising, providing the user with access to the initial data structure responsive to determining that the user privilege level is a first user privilege level.
11 . The system of claim 9 , the operations further comprising, providing the user with access to the scrambled data structure responsive to determining that the user privilege level is a second user privilege level.
12 . The system of claim 9 , wherein the user privilege level is defined by an administrator of a system hosting the initial data structure.
13 . The system of claim 9 , wherein the scrambled data structure is stored in a memory in association with the initial data structure.
14 . The system of claim 9 , wherein the subset of cells of the initial data structure is determined by an administrator of a computer system associated with the initial data structure.
15 . The system of claim 9 , wherein the initial data structure corresponds to a table within a relational database.
16 . The system of claim 9 , wherein the subset of cells of the initial data structure is rearranged based on one of an irreversible cryptographic algorithm or a reversible cryptographic algorithm according to access controls corresponding to the user.
17 . A non-transitory computer readable storage medium comprising instructions for a server that, when executed by a processing device, cause the processing device to perform operations comprising:
identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;
creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and
responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.