DIFFERENTIAL CLIENT-SIDE ENCRYPTION OF INFORMATION ORIGINATING FROM A CLIENT
First Claim
1. A method comprising:
- allocating, by a processor of a first computing device, a plurality of public keys, wherein each respective public key of the plurality of public keys is allocated to a respective entity of a plurality of entities;
storing, in a memory of the first computing device, a plurality of private keys, wherein each respective private key of the plurality of private keys corresponds to a respective public key of the plurality of public keys;
storing, in the memory of the first computing device, one or more decryption algorithms, whereineach respective decryption algorithm of the one or more decryption algorithms is configured to decrypt data previously encrypted using at least one encryption algorithm of one or more encryption algorithms, wherein each respective encryption algorithm of the one or more encryption algorithms is configured to encrypt data using at least one public key of the plurality of public keys, andeach respective decryption algorithm of the one or more decryption algorithms is configured to decrypt data using at least one private key of the plurality of private keys;
receiving encrypted data, whereinthe encrypted data is encrypted using a first public key of the plurality of public keys and a first encryption algorithm of the one or more encryption algorithms, andthe encrypted data is provided over a network;
determining, by the processor of the first computing device, a first private key of the plurality of private keys, whereinthe first private key corresponds to the first public key, andthe first public key is allocated to a first entity of the plurality of entities;
decrypting, by the processor of the first computing device, the encrypted data using the first private key and at least one decryption algorithm of the one or more decryption algorithms, whereindecrypted data is obtained by decrypting the encrypted data;
providing a portion of the decrypted data for processing by a processing engine, wherein a second computing device comprises the processing engine;
receiving a processing result generated by the processing engine, wherein the processing result relates to the portion of the decrypted data; and
providing, over the network, the processing result to the first entity.
3 Assignments
0 Petitions
Accused Products
Abstract
A method may include allocating a number of public keys, where each respective public key is allocated to a respective entity of a number of entities; storing a number of private keys, where each respective private corresponds to a respective public key; storing one or more decryption algorithms, where each respective decryption algorithm is configured to decrypt data previously encrypted using at least one encryption algorithm of the encryption algorithms. Each respective encryption algorithm may be configured to encrypt data using at least one public key. Each respective decryption algorithm may be configured to decrypt data using at least one private key. The method may include receiving encrypted data, where the encrypted data is encrypted using a first public key and a first encryption algorithm, and the encrypted data is provided over a network.
34 Citations
29 Claims
-
1. A method comprising:
-
allocating, by a processor of a first computing device, a plurality of public keys, wherein each respective public key of the plurality of public keys is allocated to a respective entity of a plurality of entities; storing, in a memory of the first computing device, a plurality of private keys, wherein each respective private key of the plurality of private keys corresponds to a respective public key of the plurality of public keys; storing, in the memory of the first computing device, one or more decryption algorithms, wherein each respective decryption algorithm of the one or more decryption algorithms is configured to decrypt data previously encrypted using at least one encryption algorithm of one or more encryption algorithms, wherein each respective encryption algorithm of the one or more encryption algorithms is configured to encrypt data using at least one public key of the plurality of public keys, and each respective decryption algorithm of the one or more decryption algorithms is configured to decrypt data using at least one private key of the plurality of private keys; receiving encrypted data, wherein the encrypted data is encrypted using a first public key of the plurality of public keys and a first encryption algorithm of the one or more encryption algorithms, and the encrypted data is provided over a network; determining, by the processor of the first computing device, a first private key of the plurality of private keys, wherein the first private key corresponds to the first public key, and the first public key is allocated to a first entity of the plurality of entities; decrypting, by the processor of the first computing device, the encrypted data using the first private key and at least one decryption algorithm of the one or more decryption algorithms, wherein decrypted data is obtained by decrypting the encrypted data; providing a portion of the decrypted data for processing by a processing engine, wherein a second computing device comprises the processing engine; receiving a processing result generated by the processing engine, wherein the processing result relates to the portion of the decrypted data; and providing, over the network, the processing result to the first entity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
storing, in a memory of a first computing device, one or more encryption algorithms; providing, to a requestor across a network, a first encryption algorithm of the one or more encryption algorithms; storing, in the memory of the first computing device, one or more decryption algorithms, wherein each respective decryption algorithm of the one or more decryption algorithms is configured to decrypt data previously encrypted using at least one encryption algorithm of the one or more encryption algorithms; receiving a processing request, wherein the processing request comprises encrypted data, non-encrypted data, and an indication of a type of processing to be performed, wherein the processing request is provided over a network from a second computing device controlled by an entity, and the encrypted data is encrypted using the first encryption algorithm; determining, by a processor of the first computing device, that the encrypted data is associated with the entity; determining, by the processor of the first computing device, a first decryption algorithm of the one or more decryption algorithms; decrypting, by the processor of the first computing device, the encrypted data using the first decryption algorithm, wherein decrypted data is obtained by decrypting the encrypted data; determining, by the processor of the first computing device, a processing engine configured to process the decrypted data using the type of processing; providing, via a second network, a portion of the decrypted data and a portion of the unencrypted data to a third computing device, wherein the third computing device comprises the processing engine; receiving a processing result from the third computing device; and providing the processing result to the second computing device. - View Dependent Claims (14, 15)
-
-
16. A method comprising:
-
storing, in a memory of a first computing device, one or more encryption algorithms as one or more encryption subprograms; receiving, via a network, a download request for a first encryption subprogram of the one or more encryption subprograms; providing, via the network, the first encryption subprogram; receiving, via the network, a processing request, wherein the processing request comprises encrypted data, wherein the encrypted data is encrypted using the first encryption subprogram; determining, by a processor of the first computing device, that the encrypted data is associated with an entity; determining, by the processor of the first computing device, a first decryption algorithm, wherein the first decryption algorithm is configured to decrypt the encrypted data; decrypting, by the processor of the first computing device, the encrypted data using the first decryption algorithm, wherein decrypted data is obtained by decrypting the encrypted data; determining, by the processor of the first computing device, a processing engine for processing the decrypted data; providing, via a second network, a portion of the decrypted data to a second computing device, wherein the second computing device comprises the processing engine; receiving a processing result from the second computing device; and providing, across the network, to a third computing device, the processing result, wherein the third computing device is controlled by the entity. - View Dependent Claims (17, 18, 19)
-
-
20. A method comprising:
-
receiving a public key allocated by a service provider for use by an entity, wherein the service provider maintains a private key paired to the public key; determining, by a processor of a first computing device, an interactive program including the public key; providing the interactive program for an end user, wherein the interactive program is configured to enable a processor of a second computing device to encrypt data using the public key, wherein the second computing device is controlled by the end user; receiving encrypted data from the second computing device, across a first network, wherein the processor of the second computing device encrypted the encrypted data using the public key; forwarding the encrypted data to the service provider, across a second network, wherein the service provider is configured to determine the private key and decrypt the encrypted data, and the first computing device lacks access to the unencrypted data; and receiving, from the service provider, a processing result related to the decryption of the encrypted data. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
receiving one or more encryption algorithms and a public key, wherein the one or more encryption algorithms are configured to encrypt data using the public key to obtain encrypted data, wherein the encrypted data is configured to be decrypted using a private key paired with the public key, and the one or more encryption algorithms and the public key are provided by a service provider over a network, wherein the service provider allocated the public key for use by an entity, and the service provider stores the private key; generating, by a processor of a first computing device, a mobile device application including the one or more encryption algorithms and the public key; providing the mobile device application for download over the network; receiving encrypted data, wherein the data is encrypted by the one or more encryption algorithms and the public key by a processor of a mobile computing device, wherein the mobile device application is installed upon the mobile computing device; forwarding the encrypted data to a second computing device, wherein the second computing device is controlled by the service provider, and the service provider is configured to decrypt the encrypted data to obtain decrypted data, and manage processing of the decrypted data to obtain a processing result; and receiving, from the second computing device, the processing result. - View Dependent Claims (27, 28, 29)
-
Specification