Patent ID: 9455831
Filing Date: 2016-09-27
CPC Classification: H04L

Claim Text:
1. A method in a network intermediary for performing order-preserving encryption of an input plaintext and generating an output ciphertext where the output ciphertext preserves the sort order of the input plaintext, the method comprising: receiving, at the network intermediary, the input plaintext from a user device to be stored on a cloud service provider; performing, using a processor, order-preserving encryption of the input plaintext using a random order-preserving function starting at an initial ciphertext space of N number of possibilities; performing, using the processor to call a software arbitrary precision floating point library, a binary search of the random order-preserving function for the input plaintext to reduce the initial ciphertext space to N/2 possibilities; in response to a size of the ciphertext space being greater than a first number of possibilities, repeating the performing of the binary search of the random order-preserving function for the input plaintext using the processor to call the software arbitrary precision floating point library to continue to reduce the number of possibilities in the ciphertext space; in response to the size of the ciphertext space being reduced to less than the first number of possibilities, switching the processor from calling the software arbitrary precision floating point library to calling a hardware fixed precision floating point processor to perform the binary search of the random order-preserving function for the input plaintext, wherein the hardware fixed precision floating point processor is configured to handle fewer number of bits of the ciphertext space at increased speed than the software arbitrary precision floating point library to speed up remaining computations to search for the input plaintext in the random order-preserving function; in response to a domain space of the input plaintext converging, selecting an element of the ciphertext space corresponding to the converged domain space and providing the selected element as the output ciphertext, the output ciphertext being used as an encrypted text of the input plaintext; and transmitting the encrypted text of the input plaintext from the network intermediary to the cloud service provider to store at the cloud service provider, the encrypted text preserving the sort order of the input plaintext and enabling data query of the stored encrypted data at the cloud service provider.