A system for attribute-based encryption, comprising a first encrypter, comprising: an input unit for determining a message and a policy over a set of attributes, wherein the policy comprises a plurality of components; and a first cryptographic unit for generating an encrypted representation of the message and an encrypted representation of the plurality of components, wherein the first cryptographic unit comprises: a secret generator for generating a secret; a message encrypting unit for encrypting the message in dependence on the secret to obtain the encrypted representation of the message; a policy transforming unit for transforming respective ones of the components of the policy in dependence on the secret to obtain respective policy ciphertext components; and a secret encrypting unit for encrypting the secret to obtain an encrypted secret; and a second encrypter, comprising: a receiving unit for receiving the encrypted representation of the message and the encrypted representation of the plurality of components; and a second cryptographic unit for transforming the encrypted representation of the message and the encrypted representation of the plurality of components into an attribute-based encrypted message associated with the policy, wherein the second cryptographic unit comprises: a share generating unit for generating a plurality of encrypted shares of the encrypted secret based on a key that does not allow decryption of the encrypted secret; a combining unit for combining respective ones of the policy ciphertext components with respective ones of the encrypted shares of the encrypted secret, to obtain a cryptographic representation of the policy. an input unit for determining a message and a policy over a set of attributes, wherein the policy comprises a plurality of components; and a first cryptographic unit for generating an encrypted representation of the message and an encrypted representation of the plurality of components, wherein the first cryptographic unit comprises: a secret generator for generating a secret; a message encrypting unit for encrypting the message in dependence on the secret to obtain the encrypted representation of the message; a policy transforming unit for transforming respective ones of the components of the policy in dependence on the secret to obtain respective policy ciphertext components; and a secret encrypting unit for encrypting the secret to obtain an encrypted secret; and a secret generator for generating a secret; a message encrypting unit for encrypting the message in dependence on the secret to obtain the encrypted representation of the message; a policy transforming unit for transforming respective ones of the components of the policy in dependence on the secret to obtain respective policy ciphertext components; and a secret encrypting unit for encrypting the secret to obtain an encrypted secret; and a receiving unit for receiving the encrypted representation of the message and the encrypted representation of the plurality of components; and a second cryptographic unit for transforming the encrypted representation of the message and the encrypted representation of the plurality of components into an attribute-based encrypted message associated with the policy, wherein the second cryptographic unit comprises: a share generating unit for generating a plurality of encrypted shares of the encrypted secret based on a key that does not allow decryption of the encrypted secret; a combining unit for combining respective ones of the policy ciphertext components with respective ones of the encrypted shares of the encrypted secret, to obtain a cryptographic representation of the policy. a share generating unit for generating a plurality of encrypted shares of the encrypted secret based on a key that does not allow decryption of the encrypted secret; a combining unit for combining respective ones of the policy ciphertext components with respective ones of the encrypted shares of the encrypted secret, to obtain a cryptographic representation of the policy.