Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Attribute-Based Encryption is a type of public-key encryption in which the key used for encryption is based on selected attributes of the readers. Decryption of the ciphertext is possible only if the set of attributes of the user includes all the attributes used to encrypt the ciphertext.

Using Attribute-Based Encryption (ABE) the sender does not need to specify the identity of the recipient when encrypting. Instead, the sender specifies attributes of the recipient that will enable any one entity possessing those attributes to decrypt the message, while preventing anyone not possessing all of those attributes from decrypting it.

An example could be a CEO encrypting a message to be read only by managers in the sales area. He does not want it read by the cashiers in sales, nor by managers in the HR or shipping departments. He would encrypt it using the attributes of {"manager", "sales"}. Only users with both of those attributes would have enough information to decrypt the message.

Extending the above example, an HR manager might have the attributes {"manager", "HR"}, while a cashier would have the attributes {"cashier", "sales"}. Those two people could try to combine their attributes to include "manager" and "sales", and then attempt to decrypt the message together. ABE schemes prevent this type of collusion.

history | excerpt history