Anonymous Revocable Identity-Based Encryption Supporting Anonymous Revocation
Abstract
1. Introduction
1.1. Our Contributions
1.2. Our Techniques
1.3. Related Work
2. Preliminaries
2.1. Pseudo-Random Function
2.2. Symmetric-Key Encryption
- GenKey(). The key generation algorithm takes as input a security parameter λ. It outputs a symmetric key K.
- Encrypt(). The encryption algorithm takes as input a message and the symmetric key K. It outputs a ciphertext C.
- Decrypt(). The decryption algorithm takes as input a ciphertext and the symmetric key K. It outputs a message M or a symbol ⊥.
- Setup: generates a symmetric key K by running . It keeps K to itself.
- Phase 1: adaptively request a polynomial number of encryption queries. For each encryption query for a message M, generates a ciphertext by running and gives to .
- Challenge: submits challenge messages where . flips a random coin and gives a challenge ciphertext to by running .
- Phase 2: may continues to request additional encryption queries and handles these queries as the same as the phase 1.
- Guess: outputs a guess of μ. outputs 1 if or 0 otherwise.
- Setup: generates symmetric keys by running . It keeps to itself.
- Phase 1: adaptively request a polynomial number of encryption queries. For each encryption query for a message M and a choice , generates a ciphertext by running and gives to .
- Challenge: submits a challenge message . flips a random coin and gives a challenge ciphertext to by running .
- Phase 2: may continues to request additional encryption queries and handles these queries as the same as the phase 1.
- Guess: outputs a guess of μ. outputs 1 if or 0 otherwise.
2.3. The Complete Subtree Method
- :
- Let N be the number of all users where for simplicity. It sets a perfect binary tree of depth n. Each user is assigned to a different leaf node in . It outputs the binary tree .
- :
- Let v be a leaf node assigned to a user. Let be the path from the root node to the leaf node . It initializes a private set . For all , it adds into . It outputs the private set .
- :
- Let R be a set of revoked users which consists of leaf nodes. It computes the Steiner tree . Let be all the subtrees of that hang off , that is all subtrees whose roots are not in but adjacent to nodes of outdegree 1 in . It initializes a cover set . For all , it adds into . It outputs the cover set .
- :
- It finds a common node with and . If there exists a common node, it outputs . Otherwise, it outputs ⊥.
3. Anonymous RIBE with Anonymous Revocation
3.1. Definition
- : The setup algorithm takes as input a security parameter and the maximum number of users N. It outputs a master key , an (empty) revocation list , and public parameters .
- : The private key generation algorithm takes as input an identity , the master key , and public parameters . It outputs a private key .
- : The update key generation algorithm takes as input update time , the revocation list , the master key , and public parameters . It outputs an update key .
- : The decryption key derivation algorithm takes as input a private key , an update key , and public parameters . It outputs a decryption key .
- : The encryption algorithm takes as input an identity , time T, a message , and public parameters . It outputs a ciphertext .
- : The decryption algorithm takes as input a ciphertext , a decryption key , and public parameters . It outputs a message M.
- : The revocation algorithm takes as input an identity to be revoked and revocation time T, and a revocation list . It outputs an updated revocation list .
- .
3.2. Security Model
- Init: submits a challenge identity and challenge time .
- Setup: generates a master key , a revocation list , a state , and public parameters by running . It initializes a current time period and gives to .
- Phase 1: adaptively request a polynomial number of queries. handles these queries as follows:
- Private key query for an identity : It checks that if , then for some . It generates by running and gives to .
- Update key query: It generates by running , sets , and gives to .
- Decryption key query for an identity and time T: It checks that and . It generates by running and gives to .
- Revocation query for an identity : It updates by running .
- Challenge: submits two challenge messages with equal length. flips random . It obtains a challenge ciphertext by running and gives to .
- Phase 2: may continue to request additional queries. handles these queries as the same as the phase 1.
- Guess: Finally, outputs a guess , and wins the game if .
- Init: submits two challenge identities and challenge time .
- Setup: generates a master key , a revocation list , a state , and public parameters by running . It initializes a current time period and gives to .
- Phase 1: adaptively request a polynomial number of queries. handles these queries as follows:
- Private key query for an identity : It checks that if for some , then for some . It generates by running and gives to .
- Update key query: It generates by running , sets , and gives to .
- Decryption key query for an identity and time T: It checks that for all and . It generates by running and gives to .
- Revocation query for an identity : It updates by running .
- Challenge: submits a challenge message . flips random . It obtains a challenge ciphertext by running and gives to .
- Phase 2: may continue to request additional queries. handles these queries as the same as the phase 1.
- Guess: Finally, outputs a guess , and wins the game if .
- Init: submits two challenge revoked sets and challenge time such that .
- Setup: generates a master key , a revocation list , a state , and public parameters by running . It initializes a current time period and gives to .
- Phase 1: adaptively request a polynomial number of queries. handles these queries as follows:
- Private key query for an identity : It checks that . It generates by running and gives to .
- Update key query: It checks that . It generates by running , sets , and gives to .
- Decryption key query for an identity and time T: It checks that . It generates by running and gives to .
- Revocation query for an identity : It updates by running .
- Challenge: flips random and proceeds as follows:
- (a)
- For each , it updates by adding if for some .
- (b)
- It obtains a challenge update key by running . It sets and gives to .
- Phase 2: may continue to request additional queries. handles these queries as the same as the phase 1.
- Guess: Finally, outputs a guess , and wins the game if .
4. Construction from Bilinear Maps
4.1. Bilinear Groups
- Bilinearity: and , .
- Non-degeneracy: such that has order p in .
4.2. Complexity Assumptions
4.3. AIBE and IBE Schemes
- :
- Let be the description of a bilinear group with generators . It selects random exponents and sets . It chooses a random exponent and outputs a master key , master parameters , and public parameters .
- :
- It chooses random exponents and outputs a private key with a rand key .
- :
- Let and . It chooses random exponents and outputs a new private key .
- :
- Let . It sets . It outputs a new private key by running .
- :
- It outputs a ciphertext header and a session key .
- :
- Let and . It outputs a session key by calculating .
- :
- Let be the group description string of a bilinear group with a generator . It selects random exponents and sets . It chooses a random exponent and outputs a master key and public parameters .
- :
- It chooses a random exponent and outputs a private key .
- :
- Let . It chooses a random exponent and outputs a randomized private key .
- :
- Let . It sets . It outputs a new private key by running .
- :
- Let t be a random exponent in . It outputs a ciphertext header and a session key .
- :
- Let and . If , then it outputs a session key by computing . Otherwise, it outputs ⊥.
4.4. RIBE-AR Construction
- :
- Let be a security parameter and N be the maximum number of users.
- It generates asymmetric bilinear groups of prime order p with two random generators of , respectively. It sets .
- It obtains , and by running . It also obtains and by running . It obtains by running and selects a random PRF key z.
- Finally, it chooses a random exponent and outputs a master key , an empty revocation list , a state , and public parameters .
- :
- Let and .
- It assigns to a random leaf node and obtains a private set by running .
- For , it computes and proceeds as follows: It obtains and by running . It creates a node private key .
- Finally, it sets and outputs a private key .
- :
- Let and .
- It derives a revoked set R on time T from and obtains a cover set by running . Let , , and . It selects a random exponent and sets .
- For , it computes and proceeds as follows: It obtains by running . It computes . It creates a node update key by setting a hint value .
- For , it proceeds as follows: It sets a random by selecting random . It computes by using a random . It creates a node update key by selecting a random .
- Finally, it selects a random permutation and outputs an update key .
- :
- Let and .
- It retrieves from for all and sets a list . It also retrieves from for all and sets a list .
- It finds two indexes and such that in the lists, then it retrieves the corresponding and . Next, it computes .
- It selects a random exponent . It obtains by running . It also obtains by running . Finally, it outputs a decryption key .
- :
- It chooses a random exponent . It obtains and by running . Next it obtains and by running . It outputs a ciphertext .
- :
- Let and . It derives and by running and , respectively. It outputs a decrypted message .
- :
- If is not assigned in , then it outputs ⊥. Otherwise, it updates by adding to .
4.5. Correctness
4.6. Discussion
5. Security Analysis
5.1. AIBE and IBE Security
5.2. IND-CPA Security
- Type-1.
- An adversary is Type-1 if it does not request a private key for .
- Type-2.
- An adversary is Type-2 if it requests a private key for .
- Game .
- This game is the original security game. That is, a simulator obtains for a node by running PRF.
- Game .
- This game is similar to the game except that the PRF is replaced by a truly random function. That is, selects fixed random for a node if is used for the generation of a private key (or an update key).
- Game .
- This final game is similar to the game except the generation of the challenge ciphertext . Let be the challenge ciphertext. In this game , is replaced by a random element in . Note that the advantage of in this game is zero since the challenge ciphertext is not related to .
- Init: initially submits a challenge identity and challenge time . runs by giving D and Z, and runs by giving D and Z.
- Setup: proceeds as follows:
- It submits to and receives . It also submits to and receives .
- It obtains by running . It sets as an empty one and sets . It fixes a random leaf node that will be assigned to .
- If , it sets . Otherwise , it sets .
- It publishes public parameters .
- Phase 1: adaptively requests a polynomial number of private key, update key, and decryption key queries.
- If this is a private key query for an identity , then proceeds as follows:
- Case : In this case, we have and .
- It queries an AIBE private key for to and receives and .
- It assigns to a new leaf node and obtains by running .
- For , it retrieves of the node and performs the steps: It obtains by running . It sets .
- It creates .
- Case : In this case, we have .
- It queries an AIBE private key for to and receives and .
- It assigns to a new leaf node and obtains by running .
- For , it retrieves of the node and performs the steps:
- (a)
- If , then it obtains and by running .
- (b)
- Otherwise (), it obtains by running.
- (c)
- It sets .
- It creates .
- Case : In this case, we have .
- It retrieves the leaf node and obtains by running .
- For , it retrieves of the node and performs the steps: It obtains and by running . It sets .
- It creates .
- Case : In this case, we have .
- It defines a revoked set R on time T from and obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps: It obtains by running . It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case and : In this case, we have .
- It queries an IBE private key for to and receives .
- It defines a revoked set R on time T from obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps:
- (a)
- If , then it obtains by running .
- (b)
- Otherwise (), it obtains by running .
- (c)
- It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case and : In this case, we have since is revoked on time .
- It defines a revoked set on time from and obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps: It obtains by running . It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case : It queries an AIBE private key for to and receives and . It selects a random exponent . It obtains by running . It obtains by running . It creates .
- Case and : It queries an IBE private key for to and receives . It selects a random exponent . It obtains and by running . It obtains by running . It creates .
- If this is a revocation query for an identity and time T, then updates by running .
- Challenge: submits two challenge messages . flips a random bit and proceeds as follows:
- It submits to and receives a challenge and . It also submits to and receives a challenge and .
- It creates and gives it to .
- Phase 2: Same as Phase 1.
- Guess: Finally, outputs a guess . outputs 0 if or 1 otherwise. This completes our proof. □
5.3. ANO-CPA Security
- Type-1.
- An adversary is Type-1 if it does not request a private key for and .
- Type-2.
- An adversary is Type-2 if it does not request a private key for , but it requests a private key for .
- Type-3.
- An adversary is Type-3 if it requests a private key for , but it does not request a private key for .
- Type-4.
- An adversary is Type-4 if it requests private keys for and .
- Game .
- This game is the original security game. That is, a simulator obtains for a node by running PRF.
- Game .
- This game is similar to the game except that the PRF is replaced by a truly random function. That is, selects fixed random for a node if is used for the generation of a private key (or an update key).
- Game .
- This game is similar to the game except the generation of the challenge ciphertext . Let be the challenge ciphertext. In this game , is replaced by a random element in .
- Game .
- This final game is similar to the game except the generation of the challenge AIBE ciphertext header . Let be the challenge AIBE ciphertext header. In this game, and are replaced by random elements in . Note that the advantage of in this game is zero since the challenge ciphertext is not related to .
- Init: initially submits challenge identities and challenge time . runs by giving and Z, and runs by giving and Z.
- Setup: proceeds as follows:
- It submits to and receives . It also submits to and receives .
- It obtains by running . It initializes as an empty one. It sets as an empty one and sets . It fixes random leaf nodes that will be assigned to , respectively.
- If , it sets . If , it sets . If , it sets . If , it sets .
- It publishes public parameters .
- Case : In this case, we have for any and .
- It queries an AIBE private key for to and receives and .
- It assigns to a new leaf node and obtains by running .
- For , it retrieves of the node and performs the steps: It obtains by running . It sets .
- It creates .
- Case : In this case, we have for any and .
- It queries an AIBE private key for to and receives and .
- It assigns to a new leaf node and obtains by running .
- For , it retrieves of the node and performs the steps:
- (a)
- If , then it obtains by running .
- (b)
- Otherwise (), it obtains by running .
- (c)
- It sets .
- It creates .
- Case or or : In this case, we have .
- It retrieves the leaf node of and obtains by running .
- For , it retrieves of the node and performs the steps: It obtains and by running . It sets .
- It creates .
- Case : In this case, we have since .
- It defines a revoked set R on time T from and obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps: It obtains by running . It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case : In this case, we have and .
- It queries an IBE private key for to and receives .
- It defines a revoked set R on time T from and obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps:
- (a)
- If , then it obtains by running .
- (b)
- Otherwise (), it obtains by running .
- (c)
- It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case : In this case, we have since is revoked on time .
- It defines a revoked set on time from and obtains by running . Let , , and . It sets by selecting a random .
- For , it retrieves of the node and performs the steps: It obtains by running . It computes and sets .
- For , it performs the steps: It sets a random by selecting random elements and computes by using a random key . It selects a random and creates .
- It creates where is a random permutation.
- Case : It queries an AIBE private key for to and receives and . It selects a random exponent . It obtains by running . It obtains by running . It creates .
- Case and : It queries an IBE private key for to and receives . It selects a random exponent . It obtains and by running . It obtains by running . It creates .
- If this is a revocation query for an identity and time T, then updates by running .
- Challenge: submits a challenge message . proceeds as follows:
- It submits to and receives a challenge and . It also submits to and receives a challenge and .
- It creates by selecting a random d and gives it to .
- Phase 2: Same as Phase 1.
- Guess: Finally, outputs a guess . also outputs . This completes our proof. □
5.4. REV-PRV Security
- Game .
- This game is the original security game. That is, a simulator obtains for a node by running PRF.
- Game .
- This game is similar to the game except that the PRF is replaced by a truly random function. That is, selects fixed random for a node if is used for the generation of a private key (or an update key).
- Game .
- This final game is similar to the game except that generation of the challenge update key . Let be the challenge update key where is the challenge node update key. In this game, each is replaced by random. That is, is replaced by SKE encryption of a random message with a random key and is replaced by a random element in . Note that the advantage of in this game is zero since the challenge update key is not related to .
- Game .
- This game is equal to the game . That is, all challenge node update keys in the challenge update key are generated normally.
- Game .
- In this game , each challenge node update key for is generated randomly, but each challenge node update key for is generated normally.
- Game .
- This game is equal to the game . That is, all challenge node update keys in the challenge update key are generated randomly.
- Game .
- This game is equal to the game . That is, and are generated normally.
- Game .
- In this game , is generated by encrypting random elements with a valid key, but is generated normally. That is, by selecting random .
- Game .
- In this game , is generated by encrypting random elements with a random key, but is generated normally. That is, by selecting random and a random key .
- Game .
- This game is equal to the game . In this game, is generated by encrypting random elements with a random key and is also generated randomly. That is, is replaced by a random element .
- Init: initially submits challenge revoked sets and challenge time . chooses a random bit and obtains a challenge cover set by running . Let , , and .
- Setup: obtains by running . Note that the random of the node is unknown to since is implicitly associated with the encryption key of the SKE scheme.
- Phase 1: handles private key, update key, and decryption key queries as follows: It can create a private key by using and although of the node is unknown since by the restriction of the security model. It can create an update key by using and by using the encryption oracle of the SKE scheme for the node . It can also easily create a decryption key by using .
- Challenge: creates a challenge update key as follows:
- It selects a random exponent and sets .
- For , it retrieves of the node and proceeds as follows: It sets a random by selecting random . It computes . It creates .
- For , it retrieves of the node and proceeds as follows:
- (a)
- It sets a random by selecting random . It obtains a normal by running .
- (b)
- It submits challenge messages to the challenge oracle of the SKE scheme and obtains a challenge ciphertext from the challenge oracle of SKE.
- (c)
- It creates .
- For , it retrieves of the node and proceeds as follows: It obtains a normal by running . It computes . It creates a normal .
- For , it proceeds as follows: It sets a random by selecting random . It computes by using a random key . It creates a random by selecting a random .
- It creates where is a random permutation.
- Phase 2: Same as Phase 1.
- Guess: Finally, outputs a guess . also outputs .
- For , it retrieves of the node and proceeds as follows:
- It sets a random by selecting random .
- It submits a challenge message to the challenge oracle of the SKE scheme and receives a challenge ciphertext from the challenge oracle of SKE.
- It creates .
- Init: initially submits challenge revoked sets and challenge time . chooses a random bit and obtains a challenge cover set by running . Let , , and .
- Setup: obtains by running . Note that the random of the node is unknown to since is implicitly associated with of the XDH assumption.
- Phase 1: handles private key, update key, and decryption key queries as follows: It can create a private key by using and although of the node is unknown since by the restriction of the security model. It can create an update key by using and by using for the node and selecting a random exponent s.
- Challenge: Let be the challenge update key that should be created in this step. sets by implicitly setting and creates all in randomly. Next it creates the hint values of as follows:
- For , it retrieves of the node and sets a random .
- For , it retrieves of the node and sets by implicitly setting .
- For , it retrieves of the node and sets .
- For , it retrieves of the node and sets a random .
- Phase 2: Same as Phase 1.
- Guess: Finally, outputs a guess . also outputs .
6. Conclusions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. Construction from Lattices
Appendix A.1. Lattices
- : It is a randomized algorithm that, given as input matrices , , a basis of , and a Gaussian parameter , outputs a matrix distributed statistically close to D [35].
- : It is a randomized algorithm that, given as input a full rank matrix , a matrix , a basis of , and a Gaussian parameter , outputs a matrix distributed statistically close to D [36].
- There exists a fixed full rank matrix such that the lattice has a publicly known basis with [34].
Appendix A.2. Construction
- :
- Let be a security parameter and N be the maximum number of users. Let .
- It obtains and by running and , respectively. It also samples uniformly random matrix and vector .
- It generates two PRF keys and obtains by running .
- Finally, it outputs a master key , a revocation list , a state , and public parameters .
- :
- Let and .
- It assigns to a random leaf node and obtains a private set by running .
- For to , it proceeds as follows: Let be a label string. It computes and where . It samples a vector by running such thatNext, it creates a node private key .
- It obtains an extended basis by running .
- Finally, it outputs a private key .
- :
- Let and .
- It derives a revoked set R on time T from and obtains a cover set by running . Let , , and .
- It selects a uniformly random matrix .
- For , it proceeds as follows: Let be a label string. It computes and where . It samples a vector by running such thatIt obtains a ciphertext . Next, it sets a hint vector and creates a node update key .
- For , it proceeds as follows: It selects random and obtains by using a random key . It creates a node update key .
- Finally, it selects a random permutation and outputs an update key .
- :
- Let and .
- It retrieves from for all and sets a list . It also retrieves from for all and sets a list .
- It finds two indexes and such that in the lists, then it retrieves the corresponding and . Next, it decrypts .
- It parses and where . Then, it computes such that
- It also samples by running such that
- Finally, it outputs a decryption key .
- :
- It first samples uniformly random vectors . It also samples , and setsFinally, it outputs a ciphertext .
- :
- Let and . From the ciphertext and the decryption key, it computesIt outputs 1 if and 0 otherwise.
- :
- If is not assigned in , then it outputs ⊥. Otherwise, it updates by adding to .
References
- Boneh, D.; Franklin, M.K. Identity-Based Encryption from the Weil Pairing. In Advances in Cryptology—CRYPTO 2001; LNCS; Kilian, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2139, pp. 213–229. [Google Scholar]
- Abdalla, M.; Bellare, M.; Catalano, D.; Kiltz, E.; Kohno, T.; Lange, T.; Malone-Lee, J.; Neven, G.; Paillier, P.; Shi, H. Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions. In Advances in Cryptology—CRYPTO 2005; LNCS; Shoup, V., Ed.; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3621, pp. 205–222. [Google Scholar]
- Boyen, X.; Waters, B. Anonymous Hierarchical Identity-Based Encryption (Without Random Oracles). In Advances in Cryptology—CRYPTO 2006; LNCS; Dwork, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4117, pp. 290–307. [Google Scholar]
- Boneh, D.; Crescenzo, G.D.; Ostrovsky, R.; Persiano, G. Public Key Encryption with Keyword Search. In Advances in Cryptology—EUROCRYPT 2004; LNCS; Cachin, C., Camenisch, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 506–522. [Google Scholar]
- Waters, B.R.; Balfanz, D.; Durfee, G.; Smetters, D.K. Building an Encrypted and Searchable Audit Log; NDSS 2004; The Internet Society: Fredericksburg, VA, USA, 2004. [Google Scholar]
- Boldyreva, A.; Goyal, V.; Kumar, V. Identity-based encryption with efficient revocation. In ACM Conference on Computer and Communications Security—CCS 2008; Ning, P., Syverson, P.F., Jha, S., Eds.; ACM: New York, NY, USA, 2008; pp. 417–426. [Google Scholar]
- Libert, B.; Vergnaud, D. Adaptive-ID Secure Revocable Identity-Based Encryption. In Topics in Cryptology—CT-RSA 2009; LNCS; Fischlin, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5473, pp. 1–15. [Google Scholar]
- Seo, J.H.; Emura, K. Revocable Identity-Based Encryption Revisited: Security Model and Construction. In Public-Key Cryptography—PKC 2013; LNCS; Kurosawa, K., Hanaoka, G., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7778, pp. 216–234. [Google Scholar]
- Lee, K.; Lee, D.H.; Park, J.H. Efficient Revocable Identity-Based Encryption via Subset Difference Methods. Des. Codes Cryptogr. 2017, 85, 39–76. [Google Scholar] [CrossRef]
- Watanabe, Y.; Emura, K.; Seo, J.H. New Revocable IBE in Prime-Order Groups: Adaptively Secure, Decryption Key Exposure Resistant, and with Short Public Parameters. In Topics in Cryptology—CT-RSA 2017; LNCS; Handschuh, H., Ed.; Springer: Berlin/Heidelberg, Germany, 2017; Volume 10159, pp. 432–449. [Google Scholar]
- Ducas, L. Anonymity from Asymmetry: New Constructions for Anonymous HIBE. In Topics in Cryptology—CT-RSA 2010; LNCS; Pieprzyk, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 5985, pp. 148–164. [Google Scholar]
- Boneh, D.; Boyen, X. Efficient Selective-ID Secure Identity-Based Encryption Without Random Oracles. In Advances in Cryptology—EUROCRYPT 2004; LNCS; Cachin, C., Camenisch, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3027, pp. 223–238. [Google Scholar]
- Fazio, N.; Perera, I.M. Outsider-Anonymous Broadcast Encryption with Sublinear Ciphertexts. In Public-Key Cryptography—PKC 2012; LNCS; Fischlin, M., Buchmann, J., Manulis, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7293, pp. 225–242. [Google Scholar]
- Libert, B.; Paterson, K.G.; Quaglia, E.A. Anonymous Broadcast Encryption: Adaptive Security and Efficient Constructions in the Standard Model. In Public-Key Cryptography—PKC 2012; LNCS; Fischlin, M., Buchmann, J., Manulis, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7293, pp. 206–224. [Google Scholar]
- Boyen, X. Multipurpose Identity-Based Signcryption (A Swiss Army Knife for Identity-Based Cryptography). In Advances in Cryptology—CRYPTO 2003; LNCS; Boneh, D., Ed.; Springer: Berlin/Heidelberg, Germany, 2003; Volume 2729, pp. 383–399. [Google Scholar]
- Gentry, C. Practical Identity-Based Encryption Without Random Oracles. In Advances in Cryptology—EUROCRYPT 2006; LNCS; Vaudenay, S., Ed.; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4004, pp. 445–464. [Google Scholar]
- Gentry, C.; Peikert, C.; Vaikuntanathan, V. Trapdoors for hard lattices and new cryptographic constructions. In ACM Symposium on Theory of Computing—STOC 2008; Dwork, C., Ed.; ACM: New York, NY, USA, 2008; pp. 197–206. [Google Scholar]
- Boneh, D.; Waters, B. Conjunctive, Subset, and Range Queries on Encrypted Data. In Theory of Cryptography—TCC 2007; LNCS; Vadhan, S.P., Ed.; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4392, pp. 535–554. [Google Scholar]
- Katz, J.; Sahai, A.; Waters, B. Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products. In Advances in Cryptology—EUROCRYPT 2008; LNCS; Smart, N.P., Ed.; Springer: Berlin/Heidelberg, Germany, 2008; Volume 4965, pp. 146–162. [Google Scholar]
- Qin, B.; Deng, R.H.; Li, Y.; Liu, S. Server-Aided Revocable Identity-Based Encryption. In Computer Security—ESORICS 2015; LNCS; Pernul, G., Ryan, P.Y.A., Weippl, E.R., Eds.; Springer: Berlin/Heidelberg, Germany, 2015; Volume 9326, pp. 286–304. [Google Scholar]
- Park, S.; Lee, K.; Lee, D.H. New Constructions of Revocable Identity-Based Encryption from Multilinear Maps. IEEE Trans. Inf. Forensic Secur. 2015, 10, 1564–1577. [Google Scholar] [CrossRef]
- Seo, J.H.; Emura, K. Efficient Delegation of Key Generation and Revocation Functionalities in Identity-Based Encryption. In Topics in Cryptology—CT-RSA 2013; LNCS; Dawson, E., Ed.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7779, pp. 343–358. [Google Scholar]
- Seo, J.H.; Emura, K. Revocable Hierarchical Identity-Based Encryption: History-Free Update, Security Against Insiders, and Short Ciphertexts. In Topics in Cryptology—CT-RSA 2015; LNCS; Nyberg, K., Ed.; Springer: Berlin/Heidelberg, Germany, 2015; Volume 9048, pp. 106–123. [Google Scholar]
- Lee, K.; Park, S. Revocable Hierarchical Identity-Based Encryption with Shorter Private Keys and Update Keys. Des. Codes Cryptogr. 2018, 86, 2407–2440. [Google Scholar] [CrossRef]
- Ma, X.; Lin, D. Generic Constructions of Revocable Identity-Based Encryption. In Information Security and Cryptology—Inscrypt 2019; LNCS; Liu, Z., Yung, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2019; Volume 12020, pp. 381–396. [Google Scholar]
- Lee, K.; Kim, J.S. A Generic Approach to Build Revocable Hierarchical Identity-Based Encryption. IEEE Access 2022, 10, 44178–44199. [Google Scholar] [CrossRef]
- Lee, K. Delegate and Verify the Update Keys of Revocable Identity-Based Encryption. IEEE Access 2023, 11, 52636–52652. [Google Scholar] [CrossRef]
- Bellare, M.; Boldyreva, A.; Desai, A.; Pointcheval, D. Key-Privacy in Public-Key Encryption. In Advances in Cryptology—ASIACRYPT 2001; LNCS; Boyd, C., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2248, pp. 566–582. [Google Scholar]
- Naor, D.; Naor, M.; Lotspiech, J. Revocation and Tracing Schemes for Stateless Receivers. In Advances in Cryptology—CRYPTO 2001; LNCS; Kilian, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2139, pp. 41–62. [Google Scholar]
- Chen, J.; Lim, H.W.; Ling, S.; Wang, H.; Nguyen, K. Revocable Identity-Based Encryption from Lattices. In Information Security and Privacy—ACISP 2012; LNCS; Susilo, W., Mu, Y., Seberry, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7372, pp. 390–403. [Google Scholar]
- Katsumata, S.; Matsuda, T.; Takayasu, A. Lattice-Based Revocable (Hierarchical) IBE with Decryption Key Exposure Resistance. In Public-Key Cryptography—PKC 2019; LNCS; Lin, D., Sako, K., Eds.; Springer: Berlin/Heidelberg, Germany, 2019; Volume 11443, pp. 441–471. [Google Scholar]
- Ajtai, M. Generating Hard Instances of the Short Basis Problem. In Automata, Languages and Programming—ICALP’99; LNCS; Wiedermann, J., van Emde Boas, P., Nielsen, M., Eds.; Springer: Berlin/Heidelberg, Germany, 1999; Volume 1644, pp. 1–9. [Google Scholar]
- Alwen, J.; Peikert, C. Generating Shorter Bases for Hard Random Lattices. Theory Comput. Syst. 2011, 48, 535–553. [Google Scholar] [CrossRef]
- Micciancio, D.; Peikert, C. Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller. In Advances in Cryptology—EUROCRYPT 2012; LNCS; Pointcheval, D., Johansson, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7237, pp. 700–718. [Google Scholar]
- Cash, D.; Hofheinz, D.; Kiltz, E.; Peikert, C. Bonsai Trees, or How to Delegate a Lattice Basis. In Advances in Cryptology—EUROCRYPT 2010; LNCS; Gilbert, H., Ed.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6110, pp. 523–552. [Google Scholar]
- Agrawal, S.; Boneh, D.; Boyen, X. Efficient Lattice (H)IBE in the Standard Model. In Advances in Cryptology—EUROCRYPT 2010; LNCS; Gilbert, H., Ed.; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6110, pp. 553–572. [Google Scholar]
- Regev, O. On lattices, learning with errors, random linear codes, and cryptography. In ACM Symposium on Theory of Computing—STOC 2005; Gabow, H.N., Fagin, R., Eds.; ACM: New York, NY, USA, 2005; pp. 84–93. [Google Scholar]
- Banerjee, A.; Peikert, C.; Rosen, A. Pseudorandom Functions and Lattices. In Advances in Cryptology—EUROCRYPT 2012; LNCS; Pointcheval, D., Johansson, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7237, pp. 719–737. [Google Scholar]
| Scheme | PP Size | SK Size | UK Size | CT Size | ANO | RP | DKER |
|---|---|---|---|---|---|---|---|
| BF [1] | Yes | No | Yes | ||||
| BGK [6] | No | No | No | ||||
| LV [7] | No | No | No | ||||
| SE [8] | No | No | Yes | ||||
| LLP [9] | No | No | Yes | ||||
| WES [10] | No | No | Yes | ||||
| Ours | Yes | Yes | Yes |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lee, K. Anonymous Revocable Identity-Based Encryption Supporting Anonymous Revocation. Mathematics 2025, 13, 2854. https://doi.org/10.3390/math13172854
Lee K. Anonymous Revocable Identity-Based Encryption Supporting Anonymous Revocation. Mathematics. 2025; 13(17):2854. https://doi.org/10.3390/math13172854
Chicago/Turabian StyleLee, Kwangsu. 2025. "Anonymous Revocable Identity-Based Encryption Supporting Anonymous Revocation" Mathematics 13, no. 17: 2854. https://doi.org/10.3390/math13172854
APA StyleLee, K. (2025). Anonymous Revocable Identity-Based Encryption Supporting Anonymous Revocation. Mathematics, 13(17), 2854. https://doi.org/10.3390/math13172854

