A method comprising: taking as input, at a tamper resistant hardware environment, a salt, wherein the salt is subject to a form requirement, and wherein the salt not satisfying the form requirement results in group key derivation failure; for a set of receivers, determining to provide a component key for each possible subset X of receivers with fewer than k members, where k is a predefined constant; determining to define an iterative ordering function that orders the subsets X; for a subset of privileged receiver, determining which subsets X do not contain members of the privileged receiver subset and determining to identify the component keys associated with each subset X which does not contain members of the privileged receiver subset; determining to define a pseudo random function that takes an arbitrary number of component keys as inputs and outputs a group key; and determining to use as inputs to the pseudo random function: a first constant and a second constant, wherein each of the first constant and the second constant is of a length equal to a concatenation of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset; and one of: a sequential application, in the order given by the iterative ordering function, to the pseudo random function of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset; and a concatenation of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset, wherein the output of the pseudo random function is a privileged receiver specific group key. taking as input, at a tamper resistant hardware environment, a salt, wherein the salt is subject to a form requirement, and wherein the salt not satisfying the form requirement results in group key derivation failure; for a set of receivers, determining to provide a component key for each possible subset X of receivers with fewer than k members, where k is a predefined constant; determining to define an iterative ordering function that orders the subsets X; for a subset of privileged receiver, determining which subsets X do not contain members of the privileged receiver subset and determining to identify the component keys associated with each subset X which does not contain members of the privileged receiver subset; determining to define a pseudo random function that takes an arbitrary number of component keys as inputs and outputs a group key; and determining to use as inputs to the pseudo random function: a first constant and a second constant, wherein each of the first constant and the second constant is of a length equal to a concatenation of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset; and one of: a sequential application, in the order given by the iterative ordering function, to the pseudo random function of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset; and a concatenation of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset, a sequential application, in the order given by the iterative ordering function, to the pseudo random function of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset; and a concatenation of the component keys associated with subsets of X of size less than k not containing members of the privileged receiver subset, wherein the output of the pseudo random function is a privileged receiver specific group key.