Outsourcing the Decryption of Functional Encryption Ciphertexts
First Claim
1. A method for processing a functional encryption ciphertext, the method comprising the steps of:
- receiving the functional encryption ciphertext;
transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and
sending the partially-decrypted ciphertext.
2 Assignments
0 Petitions
Accused Products
Abstract
Functional encryption (FE) ciphertext is transformed into partially-decrypted (PD) ciphertext. The PD ciphertext has a shorter bit length than the FE ciphertext, or the decryption time of the PD ciphertext is less than the decryption time of the FE ciphertext. The FE ciphertext can be an attribute-based encryption ciphertext. The transformation can be performed with a transformation key generated by an authority with a master key or by a user with a decryption key. The transformation can also be performed, without a transformation key, based on unencrypted components of the FE ciphertext and on auxiliary information associated with the unencrypted components of the FE ciphertext. The PD ciphertext can require less transmission time across a network than the FE ciphertext. The PD ciphertext can require less time to decrypt than the FE ciphertext, particularly when the computational resources performing the decryption are limited.
55 Citations
76 Claims
-
1. A method for processing a functional encryption ciphertext, the method comprising the steps of:
-
receiving the functional encryption ciphertext; transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and sending the partially-decrypted ciphertext. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for processing a functional encryption ciphertext, the method comprising the steps of:
-
receiving a first partially-decrypted ciphertext, wherein the first partially-decrypted ciphertext was generated by transformation of the functional encryption ciphertext; transforming the first partially-decrypted ciphertext into a second partially-decrypted ciphertext; and sending the second partially-decrypted ciphertext. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving a partially-decrypted ciphertext, wherein the partially-decrypted ciphertext was transformed from the functional encryption ciphertext; receiving a decryption key of a user; and decrypting, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving the functional encryption ciphertext at a computational system; transforming, in a first process operating in the computational system, the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, in a second process operating in the computational system, wherein the second process is isolated from the first process, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving the functional encryption ciphertext at a computational system; transforming, in a first virtual machine operating in the computational system, the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, in a second virtual machine operating in the computational system, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (34, 35, 36, 37, 38, 39)
-
-
40. A method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving the functional encryption ciphertext; receiving a decryption key of a user; transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (41, 42, 43)
-
-
44. A method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving, at a user equipment of a user, the functional ciphertext; receiving, at the user equipment of the user, a decryption key of the user; sending the functional ciphertext from the user equipment of the user to a proxy; receiving, at the proxy, a transformation key; transforming, at the proxy, based at least in part on the transformation key, the functional ciphertext into a partially-decrypted ciphertext; sending the partially-decrypted ciphertext from the proxy to the user equipment of the user; and decrypting, at the user equipment of the user, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (45, 46, 47)
-
-
48. A computer readable medium storing computer program instructions, which, when executed by a processor, cause the processor to perform a method for processing a functional encryption ciphertext, the method comprising the steps of:
-
receiving the functional encryption ciphertext; transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and sending the partially-decrypted ciphertext. - View Dependent Claims (49, 50, 51)
-
-
52. A computer readable medium storing computer program instructions, which, when executed by a processor, cause the processor to perform a method for decrypting a functional encryption ciphertext, the method comprising the steps of:
-
receiving a partially-decrypted ciphertext, wherein the partially-decrypted ciphertext was transformed from the functional encryption ciphertext; receiving a decryption key of a user; and decrypting, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (53)
-
-
54. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for transforming a functional encryption ciphertext, the method comprising the steps of; receiving the functional encryption ciphertext; transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and sending the partially-decrypted ciphertext. - View Dependent Claims (55, 56, 57, 58)
-
-
59. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for processing a functional encryption ciphertext, the method comprising the steps of; receiving a first-partially decrypted ciphertext, wherein the first partially-decrypted ciphertext was generated by transformation of the functional encryption ciphertext; transforming the first partially-decrypted ciphertext into a second partially-decrypted ciphertext; and sending the second partially-decrypted ciphertext. - View Dependent Claims (60, 61, 62)
-
-
63. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for decrypting a functional encryption ciphertext, the method comprising the steps of; receiving a partially-decrypted ciphertext, wherein the partially-decrypted ciphertext was transformed from the functional encryption ciphertext; receiving a decryption key of a user; and decrypting, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (64, 65)
-
-
66. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for processing a functional encryption ciphertext, the method comprising the steps of; receiving, in a first process, the functional encryption ciphertext; transforming, in the first process, the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, in a second process, wherein the second process is isolated from the first process, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (67, 68, 69)
-
-
70. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for transforming a functional encryption ciphertext, the method comprising the steps of; receiving, in a first virtual machine, the functional encryption ciphertext; transforming, in the first process, the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, in a second virtual machine, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (71, 72, 73)
-
-
74. A computational system comprising:
-
a processor; memory operatively coupled to the processor; and a data storage device operatively coupled to the processor; wherein the data storage device stores computer program instructions, which, when executed by the processor, cause the processor to perform a method for decrypting a functional encryption ciphertext, the method comprising the steps of; receiving the functional encryption ciphertext; receiving a decryption key of a user; transforming the functional encryption ciphertext into a partially-decrypted ciphertext; and decrypting, based at least in part on the decryption key of the user, the partially-decrypted ciphertext into plaintext. - View Dependent Claims (75, 76)
-
Specification