Patent ID: 8397151

Claim:
A method for checking the integrity of a set of data packets received by a receiving communication device from a sending communication device, each data packet of the set comprises a payload which contains information to be carried in the data packet, the data packets of the set being received in unpredictable order, wherein the method comprising: initializing an intermediate integrity check value for the data packets set, and a. until all data packets of the set have been received, each time a data packet having an index i of the data packets set is received, the receiving communication device updates the intermediate integrity check value for the data packets set by: a.1 computing an intermediate integrity check value for the data packet i wherein the intermediate integrity check value for the data packet i may be computed recursively using the output from one recursion level as input to an integrity check computation at the next higher recursion level using the index i as a parameter defining the recursion depth of the computation, a.2 computing an integrity check value on a first portion of the intermediate integrity check value for the data packet i, a.3 combining the result of the computation of the integrity check value on the first portion with a second portion of the intermediate integrity check value for the data packet i, and a.4 updating the intermediate integrity check value for the data packets set by combining the intermediate integrity check value with the result of the combining of the computation of the integrity check value on the first portion with a second portion of the intermediate integrity check value for the data packet i; and b. the receiving communication device receives an integrity check value from the sending communication device, the integrity check value for the data packets set having been calculated by processing the payloads of all the sent data packets of the set according to step a, the integrity check being considered successful if, once all the data packets of the set are received, the intermediate integrity check value for the data packets set is equal to the received integrity check value.