Patent ID: 7925025

Claim:
A method comprising: supplying each user in a group of users respective private information I u ; selecting at least one session encryption key K; at least in part using a processor accessing a non-transitory storage medium, partitioning users not in a revoked set R of revoked receivers into disjoint subsets S i1 , . . . S im having associated subset keys L i1 , . . . L im ; encrypting the session key K with the subset keys L i1 , . . . , L im to render m encrypted versions of the session key K, wherein each user deduces at least one subset key using its private information; identifying subsets of users using at least one of: (a) a subset difference routine wherein respective groups of users correspond to a universe of sets S 1 , . . . , S w that is described as “a first subtree A minus a second subtree B that is entirely contained in A” with each node in the tree having a set of labels, one unique to the node and others that are induced by ancestor nodes and with each user being assigned labels from all nodes hanging from nodes in a direct path between the user and the root but not from nodes in the direct path itself, or (b) a complete subtree routine wherein respective subsets correspond to all possible subtrees in a complete tree and each user is assigned keys from all nodes that are in a direct path between a leaf representing the user and the root of the tree, wherein the complete subtree routine includes defining a spanning tree having leaves established by the revoked set R of revoked receivers, the spanning tree being a subtree of a tree connecting leaves corresponding to revoked receivers, subtrees having roots adjacent to nodes of degree one of the spanning tree establishing subsets S i1 , . . . , S im encompassing all non-revoked receivers.