I. Introduction
Internet of things (IoT) is pertaining to every branch of our lives. The architecture of IoT devices make it rapidly extend to a big number of fields including health monitoring, greenhouse monitoring, as well as traffic management in smart transportation. However, the pervasive flow of IoT devices in different fields comes along with significant challenges, one of which is ensuring security along different dimensions [1], [2]. IoT devices are vulnerable to a wide range of attacks including data tampering, eavesdropping and physical attacks [3]. While data tampering may incur severe losses, ensuring data integrity prevents data modification from source to destination and increases the security level. Integrity of this data comes with high importance to achieve an accurate flow of data over its entire life-cycle [4] and thus increases the outcomes of the IoT ecosystem. Hashing has been one of the effective and traditional techniques used to ensure integrity of data. For example, an IoT device may send large amount of data but it needs the data sent in public not to be modified or altered on the way to the destination [5]. However, applying traditional security solutions to achieve the integrity of large sizes of data generated by IoT devices becomes unfeasible due to their limited resources.