Attribute based encryption using lattices
First Claim
1. A system for performing attribute based encryption of information, comprising:
- setup logic that receives a set of allowed attributes to which the information can be encrypted and, for each attribute in the set of allowed attributes, generates a lattice B and a trap door lattice T as well as a random vector y, and outputs the lattice B and vector y as a master public key and maintains the trap door lattice T as a master secret key;
key generator logic that receives a set of user attributes that corresponds to a user, in an access structure, the access structure identifying a type of information the user can decrypt, the key generator secret sharing the vector y with the user and generating a user secret key for the access structure and the set of user attributes, based on the master public key and the master secret key, the user secret key including a set of values in a vector e that satisfies a reconstruction function for reconstructing y, given lattice B, the user secret key being output for encrypting messages;
encryption logic that receives a message m to be encrypted and generates an encrypted form of the message m to a predefined subset of attributes using the master public key; and
a computer processor, being a functional part of the system, and activated by the setup logic and the key generator logic to facilitate outputting the master public key and the user secret key.
3 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.
19 Citations
12 Claims
-
1. A system for performing attribute based encryption of information, comprising:
-
setup logic that receives a set of allowed attributes to which the information can be encrypted and, for each attribute in the set of allowed attributes, generates a lattice B and a trap door lattice T as well as a random vector y, and outputs the lattice B and vector y as a master public key and maintains the trap door lattice T as a master secret key; key generator logic that receives a set of user attributes that corresponds to a user, in an access structure, the access structure identifying a type of information the user can decrypt, the key generator secret sharing the vector y with the user and generating a user secret key for the access structure and the set of user attributes, based on the master public key and the master secret key, the user secret key including a set of values in a vector e that satisfies a reconstruction function for reconstructing y, given lattice B, the user secret key being output for encrypting messages; encryption logic that receives a message m to be encrypted and generates an encrypted form of the message m to a predefined subset of attributes using the master public key; and a computer processor, being a functional part of the system, and activated by the setup logic and the key generator logic to facilitate outputting the master public key and the user secret key. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for performing attribute based encryption of information, the method comprising:
-
receiving a set of allowed attributes to which the information can be encrypted; for each attribute in the set of allowed attributes, generating a lattice B and a trap door lattice T as well as a random vector y, outputting the lattice B and vector y as a master public key, and maintaining the trap door lattice T as a master secret key; receiving a set of user attributes that corresponds to a user, in an access structure, the access structure identifying a type of information the user can decrypt and the vector y being shared with the user; generating, by a computer processor, a user secret key for the access structure and the set of user attributes, based on the master public key and the master secret key, the user secret key including a set of values in a vector e that satisfies a reconstruction function for reconstructing vector y, given lattice B, the user secret key being output for encrypting messages; and receiving a message m to be encrypted and generating an encrypted form of the message m to a predefined subset of attributes using the master public key. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification