## 2 Literature Review on IoT and Lightweight Security Protocols
### Lightweight Solutions for IoT
[23] defined the primitives that make an encryption algorithm lightweight and presented examples of lightweight cryptographic algorithms, such as block ciphers and hash functions. Several block ciphers were compared in terms of key size, block size, and the number of rounds. PRESENT, the ISO/IEC 29192 standard, is presented as one having a 64-bit block size and simpler substitution round, using a 4-bit substitution box (S-Box)or lookup table. In addition, they discussed solutions for symmetric and asymmetric lightweight algorithms for IoT. For asymmetric algorithms or public-key cryptography, Elliptic Curve Cryptography (ECC) is recommended for IoT systems because it requires a smaller key size (160 bits) compared to traditional algorithms such as Rivest, Shamir, Adleman (RSA) keys (1024-bit). Finally, they provided a high-level example of a sensor in a smart home and a flowchart on how to decide which encryption algorithm to adopt based on the sensor's battery, memory space, and computational power. [PERSON] et al. [24] discussed Elliptic Curve Cryptography (ECC) in the context of lightweight solutions, or Elliptic Curve Lightweight Cryptography (ECLC). ECC security relies on the difficulty to solve the Elliptic Curve Discrete Logarithm Problem (ECDLP). To make an ECDLP difficult to solve, there are certain properties that standardized elliptic curve functions have. However, their implementations are not feasible for resource-constrained devices. The authors reviewed elliptic curves that are better suited for IoT devices. They presented the types of applications in which ECLC algorithms are implemented, such as e-health, wireless sensor networks, and the smart grid. They also specified the criteria for ECC-based systems to be classified as lightweight. Finally, they proposed a design methodology that guides the implementation of ECLC solutions. [PERSON] et al. [25] described state-of-the-art Lightweight Cryptography (LWC) and how it can improve the security and privacy of IoT devices with low processing, battery, and memory resources. First, it classifies LWC in terms of lightweight block ciphers, lightweight stream ciphers, lightweight hashes, high performance systems, and low-resource devices (similar to the primitives in [PERSON]'s paper [23]). As lightweight stream ciphers, they mention the Grain v1, MICKEY v2, and Trivium algorithms. For block ciphers, they indicated that CLEFIA and PRESENT are promising block ciphers for IoT applications. In a comparison table of LWC with traditional AES, the authors ranked the security of several block ciphers. In this comparison, the RC5 algorithm, with a 64-bit block size and a 128-bit key, ranked the most secure against software vulnerabilities, while PRESENT, with a 64-bit block size and an 80-bit key, ranked second considering hardware vulnerabilities. They also reviewed practical papers that analyze the security of LoRaWAN, such as proposals to reduce the power needed to run the encryption operations in LoRa motes, improve its key management scheme, or modify AES to use less memory. [PERSON] et al. [26] reviewed several lightweight hash function families, their contributions, and their drawbacks. Among them, there is a hash function using the advanced encryption standard (AES). However, these functions require fixed-size data blocks, which is not recommended for IoT because of the small blocks of data that IoT devices typically send. [PERSON] et al. [27] discussed the security of smart gadgets such as baby monitoring cameras, by focusing on their vulnerabilities. They cited several attacks in which the main security flaws are weak passwords or the use of the default password that comes with the embedded device when purchased. In addition to the weak authentication scheme, most of these systems lack an encryption protocol and have vulnerabilities in their Web applications. Then, the authors described in detail lightweight encryption algorithms that could be implemented to protect such systems, such as AES, PRESENT, and their own scheme based on ECC.