A widely applied IoT application layer protocol is MQTT which stands for Message Queuing Telemetry Transport. The pub-sub protocol, MQTT, allows the restricted IoT devices to publish the data referred to as the payload. The MQTT clients are devices or a server. Generally, the Transmission Control Protocol (TCP) is implemented over the MQTT communication protocol. However, the TCP lacks in providing encrypted communication to MQTT. After, the Transport Layer Security (TLS) offers security to the MQTT environment, whereas the TLS design is not specified for resource-limited IoT devices.
The lightweight cryptography solutions are more suitable for the MQTT environment, as they necessitate fewer resources, computational power, and storage capacity. The lightweight cryptography methods recommend lightweight shortest public/private key pairs among the communication entities and accomplish the desired security level in a resource-constrained IoT environment. The lightweight cryptographic methods are public-key cryptography, private key cryptography, and hash functions based cryptography. Moreover, the lightweight cryptography based MQTT is an ideal choice for the IoT scenario.