In the CP-ABE scheme, all the attributes belong to one monolithic set and there is no concept of sets involved. Hence the main challenge in its implementation is to prevent user collusion, which means different users combinign their attributes to satisfy a policy. This is acheived in CP-ABE by binding together attribute keys with a random unique nunber assigned to each user. In case of CP-ASBE, one must also prevent combining attributes belonging to different sets. This is acheived by using a unique random nuber assigned to each attribute set inaddition to the unique number assigned to each user. At the same time it should also be able to allow specific combinations of attributes from different sets, as in case of translating nodes in an access-tree. The key idea in this construction is to include judiciously chosen additional values in the ciphertext (and in the key) that will allow a user to combine attributes from multiple sets all belonging to the same user. As it turns out, such a modification could introduce new subtle ways for multiple users to combine their attributes. …show more content…
The Setup algorithm takes as input the depth of the key structure supported and generates a master key and a public key for the scheme. KeyGen takes the master-key generated by the setup, a user’s identity and an attribute set as input, and produces a secret key for the user. Encrypt algorithm takes as input the public key of the scheme, along with a message and an access tree, and generates a ciphertext as output. Finally, Decrypt takes a ciphertext and a secret-key (produced by KeyGen), and if the access-tree used to construct the ciphertext is satisfied by the attribute set for which the secret-key was generated, then it recovers the message from the ciphertext. Each of these algorithms are explained in detail