Method of communicating a value originating at a first node, via a second node arranged to generate a key tree distribution scheme, to a third node, and wherein the third node represents the i th member, u i, of a group U intended to receive keys distributed via the key tree distribution scheme, and wherein the value is usable in the key tree distribution scheme, the method comprising: at the first node: - generating and encrypting a number g using a homomorphic encryption system, the homomorphic encryption system having associated with it a public key, the public key being used for encrypting the number g; - transmitting to the second node: - the encrypted g; at the third node: - generating a number r i, - encrypting r i using the public key of the homomorphic encryption system, which public key is received or derived from information received at the third node, and - transmitting to the second node: - the encrypted r i; at the second node: - choosing an integer pi for each user i in U; - repeating a mathematical operation pi - 1 times, in the encrypted domain, on the encrypted g to obtain a result hi; - performing the mathematical operation, based on said result hi, in the encrypted domain, on the encrypted r i, using part of the public key of the homomorphic encryption system, which part of the public key is received or derived at the second node, to produce a first result; - transmitting the first result to the first node; at the first node: - decrypting the first result, using the homomorphic encryption system, to produce a second result, and - transmitting the second result to the second node for transmission to the third node; at the third node: - receiving the second result from the second node, and - computing, using r i, on the second result, in the plain domain, the inverse of the mathematical operation performed by the second node, to produce the value. at the first node: - generating and encrypting a number g using a homomorphic encryption system, the homomorphic encryption system having associated with it a public key, the public key being used for encrypting the number g; - transmitting to the second node: - the encrypted g; - generating and encrypting a number g using a homomorphic encryption system, the homomorphic encryption system having associated with it a public key, the public key being used for encrypting the number g; - transmitting to the second node: - the encrypted g; - the encrypted g; at the third node: - generating a number r i, - encrypting r i using the public key of the homomorphic encryption system, which public key is received or derived from information received at the third node, and - transmitting to the second node: - the encrypted r i; - generating a number r i, - encrypting r i using the public key of the homomorphic encryption system, which public key is received or derived from information received at the third node, and - transmitting to the second node: - the encrypted r i; - the encrypted r i; at the second node: - choosing an integer pi for each user i in U; - repeating a mathematical operation pi - 1 times, in the encrypted domain, on the encrypted g to obtain a result hi; - performing the mathematical operation, based on said result hi, in the encrypted domain, - choosing an integer pi for each user i in U; - repeating a mathematical operation pi - 1 times, in the encrypted domain, on the encrypted g to obtain a result hi; - performing the mathematical operation, based on said result hi, in the encrypted domain, on the encrypted r i, using part of the public key of the homomorphic encryption system, which part of the public key is received or derived at the second node, to produce a first result; - transmitting the first result to the first node; - transmitting the first result to the first node; at the first node: - decrypting the first result, using the homomorphic encryption system, to produce a second result, and - transmitting the second result to the second node for transmission to the third node; - decrypting the first result, using the homomorphic encryption system, to produce a second result, and - transmitting the second result to the second node for transmission to the third node; at the third node: - receiving the second result from the second node, and - computing, using r i, on the second result, in the plain domain, the inverse of the mathematical operation performed by the second node, to produce the value. - receiving the second result from the second node, and - computing, using r i, on the second result, in the plain domain, the inverse of the mathematical operation performed by the second node, to produce the value.