Paper 2014/021

Online/Offline Attribute-Based Encryption

Susan Hohenberger and Brent Waters


Attribute-based encryption (ABE) is a type of public key encryption that allows users to encrypt and decrypt messages based on user attributes. For instance, one can encrypt a message to any user satisfying the boolean formula (``crypto conference attendee'' AND ``PhD student'') OR ``IACR member''. One drawback is that encryption and key generation computational costs scale with the complexity of the access policy or number of attributes. In practice, this makes encryption and user key generation a possible bottleneck for some applications. To address this problem, we develop new techniques for ABE that split the computation for these algorithms into two phases: a preparation phase that does the vast majority of the work to encrypt a message or create a secret key *before* it knows the message or the attribute list/access control policy that will be used (or even the size of the list or policy). A second phase can then rapidly assemble an ABE ciphertext or key when the specifics become known. This concept is sometimes called ``online/offline'' encryption when only the message is unknown during the preparation phase; we note that the addition of unknown attribute lists and access policies makes ABE significantly more challenging. One motivating application for this technology is mobile devices: the preparation work can be performed while the phone is plugged into a power source, then it can later rapidly perform ABE operations on the move without significantly draining the battery.

Note: This is the full version of the work to appear in PKC 2014.

Available format(s)
Public-key cryptography
Publication info
A minor revision of an IACR publication in PKC 2014
attribute-based encryptiononlineofflinepreprocessing
Contact author(s)
susan @ cs jhu edu
2014-01-08: received
Short URL
Creative Commons Attribution


      author = {Susan Hohenberger and Brent Waters},
      title = {Online/Offline Attribute-Based Encryption},
      howpublished = {Cryptology ePrint Archive, Paper 2014/021},
      year = {2014},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.