Attribute based encryption using lattices
First Claim
1. A computing system for performing attribute based decryption, comprising:
- decryption logic that receives a user secret key, a ciphertext, and a value c and decrypts the ciphertext to obtain a message m, the value c being a multiplication of a first random vector s chosen during encryption for each attribute in a subset of attributes to which the message m is encrypted and a lattice B generated for each of the subset of attributes to which the message m is encrypted, and the ciphertext being an inner product of the first random vector s and a second random vector y plus the message m, the second random vector y and the lattice B being generated as a master public key for each of the attributes in the subset of attributes, the user secret key including a set of values for a vector e that satisfies a reconstruction function for reconstructing the second random vector y, given the lattice B;
a computer processor being a functional part of the computing system and activated by the decryption logic to perform decrypting the ciphertext to obtain the message m.
2 Assignments
0 Petitions
Accused Products
Abstract
A master public key is generated as a first set of lattices based on a set of attributes, along with a random vector. A master secret key is generated as a set of trap door lattices corresponding to the first set of lattices. A user secret key is generated for a user'"'"'s particular set of attributes using the master secret key. The user secret key is a set of values in a vector that are chosen to satisfy a reconstruction function for reconstructing the random vector using the first set of lattices. Information is encrypted to a given set of attributes using the user secret key, the given set of attributes and the user secret key. The information is decrypted by a second user having the given set of attributes using the second user'"'"'s secret key.
-
Citations
20 Claims
-
1. A computing system for performing attribute based decryption, comprising:
-
decryption logic that receives a user secret key, a ciphertext, and a value c and decrypts the ciphertext to obtain a message m, the value c being a multiplication of a first random vector s chosen during encryption for each attribute in a subset of attributes to which the message m is encrypted and a lattice B generated for each of the subset of attributes to which the message m is encrypted, and the ciphertext being an inner product of the first random vector s and a second random vector y plus the message m, the second random vector y and the lattice B being generated as a master public key for each of the attributes in the subset of attributes, the user secret key including a set of values for a vector e that satisfies a reconstruction function for reconstructing the second random vector y, given the lattice B; a computer processor being a functional part of the computing system and activated by the decryption logic to perform decrypting the ciphertext to obtain the message m. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for performing attribute based decryption of information, the method comprising:
-
receiving a user secret key, a ciphertext, and a value c, wherein the value c comprises a multiplication of a first random vector s chosen during encryption for each attribute in a subset of attributes to which the message m is encrypted and a lattice B generated for each of the subset of attributes to which the message m is encrypted, and the ciphertext being an inner product of the first random vector s and a second random vector y plus the message m, and wherein the second random vector y and the lattice B are generated as a master public key for each of the attributes in the subset of attributes, the user secret key including a set of values for a vector e that satisfies a reconstruction function for reconstructing the second random vector y, given the lattice B; and decrypting the ciphertext to obtain the message m using a computer processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification