6. Asano, T.: A revocation scheme with minimal storage at receivers. In: ASIACRYPT ’02:
Proceedings of the 8th International Conference on the Theory and Application of Cryptol-
ogy and Information Security, London, UK, Springer-Verlag (2002) 433–450
7. Bertino, E., Carminati, B., Ferrari, E.: A temporal key management scheme for secure broad-
casting of xml documents. In: CCS ’02: Proceedings of the 9th ACM conference on Com-
puter and communications security, New York, NY, USA, ACM Press (2002) 31–40
8. TS Chen, Y.C.: Hierarchical access control based on chinese remainder theorem and sym-
metric algorithm. Computers & Security 21 (2002) 565–570
9. Kuo, F.H., Shen, V.R.L., Chen, T.S., Lai, F.: Cryptographic key assignment scheme for
dynamic access control in a user hierarchy. Volume 146., Dept. of Electr. Eng., Nat. Taiwan
Univ., Taipei, IEE (September 1999) 235 – 240
10. Hwang, M.S., Yang, W.P.: Controlling access in large partially ordered hierarchies using
cryptographic keys. J. Syst. Softw. 67 (2003) 99–107
11. Lin, I.C., Hwang, M.S., Chang, C.C.: A new key assignment scheme for enforcing compli-
cated access control policies in hierarchy. Future Gener. Comput. Syst. 19 (2003) 457–462
12. Chien, H-Y; Jan, J.K.: New hierarchical assignment without public key cryptography. Com-
puters & Security 22 (2003) 523–526
13. Lin, C.H.: Hierarchical key assignment without public-key cryptography. Computers &
Security 20 (2001) 612–619
14. Lee, N.Y., Hwang, T.: Comments on dynamic key management schemes for access control
in a hierarchy’. Computer Communications 22 (1999) 87–89
15. Crampton, J., Martin, K., Wild, P.: On key assignment for hierarchical access control. In:
CSFW ’06: Proceedings of the 19th IEEE Workshop on Computer Security Foundations,
Washington, DC, USA, IEEE Computer Society (2006) 98–111
A Appendix: The Algorithm
The output of the CreateHierarchy(Access Table ACCESS) algorithm is the directed
graph G = (V, E(V )) in a V-form, where the node set V ⊇ {AC(d)|d ∈ D}. The
algorithm uses an abstract data structure Digraph G to represent the order on access
configurations it constructs. The standard available operations are: New(), Cover(Node
A), InsertNode(Node A), InsertEdge(Node A, Node B), RemoveNode(Node A) and Re-
moveEdge(Node A, Node B). We assume that the graph does not allow duplicate nodes
(if the node to be inserted already exists, than the insertion procedure terminates). Sim-
ilarly, no multiple arcs are allowed between two nodes. The algorithm CreateHierar-
chy(Access Table ACCESS) uses the priority queue Q. A priority queue is an abstract
data type to efficiently support finding the item with the highest priority across a series
of operations. The basic operations are: New(), Insert(Item, Priority), ExtractMax(),
ExtractMin(), FindMax(), FindMin() and Remove(Item). The items of Q are the access
configurations. The algorithm calls two additional procedures: InsertCoverMin(Node
AC) and CreateTree(Node AC), which are presented in Section A.1. The number of el-
ements in data structure X is denoted as #X. For data structures X and Y we denote
their set difference (the elements in X but not in Y ) as X − Y , and their intersection as
X ∗ Y .
A.1 Subprocedures Codes
algorithm InsertCoveredMin(Node AC)
19