IP Library Granted Patent US 9,059,851
Granted Patent B2
US 9,059,851 · App. 13/579,934 · Granted Jun 16, 2015

Method and computer program product for order preserving symbol based 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 9,059,851
App. No.
13/579,934
Granted
Jun 16, 2015
Kind
B2
Abstract

A method for generating an encryption dictionary, the method includes generating a random value for each plaintext symbol of multiple plaintext symbols; and calculating a random token for each plaintext symbol based on a random value of the plaintext symbol and on random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol; wherein the calculating comprises applying a monotonic function; wherein the encryption dictionary comprises a mapping between the multiple plaintext symbols and random token of the multiple plaintext symbols.

Claims (44)

1. A method for generating an encryption dictionary, the method comprises:

generating a random value for each plaintext symbol of multiple plaintext symbols; and

calculating a random token for each plaintext symbol based on a random value of the plaintext symbol and on random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol;

wherein the calculating comprises applying a monotonic increasing function;

wherein the encryption dictionary comprises a mapping between the multiple plaintext symbols and random token of the multiple plaintext symbols based on a sensitivity level of one or more of the symbols, wherein the random token for each plaintext symbol is based on a random value of the plaintext symbol and on random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

2. The method according to claim 1 , comprising calculating the random token of plaintext symbol by summing the random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

3. The method according to claim 1 , comprising calculating the random token of the plaintext symbol by applying a weighted sum of the random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

4. The method according to claim 1 , comprising calculating multiple random tokens for a single plaintext symbol.

5. The method according to claim 4 , comprising calculating multiple random tokens for a single plaintext symbol that has a popularity level that exceeds a predefined popularity level.

6. The method according to claim 4 , calculating multiple random tokens for the single plaintext symbol so that values of random tokens of other plaintext symbols are outside a range that is span by values of the multiple random tokens of the single plaintext symbol.

7. The method according to claim 1 , comprising:

receiving a new plaintext symbol that is not included in the encryption dictionary;

finding a first plaintext symbol that belongs to the encryption dictionary and has a nearest smaller lexicographic value to a lexicographic value of the new plaintext symbol;

finding a second plaintext symbol that belongs to the encryption dictionary and has a nearest larger lexicographic value to the lexicographic value of the new plaintext symbol; and

assigning to the new plaintext symbol a new random token that has a new value that is between values of the random tokens of the first and second plaintext symbols.

8. The method according to claim 1 further comprising selecting the multiple plaintext symbols.

9. The method according to claim 1 , comprising encoding a numerical value of each random token to an alphabetic value.

10. The method according to claim 1 , further comprising:

receiving a group of plaintext symbols to be encrypted;

encrypting by a second computerized entity plaintext symbols of the group of plaintext symbols by using the encryption dictionary to provide a group of random tokens; and

providing the group of random tokens to a first computerized entity that differs from the second computerized entity.

11. The method according to claim 1 , comprising generating at least one additional dictionary for at least one other set of plaintext symbols.

12. A non-transitory computer readable medium that stores instructions for:

generating a random value for each plaintext symbol of multiple plaintext symbols; and

calculating, using a monotonic increasing function, a random token for each plaintext symbol based on a random value of the plaintext symbol and on random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol;

wherein the encryption dictionary comprises a mapping between the multiple plaintext symbols and random values of the multiple plaintext symbols based on a sensitivity level of one or more of the symbols, wherein the random token for each plaintext symbol is based on a random value of the plaintext symbol and on random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

13. The non-transitory computer readable medium according to claim 12 that stores instructions for calculating the random token of plaintext symbol by summing the random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

14. The non-transitory computer readable medium according to claim 12 that stores instructions for calculating the random token of the plaintext symbol by applying a weighted sum of the random values of other plaintext symbols that have a lower lexicographic value than the plaintext symbol.

15. The non-transitory computer readable medium according to claim 12 that stores instructions for calculating multiple random tokens for a single plaintext symbol.

16. The non-transitory computer readable medium according to claim 15 that stores instructions for calculating multiple random tokens for a single plaintext symbol that has a popularity level that exceeds a predefined popularity level.

17. The non-transitory computer readable medium according to claim 15 that stores instructions for calculating multiple random tokens for the single plaintext symbol so that values of random tokens of other plaintext symbols are outside a range that is span by values of the multiple random tokens of the single plaintext symbol.

18. The non-transitory computer readable medium according to claim 12 that stores

instructions for:

receiving a new plaintext symbol that is not included in the encryption dictionary;

finding a first plaintext symbol that belongs to the encryption dictionary and has a nearest smaller lexicographic value to a lexicographic value of the new plaintext symbol;

finding a second plaintext symbol that belongs to the encryption dictionary and has a nearest larger lexicographic value to the lexicographic value of the new plaintext symbol; and

assigning to the new plaintext symbol a new random token that has a new value that is between values of the random tokens of the first and second plaintext symbols.

19. The non-transitory computer readable medium according to claim 12 that stores instructions for selecting the multiple plaintext symbols.

20. The non-transitory computer readable medium according to claim 12 that stores instructions for encoding a numerical value of each random token to an alphabetic value.

21. The non-transitory computer readable medium according to claim 12 that stores instructions for:

receiving a group of plaintext symbols to be encrypted;

encrypting by a second computerized entity plaintext symbols of the group of plaintext symbols by using the encryption dictionary to provide a group of random tokens; and

providing the group of random tokens to a first computerized entity that differs from the second computerized entity.

22. The non-transitory computer readable medium according to claim 12 that stores instructions for generating at least one additional dictionary for at least one other set of plaintext symbols.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2013
From: MOVSHOVITZ, DAVID
To: SALESFORCE.COM INC.
Reel/Frame 030048/0447 →