I have a basic understanding of public-private and symmetric crypto, but I keep struggling with the concept of ABE. I know the difference between the two variants: Key-Policy: A key is linked to a specific access policy. A cipher text is linked to certain attributes. Ciphertext-Policy: A cipher text is linked to a specific access policy. A key is linked to a certain attribute.

But I have difficulties figuring out how this would work in practice. For example;

User 1 has attributes: IsOver18, IsAlien

User 2 has attributes: IsOver18

I would encrypt something with the policy IsOver18 OR IsAlien in CP-ABE mode, how would this result in a decrypt able cipher text for User 2? Is this in fact encrypted twice with the two different attributes (thus keys)?

And if I would encrypt something with the policy IsOver18 OR IsAlien in KP-ABE mode, does this mean this would be only encrypted once, but User 2 should have received the key for the access control policy IsOver18 OR IsAlien and IsOver18 for example? What does it mean that the cipher text is linked to attributes with this access control policy? Also; does this mean that access control policies need to be pre-defined in the system, because how could User 2 otherwise decrypt such cipher text?

I'm trying to figure out what method is best for broadcast encryption, but my lack of understanding how this works in practice makes it hard for me to figure out what's the best method.

  • 2
    $\begingroup$ This is the heart of the issue of understanding how ABE works. I tried to describe it without being too mathematical, but it seems that it wasn't detailed enough (this and this). You need to choose a scheme and try to understand it fully. You also seem to have an issue with KP-ABE. Maybe this helps. Anyway, ABE and BE are two different pairs of shoes. They have different use cases and functionalities, but there are also ABBE schemes out there. $\endgroup$
    – Artjom B.
    May 26, 2017 at 21:21
  • 1
    $\begingroup$ Thank you for the resources. I've dived into an actual scheme and now understand it. However, one thing keeps me bothering. Presume you want to prove (authenticate) to someone you own a key policy or attributes, can this also be done with lets say the original scheme of KP-ABE, or should you need to combine two schemes in order to make this work? Normal public key crypto has signatures (which is nothing more than a decrypted plaintext), is something like this possible in KP-ABE or CP-ABE? $\endgroup$ Jul 7, 2017 at 8:29
  • 1
    $\begingroup$ You have to look into Attribute-Based Signature, or Identification scheme for such authentication. $\endgroup$
    – Tan
    Nov 12, 2018 at 6:35


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.