Data type preserving encryption
AssigneeProtegrity Corporation
InventorsUlf Mattsson, Kenneth Blomkvist
Life of this patent
Estimating the term…
Abstract
A method and a system for encryption of a data element in a relational database, wherein each data element includes a string of at least one character. The method includes the steps of: reading the type of a data element which is to be encrypted; interpreting the data type to form a restricting character set for each character of the data element; and encrypting each character of the data element into an encrypted character selected from the restricting character set.
Claims9
A method encrypting characters from a data element in a database, the method comprising:
- reading information identifying a data type associated with data in a particular column of the database from a location in the database, the location being outside the particular column;
- reading a data element from the particular column, the data element including a first character string;
- associating an index value with each character in the first character string;
- defining an initial value;
- creating a second character string formed by replacing each character in the first character string with the character's associated index value;
- replacing each index value in the second character string with a result obtained from adding adjacent index values pairwise from the left to the right using the initial value when adding the leftmost character;
- encrypting the second character string wherein each character in the encrypted second character string is a valid member of the identified data type associated with the data element, where said encrypting includes converting encrypted replaced index values to characters;
- and
- storing the encrypted second character string at the particular column of the first character string in the database.
A method encrypting characters from a data element in a database, the method comprising:
- reading information identifying a data type associated with data in a particular column of the database from a location in the database, the location being outside the particular column;
- reading a data element from the particular column, the data element including a first character string;
- associating an index value with each character in the first character string;
- defining an initial value by hashing an encryption key;
- creating a second character string formed by replacing each character in the first character string with the character's associated index value;
- replacing each index value in the second character string with a result obtained from the steps of:
- adding adjacent index values pairwise from the left to the right using the initial value when adding the leftmost character to obtain a first shift result;
- adding to the first shift result adjacent index values pairwise from the right to the left using the initial value when adding the leftmost character to obtain a second shift result;
- and
- adding to the second shift result a varying value;
- encrypting the second character string wherein each character in the encrypted second character string is a valid member of the identified data type associated with the data element, where said encrypting includes converting encrypted replaced index values to characters;
- and
- storing the encrypted second character string at the particular column of the first character string in the database.
Dependencies are inferred from the claim text.