IP Library Granted Patent US 7,418,098
Granted Patent B1
US 7,418,098 · App. 09/721,942 · Granted Aug 26, 2008

Data type preserving encryption

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,418,098
App. No.
09/721,942
Granted
Aug 26, 2008
Kind
B1
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.

Claims (30)

1. 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.

2. A method according to claim 1 , wherein the step of associating an index value further comprises:

arranging one or more character sets in a pattern for a data type; and

using the pattern to determine the association of index values with each character in the first character string.

3. A method according to claim 1 , wherein the number of characters in the encrypted second character string is equal to the number of characters in the first character string.

4. A method according to claim 1 , wherein the step of replacing each index value in the second character string further includes adding a varying value to each index value.

5. A method according to claim 1 , wherein the encryption is performed using the DES algorithm in stream cipher mode.

6. The method of claim 1 , wherein the initial value is defined by hashing an encryption key.

7. The method of claim 1 , wherein the step of replacing further includes adding adjacent index values pairwise from the right to the left using the initial value when adding the leftmost character.

8. 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.

9. A method according to claim 8 , wherein the encryption is performed using the DES algorithm in stream cipher mode.

Assignments (3)
PURCHASE AGREEMENT Recorded Aug 23, 2006
From: PROTEGRITY R&D, INC.
To: STIFTAREN 7935 AB
Reel/Frame 018156/0162 →
PURCHASE AGREEMENT Recorded Aug 23, 2006
From: STIFTAREN 7935 AB
To: XCELERA INC.
Reel/Frame 018156/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2006
From: XCELERA INC.
To: PROTEGRITY CORPORATION
Reel/Frame 018156/0275 →