A method of checking an entity to be checked by a checking entity ; a secret key v being associated with the checking entity; said entity to be checked and said checking entity sharing a plurality of public parameters (g, g v ), a second public parameter g v of said plurality being a combination of a first public parameter g of said plurality with the secret key v of the checking entity ; said method comprising the following steps at the level of the entity to be checked: /a/ generating first and second random values (r1, r2); /b/ transmitting a first message to the checking entity, said first message comprising at least one combined value x obtained by combining the first public parameter g with the first random value, said first message comprising also a value z based on the second public parameter g v and the second random value (r2); and /c/ transmitting a second message to the checking entity, said second message comprising at least one combined value y obtained by combining the first random value (r1), a secret key of the entity to be checked (s) and a value c received from the checking entity; characterized in that : the combined value x is obtained by calculating the first public parameter to the power of the first random value; the value z is obtained by calculating the second public parameter to the power of the second random value; the combined value y is obtained by summing the following values: the first random value, the second random value, and the product of the secret key of the entity to be checked (s) with the value c; the method comprising also a step /d/ during which the entity to be checked is checked by the checking entity based on the following equation: J = g v y x − v z − 1 1 / vc where J is a public key of the entity to be checked or a value in a database accessible from the checking entity. /a/ generating first and second random values (r1, r2); /b/ transmitting a first message to the checking entity, said first message comprising at least one combined value x obtained by combining the first public parameter g with the first random value, said first message comprising also a value z based on the second public parameter g v and the second random value (r2); and /c/ transmitting a second message to the checking entity, said second message comprising at least one combined value y obtained by combining the first random value (r1), a secret key of the entity to be checked (s) and a value c received from the checking entity; the combined value x is obtained by calculating the first public parameter to the power of the first random value; the value z is obtained by calculating the second public parameter to the power of the second random value; the combined value y is obtained by summing the following values: the first random value, the second random value, and the product of the secret key of the entity to be checked (s) with the value c; the method comprising also a step /d/ during which the entity to be checked is checked by the checking entity based on the following equation: J = g v y x − v z − 1 1 / vc where J is a public key of the entity to be checked or a value in a database accessible from the checking entity. <EOS>