1. A method for providing broadcast encryption for a group of n receivers, the said method using a key generation engine, an encryption engine and a decryption engine, comprising: generating by the key generation engine a random g∈G, where G is a prime order group of order p, a random secret value β∈Z/pZ and n blinding values s u ∈Z/pZ and for i=1,. .. ,2 n−1 −2 generating pairs of values a i ,b i generating by the key generation engine the plurality of decryption keys, each of the said decryption keys uniquely associated with the receiver's identity i by means of the blinding value s u , the said decryption key computed using the blinding value, the generator and the pairs of values a i ,b i comprising of at least log n elements of group G and comprising of at least 2*(log n−2) elements of Z/pZ, and for a subset R of revoked receivers among the total population of n receivers, generating by the encryption engine a random value t∈Z/pZ, computing by the key generation engine the value V = ∏ i ∈ R g { path i } wherein i represents the identity of a receiver and {path i } is a product of at most log n values a i and b i , generating by the encryption engine the cryptogram hdr=(hdr 1 ,hdr 2 ) comprising of at least two elements of group G using the value V, the random value t and group generator g and generating the session key SK, wherein the said session key or parts thereof is used to derive a symmetric key, encrypt the payload, or to encrypt the payload with the said symmetric key.