Patent ID: 8533487

Claim:
A system for processing logical clock values, the system including instructions recorded on a computer-readable medium and comprising: a communication unit configured to: receive an encrypted first value of a logical clock, the encrypted first value of the logical clock is computed with a homomorphic encryption function and a public key from a first value of the logical clock, send an encrypted blinded difference to a participant system, receive an encrypted blinded maximum value, a maximum value being identical to the maximum of the first value of the logical clock and a second value of the logical clock; and a processing unit configured to: access an encrypted second value of the logical clock, the encrypted second value of the logical clock is computed with the homomorphic encryption function and a public key from the second value of the logical clock, generate the encrypted blinded difference between the first value of the logical clock and the second value of the logical clock without decrypting the encrypted first value of the logical clock and the encrypted second value of the logical clock, a blinded difference is computed from an intermediate result computed by multiplying a difference between the first value of the logical clock and the second value of the logical clock with a first blinding value and by subtracting a second blinding value, the first blinding value being greater than the second blinding value and the second blinding value being greater than or equal to zero, change a sign of the intermediate result according to a first split value, the first split value and a second split value determining if the first value of the logical clock is less than or equal to the second value of the logical clock based on an exclusive-or of the of the first split value and the second split value, provide an encrypted blinded first value and an encrypted blinded second value in an oblivious transfer protocol to the participant system, a blinded first value is computed by adding a third blinding value to the first value of the logical clock and a blinded second value is computed by adding the third blinding value to the second value of the logical clock, and generate an encrypted maximum value from the encrypted blinded maximum value by selecting a value from a set of provided values according to the oblivious transfer protocol, the value being selected from the provided values using the second split value and indices of the provided values.