Patent ID: 7313697

Claim:
A method for authenticating a data set between a proving unit and a verifying unit, which comprises the steps of: a) communicating the data set from one of the proving and verifying units to a respective other of the proving and verifying units such that the data set is in an unencrypted form to both the proving and verifying units after completing step a); b) generating at least one data element in the verifying unit; c) using the verifying unit to encrypt the data element in a first cryptographic encryption method using a public key of the proving unit resulting in at least one encrypted data element, and the public key is known to the verifying unit, performing the first cryptographic encryption method using discrete exponentiation in a semigroup with the steps of: using the verifying unit to generate a number t∈T, where T is a subrange of integers; using the verifying unit to calculate element h f(t) ∈H, where f:T→T′ is a mapping into a subrange T′ of the integers, which is not necessarily different from T, H represents a multiplicatively written semigroup generated by element h, with a discrete exponentiation of a base h as a one-way function in the semigroup H; using the verifying unit to calculate from the public key, k pub =h f(d) ∈H, element π(k pub f(t) ) ∈G, where π:H →G specifies a mapping of the semigroup H into a group G, d≡k priv ∈T is the private key which is accessible only to the proving unit, and a mapping t→h f(t) →π(h f(t) ) from the subrange of the integers T to the group G represents a one-way function; and using the verifying unit to encrypt the data element, z, by a combination with respect to the encrypted data element, z′=z∘π(k pub f(t) )∈G; d) communicating the encrypted data element from the verifying unit to the proving unit; e) using the proving unit to decrypt the encrypted data element in a first decryption method, assigned to the first cryptographic encryption method, using a private key known only to the proving unit and using discrete exponentiation in a semigroup; f) using the proving unit to calculate, from the data set to be authenticated, in a second cryptographic method, an authenticator dependent on the data element; g) communicating the authenticator from the proving unit to the verifying unit; h) using the verifying unit to check the authenticator with an aid of an authentication checking algorithm, assigned to the second cryptographic method using the data element and the data set; and i) accepting the data set as communicated by the proving unit to the verifying unit is dependent on a result of the check performed in step h).