Space-efficient storage of encrypted data
First Claim
1. A computer program stored on a non-transitory storage medium in a database system, the computer program comprising a set of instructions, when executed by a hardware processor, cause the hardware processor to:
- receive a data object from a user system;
identify types of language characters used in the data object;
select an encoding scheme from among multiple different encoding schemes to encode the data object in a smallest number of bytes or in a fewest number of bits based on the types of language characters in the data object;
use the selected encoding scheme to encode the data object into a byte array;
assign an encoding identifier to the encoded data object of the byte array to identify the selected encoding scheme; and
store the encoding identifier attached to the encoded data object of the byte array in the database system.
2 Assignments
0 Petitions
Accused Products
Abstract
An encryption platform may identify language characters in database fields and determine which of multiple encoding schemes more efficiently encodes the language characters. The encryption platform may use the selected encoding scheme to encode plaintext into a byte array and then encrypt the byte array into ciphertext. The encryption platform may assign encoding flags to the ciphertext identifying the encoding scheme used for encoding the plaintext. The encryption platform then may use the encoding flag to determine which encoding schemes to use for decoding the data back into plaintext. Using the different encoding schemes allows encrypted data to fit better into database storage structures. The encryption platform also may enable users to select different fields for different selectable objects for encoding and encrypting.
181 Citations
20 Claims
-
1. A computer program stored on a non-transitory storage medium in a database system, the computer program comprising a set of instructions, when executed by a hardware processor, cause the hardware processor to:
-
receive a data object from a user system; identify types of language characters used in the data object; select an encoding scheme from among multiple different encoding schemes to encode the data object in a smallest number of bytes or in a fewest number of bits based on the types of language characters in the data object; use the selected encoding scheme to encode the data object into a byte array; assign an encoding identifier to the encoded data object of the byte array to identify the selected encoding scheme; and store the encoding identifier attached to the encoded data object of the byte array in the database system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An encryption platform for operating in a database system, comprising:
-
a hardware processor; and memory storing one or more stored sequences of instructions which, when executed by the hardware processor, cause the hardware processor to; receive a data object; identify which encoding scheme from among multiple encoding schemes encodes the data object in a smallest number of bytes based on, at least, types of language characters in the data object; encode the data object using the encoding scheme identified as encoding the data object in the smallest number of bytes; assign an encoding identifier to the data object identifying the encoding scheme used for encoding the data object; and storing the encoding identifier and attached to the encoded data object in the database system. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for encoding a data object in a database system, comprising:
-
receiving a request to store the data object in the database system; identifying types of plaintext characters in the data object; identifying an encoding scheme from multiple different encoding schemes that encodes the plaintext characters in the data object in a fewest number of bits based on, at least, types of language characters in the data object; using the identified encoding scheme to encode the data object; assigning a header to the encoded data object to identify the encoding scheme used to encode the data object; and storing the header attached to the encoded data object in the database system. - View Dependent Claims (18, 19, 20)
-
Specification