1 Introduction

The world around us is replete with things or objects, such as Radio Frequency Identification (RFID), sensors, and actuators, mobile phones and many other smart devices that use an accurate addressing mechanism to work with each other and obtain a predefined goal. The omnipresence of these objects is felt stronger, in recent years, in wireless networks [1,2,3].

IoT is one of the hottest topics in the current period that has possessed many researchers due to its prevalent applications [4, 5]. IoT is the world of virtual, rather than real, entities where each person or thing on the internet has a correspondence that can be addressed, located and reached [6]. The virtual objects have the capacity to work around a common goal through producing and consuming services. For instance, a smart phone gets data from a host of devices connected to the body of a person to identify his physical and mental state and make due decisions on his behalf. Similarly, a high-tech system embedded in a swimming pool communicates its data with other virtual things connected to it. Thus, IoT is expected to expand its domain to cover anything or anyone at anytime and anywhere [7].

1.1 Motivation

Security factors such as privacy, secure storage and management, authorization, and communication as well as access control are the essential and challenging issues in the IoT environment. The large-scale stabilization of IoT devices and services outcomes in many vulnerabilities and threats in the nodes. Due to the limited processing capability, common security models suffer from different setbacks and often do not detect the physical threats in the network. Thus, the IoT security should be enhanced with the guaranteed communication and allows only the authorized user to access the data and updated frequently for the smart applications. Cryptography algorithms are the best algorithms for the security of IoT resources.

It is noteworthy that governments and organizations have tried to conceptualize IoT since it was invented, but their efforts have been rather sporadic and inconsistent. In simple words, IoT is defined as a widespread network of interrelated objects equipped with virtual devices that are around users and act based on sense and supervision. Objects in IoT are identified with six major characteristics listed below [8, 9]:

  • Existence: all real things in this world, like a computer, have a physical existence but technologies are not pinned in the real world and only exist in a virtual arena.

  • Self-identity: Everything has a characteristic that distinguishes it from other objects. For example, a BMW car has an explicit and implicit identity. Information processing, decision making and independent working are characteristics of many objects.

  • Communication: objects can communicate with other things in their immediate environment as well as those in remote locations. This facilitates locating and addressing them.

  • Interaction: things contribute to producing and consuming a wide range of services in their collaboration with many different entities in real or virtual spaces. This includes interactions with machines or humans.

  • Dynamicity: things are dynamic and engage in working with other objects in different ways, whenever and wherever needed. They are not bound to a specific physical position and use different interface types, making them enter and leave a network when they need to.

  • Environmental Awareness: things receive and process real and virtual information about their environments via sensors and are aware of what is going on around them. However, not all things have this capacity, like a device with lower-end radio frequency identification (RFID) tag.

IoT facilitates flawless and transparent connectivity between a host of different devices from a wide range of networks [10, 11]. This is the case when convenience, smartness, providing high-quality services and cost management are of the highest importance. Thus, IoT finds application in many development plans in urban, rural and civil projects like smart cities.

Another significant area of concern is the security of IoT applications in business. Once a smart object from a big business department is hacked by an outside intruder, its sensing information is seized by the attacker for spying purposes in the enterprise. Other classified information about the business may also be captured in these cyberattacks. Therefore, IoT security may be more demanding than internet security in general [12, 13]. This is because IoT is a combination of different networks that call for establishing security in many areas such as the Internet, sensor network and mobile networks. When various networks are connected in this way, new problems such as management, access control, authentication, and privacy emerge [14,15,16].

1.2 Main contributions

Since the IoT is an intricate, distributed and heterogeneous system, it faces various challenges regarding security and privacy. Privacy-preservation and data-protection are key to IoT applications. Sensors in a wireless sensor network and RFID systems are both equipped with password encryption technology to protect information confidentiality and integrity in IoT [17]. In this regard, asymmetric and symmetric encryptions are used for such purposes. The connection between two entities in a given network is established through identity authentication and access control to ensure that authentic and valid data is exchanged and the true identity of both sided are identified while avoiding disguised attacks [18].

The security of IoT devices is a significant issue due to the increasing numbers of services and users in IoT networks. The integration of IoT devices and smart environments creates smart objects more effective. However, the impacts of IoT security vulnerabilities are very calamitous in essential smart environments used in fields such as intelligent irrigation and industry. In IoT-based smart environments without robust security, applications and services will be at risk. Integrity, confidentiality, and availability are three substantial security concepts of applications and services in IoT-based smart environments; thus, to address these concerns, information security in IoT systems requires greater research focus.

Data encryption allows for delivering confidential and integrated messages to authentic end-users or systems and ensures non-repudiation of transactions. Here, authentication helps both sides of a communication process determine the true identity of each other and spot their correct targets. Confidential delivery means that the contents of a message are not disclosed. Integration ensures that message content remains as it was sent from the original user [19]. By non-repudiation, it is meant that both sides of communication feel bound to their duty of protecting and performing for each other. In this paper, cryptographic algorithms will be further examined. Our contribution can be summarized as follows:

  • This literature reviews collects and reviews state-of-the-art symmetric, and asymmetric cryptography algorithms for IoT data security.

  • A comparative analysis of the cryptography algorithms has been carried out in terms of Confidentiality, Integrity, Authentication, Authorization, Availability, Non-repudiation, Accountability, Anonymity and type of attacks.

  • This paper reviews IoT security threats based on cryptography algorithms that lead to IoT adoption.

  • Scrutiny of related works based on preventing attacks by adopting cryptography algorithms.

  • In the end, a statistical overview of published papers on cryptography algorithms based IoT security (security factors and detecting the type of attack by cryptographies) has been presented which will help researchers to give an idea about published research on a particular area of interest and its potentiality.

In this study, several papers were investigated based on cryptography algorithms. These papers mainly study the design and implementation of encryption for use in the IoT paradigm that can be applied in smart environments. The most important difference between this paper and previous studies is that in this paper, only the cryptographic algorithms used in the IoT were investigated and analyzed. Also, important security factors are extracted from the done studies and given to researchers an overview of the most important threats in IoT.

1.3 Organization of the paper

The rest of the paper is organized as follows: In Sect. 2, we briefly explain the IoT Architecture. Section 3, explains Security of IoT based on cryptography algorithms. Section 4, discusses the open problems and issues in IoT security based on cryptography. Finally, Sect. 5 concludes this study.

2 IoT architecture

In 1999, Kevin Ashton from Massachusetts Institute of Technology proposed IoT as a new concept based on RFID [20]. The RFID technology enabled all things in the network to be interconnected, easily identified and managed. Today, the internet helps connect many sensing devices such as RFID, ZigBee, IR (Infrared), GPS, WIFI and UMTS (Universal Mobile Telecommunications System). These devices use a variety of protocols to communicate with each other and exchange information. Objects provide for information exchange in remote areas. IoT contains a considerable amount of sensing devices that transmit a great deal of data that needs to be securely delivered [21]. Any sensing device in IoT has its own specific identity and identifier (an IP address or URI). Smart IoT interfaces allow users to observe their status, implement remote control and management, perform infrastructural configuration, and search devices [21]. Devices in IoT are mounted on an information network o be able to communicate data with other systems and devices. These devices can identify and be identified by other similar devices on the network in order to exchange information. This helps make the IoT system work even smarter because individual devices are integrated and work proficiently with the infrastructural system. This way, data from different interconnected devices are gathered and processed. For instance, data from a host of weather monitoring IoT devices are collected to be used for forecast purposes.

In simple words, IoT system is made up of hierarchical layers that together compose the IoT architecture. Out of several layers, the most important ones are the application layer, network layer, and perception layer. Each layer has its own distinct technology, and even devices in the same layer may use a specific technology of its own. This is to provide for the widest possible services in the network that have their own requirements and limitations [21]. However, one drawback is that it becomes significantly hard to manage these heterogeneous devices and technologies. To care for this difficulty, a middleware layer is often inserted to deal with various service types. This middleware layer is responsible for collecting network layers information and then storing them in the cloud and database. It also provides data processing. Therefore, a fourth layer is added to the IoT architecture, as illustrated in Fig. 1. These layers are discussed in detail below.

Fig. 1
figure 1

Four-layer architecture of IoT

2.1 Application layer

It is the outer visible layer of IoT architecture that seeks to supply industrial demands and realize intellectual needs. The application layer performs many tasks in different contexts. It receives data from the middleware layer, then it processes this data to offer quality services to the end user. The problem of the application layer mainly occurs in the operation of sensitive data, such as illegal access to data, malicious rectification of data, and the lifetime of permission. Therefore, hackers can have access to sensitive data and even manipulate them [21].

The application layer offers a host of services in the network. As said above, it processes data from the middleware layer and this procedure includes monitoring devices and services, identifying events, managing communications, administrating policies, managing input/output, logging information and remote management. Each of these services has a direct correspondence to the perception layer. The middleware layer is the mediator between the application and perception layers to provide information transfer and data process.

2.2 Middleware layer

This layer is responsible for receiving data from the network layer to process and store system data in the cloud and database. It also feeds the application layer with the required APIs. The storage and computational capacity of the middleware layer is a function of advanced cloud computing and IoT development. Service quality in the application layer is also determined by the security of the cloud and database [21].

The processing procedure is twofold: authentication and processing. Data authentication includes Devices and Services Monitoring Agent (DSMA), Authentication Center (AC) and Information Logging. On the other hand, remote management, managing communication, managing policies, and identifying events are associated with data processing. Once the obtained data are authenticated, they are stored with a signature in the information logging, and then transferred to the application layer.

The middleware layer is accountable for service management over IoT devices to make connections between IoT devices that provide the same service [22, 23]. Moreover, the middleware layer stores the information coming from the network layer in a database to facilitate decision-making on the basis of information processing operations [24].

2.3 Network layer

The network layer provides infrastructural connectivity of the IoT. It aggregates data from the perception layer and transfers them via a wired or wireless medium to the middleware layer. ZigBee, WIFI, Bluetooth, 3G are some technologies used for data transmission. The layer has to prevent pervasive attacks that undermine coordination and information sharing between the devices [21].

2.4 Perception layer

In the perception layer, the objects are identified and the information is collected to be changed to digital signals. The main technologies used in this layer are RFID tags, cameras, sensors, and wireless sensor network. The major technologies in this layer are RFID, Wireless Sensor Networks (WSNs) [25,26,27,28,29], RSN, GPS, etc. the performance of the perception layer is determined by its computational power and energy supply. A sensing device may be used in a perilous situation that is vulnerable to intentional or unintentional attacks which may affect identification technology. This also disrupts the data collection process and undermines system efficiency [21]. The two main components of the perception layer are perception node and perception network. The former includes sensors or controllers and is used for data collection and control. The latter transmits the acquired data to the gateway or feeds the controller with the control instruction.

The perception layer is a hardware layer that consists of sensors and physical objects in different forms. These hardware elements provide identification, information storage, information collection, and information processing [30,31,32].

The differences between IoT and Cyber-Physical System (CPS) are as follows [33]: Both IOT and CPS have physical aspect as well as cyber aspect. IoT emphasizes on connectivity while CPS emphasizes on embedded part. CPS is not necessarily connected to the Internet. CPS consists of five levels, namely the connection, conversion, cyber, cognition, and configuration levels. In CPS, embedded computation and communication devices, together with sensors and actuators of the physical substratum, are federated in heterogeneous, open, and systems-of-systems.

3 Security of IoT based on cryptography algorithms

IoT faces many security challenges including the configuration of the system, storage and management of information, privacy-preservation, access control, and authentication [34]. IoT devices adapt to human needs and facilitate communication and convenience through providing sensitive services and responsive care. Nevertheless, security may be compromised, particularly when user information is disclosed or privacy is threatened [35]. Users need to be reassured of their privacy and personal information. Therefore, security is the pivotal concern of the IoT, particularly because its traditional method of communication is the internet which is an open environment to attacks by public and individual cybercriminals. Security measures are not limited only to infrastructure and the system but may call for hardware and physical security [36].

Security is any measure taken in a computer system to protect it against illegitimate access and abuse of information by an intruder. Disclosure of personal information, credit card thefts, leakage of economic information, virus attacks to computer systems are some examples of malicious attacks on a daily basis. The following criteria are necessary for establishing computer system security:

  • Confidentiality: it guarantees that system information is protected against illegal access from an outside source. Data confidentiality is preserved in different ways. However, cryptographic measures and access control are the most common ones for this purpose. Cryptography is the technique by which the target data is encoded and cannot be used by any entity unless it possesses the decryption key. Some common encryption algorithms are RSA, DSA, AES. In access control process, unauthorized access to sensitive information is denied to anyone whose identity is not verified. Nevertheless, IoT never ensures effective protection because complex encryption and verification algorithms can’t be applied [37].

  • Integrity: integrated data are those which have not been manipulated by an unintelligible entity [38].

  • Authentication: the process by which the identity of the user of system resources is verified is called authentication [38].

  • Non-repudiation: Once the original node performs an action, such as sending a message, it can never deny it.

  • Availability: system resources are accessible to authorized users.

  • Privacy: it guarantees that the identity of the user can’t be traced from his actions in the system [37].

  • Anonymity: as part of the privacy-preservation, the tag’s identity is kept anonymous in RFID authentication scheme.

  • Authorization: Authorization is a security way used to determine user privileges or access levels related to system resources, including computer programs, files, services, data and application features.

Application of IoT is increasing by rapid developments in communication technologies which supply unfailing availability to information resources at any place and time. The concept of future Internet poses some concerns in terms of system security and network scalability, but offers an enriched experience for users. Providing integrated, confidential and authentic information is the major security challenge of IoT [39].

There are traditional models of cryptography such as the Advanced Encryption Standard (AES), Rivest–Shamir–Adleman (RSA) and ECC which work on systems that have the abundant computational power and memory capacities, but they cannot perform well with embedded systems and sensor networks. In IoT, the computing power of sensors, smart cards and other micro-devices is often limited. Hence, lightweight cryptography models are suggested to overcome many of the problems of common cryptography when applied to systems having constraints related to physical size, computational requirements, energy consumption, and limited memory. Lightweight cryptography allows the application of secure encryption for devices with limited resources.

In general, encryption is a tool for securing systems that lightweight encryption is a good way to ensure data security. The International Standards Organization (ISO) and the International Electrotechnical Commission (IEC) are maintaining standards about information and communication technology. According to these standards the algorithms to be considered as “lightweight cryptography” should follow requirements related to:

  • Security Strength for Lightweight Cryptography: The minimum is 80-bit, but is proposed that at least 112-bit security should be utilized for systems that will give security for maximum longer periods. Smaller key size in order to attain power consumption with limited battery life, the key size must be small in a lightweight.

  • Software Implementation Attributes: The code size and required RAM size should have fewer resource requirements than in existing standards for the same platform.

  • Hardware Implementation Attributes: The chip area covered by the cryptographic model and the energy consumption should be less compared to existing ISO standards.

Stream ciphers are symmetric key ciphers that synthesize plaintext digits with a pseudorandom key stream to generate an output cipher stream. They are also called state ciphers because they comprise a secret internal state, which is used to produce the pseudorandom key stream. In the encryption procedure, the key stream is usually combined with the plaintext by applying a bit-wise XOR operator. At the receiver side, the same key stream is produced and is utilized to decrypt the cipher back to the main plaintext.

Block Ciphers are cryptography algorithms that procedure data in chunks called blocks. Plaintext blocks are composed with a key to generate ciphertext blocks. It is utilized to data encryption, message authentication, random bit generation, message hashing and so on. Presumably, the most important block ciphers in the world are AES and DES which have been developed as different international standards.

Cryptography is preserving the security of a message of any type in any given network while sending the data. A wide range of encryption algorithms is used for this purpose. The two main methods are symmetric (secret key encryption) algorithm for decryption and asymmetric (public-key) algorithm for encryption. Figure 2 demonstrates the use of cryptography algorithms in IoT. As can be seen, ECC (42%), AES (18%), and ABE (17%) are commonly used algorithms. ECC is more appropriate for devices that need lightweight cryptography due to their lesser resources such as computational power, memory, and energy.

Fig. 2
figure 2

Use of cryptography algorithms in IoT

Figure 3 shows use of cryptography algorithms in IoT based on year of publication. As can be seen, use of these algorithms increases after 2017. According to Fig. 4, 2018 had the very best frequency of published papers. Enormous number of research publications in journals and conferences are found associated with IoT. To illustrate the ongoing research work, we filtered the number of publications from 2011 to 2019-April through different database.

Fig. 3
figure 3

Use of cryptography algorithms in IoT based on year of publication

Fig. 4
figure 4

Use of cryptography algorithms in IoT by publishers

Figure 4 illustrates use of cryptography algorithms in IoT by publishers. As can be seen, Springer is the most active publisher (65%), followed by IEEE (13%) and Elsevier (9%). Also, Taylor and Francis are 4% and Inderscience is 4%, and Other Journal is 5%. Given these percentages, it can be concluded that most reputable databases have discussed on IoT security based on cryptography algorithms.

3.1 Classification of lightweight cryptography algorithms

A classification of lightweight cryptographic algorithms is shown in Fig. 5. There are two major types of cryptography algorithms: asymmetric and symmetric.

Fig. 5
figure 5

Security of IoT based cryptography algorithms

3.2 Asymmetric algorithms

Cryptography is the process of securing communications to prevent cyberattacks. This is done through analyzing and designing the crucial protocols. Asymmetric algorithms have recently been used to provide for higher levels of security, some of which are discussed below. An asymmetric algorithm AE = (G, K, E, D) consists of four algorithms [40]:

  • G(k): The common key production algorithm takes as inputting a security parameter k and outputting a common key I, defined by \(I \leftarrow G\left( k \right)\);

  • K(I): The key production algorithm takes as inputting the common key I and returning a public/private key pair \(\left( {pk, sk} \right)\), defined by \(\left( {pk, sk} \right) \leftarrow K\left( I \right)\);

  • \(E_{pk} \left( {m, r} \right)\): The encryption algorithm takes as inputting a public key pk, a plaintext \(m \in M\) and a random coin \(r \in \Omega\), and returning a ciphertext C, defined by \(C \leftarrow Epk\left( {m, r} \right)\). When the random coins are useless in the discussion, defined by \(C \leftarrow E_{pk} \left( m \right)\);

  • \(D_{sk} \left( C \right)\): The decryption algorithm takes as inputting the secret key \(sk\) and a ciphertext C, and returning the corresponding plaintext m or a special symbol indicating that the ciphertext is invalid, defined by \(m \leftarrow Dsk\left( C \right)\).

3.2.1 RSA

RSA is a public key cryptographic system and is named after its inventors (\(Rivest, \,Shamir\;and\;Adleman\)) in 1977 which offered encryption and digital signature [41]. It is based on difficulty in computational analysis of factorization of large prime numbers. In the process of encrypting and decrypting information, a public key (e, n) and a private key (d, n), both positive integers, are used. This process is as follows:

$$C = E\left( M \right) = M^{e} \;mod\;n,\,where\;M = message$$
$$D\left( C \right) = C^{d} mod\;n, \;where\;C = cipher\;text$$
$$n = product\;of\;two\;large\;prime\;numbers\;p\;and\;q \left( {n = p * q} \right)$$
$$d = large\;random\;relative\;prime\;to\;p \left( {i.e. gcd\left( {d,\left( {p - 1} \right) * \left( {q - 1} \right)} \right) = 1} \right)$$
$$e = multiplicative\;inverse\;of\;d\;modulo\; \left( {p - 1} \right) * \left( {q - 1} \right)$$

Opportunistic IoT systems have a subclass of opportunistic network. On the other hand, opportunistic use of IoT devices is applicable when the presence of devices is not clear. Therefore, in [42], the authors proposed an asymmetric RSA-based security scheme for opportunistic use of IoT scenarios. Here, messages are secured by RSA approach and data routing is done by forecasting the location of the node from its probable movement towards its destination and using Markov chain. Public encryption key is used and shared with all things in the network. However, the decryption key is kept private. Results of stimulations show that the proposed \(RSASec\) algorithm offers a high level of security in comparison with other approaches and protects users against eavesdropping and cryptography attacks. Low latency, fewer message dropout and high rate of message delivery are key features of this algorithm.

In [43], a secure communication protocol based on REWE homomorphic encryption in IoT convergence cloud environment is offered. The user and IoT gateway were first authenticated, followed by user registration and key-creation protocol design. The resulting data from the device was sent to a sever to perform cloud computations. Then, a mechanism for creating and managing an index was designed. Once key creation, user registration, and data management procedures were finished, a communication protocol was designed to increase privacy and prevent information disclosure. The present study offers a hash tree-based technique for managing certificate in signature value management to respond to data falsification. Cloud and gateway identification values, as well as user information were all set by the proposed RLWE. Then, we used encryption communication system to analyze security level. In addition, complexity of time and space was analyzed by RLWE and security against attacks was confirmed. Other threats regarding message disclosure, user privacy, resource and availability were also safeguarded in RLWE. Unlike existing encryption communication protocol, RLWE was flexible for device scalability.

3.2.2 ECC

ECC was proposed in 1985 by Victor S. Miller and Neal Koblitz [44]. A key attribute of ECC is operating on finite domains. Suppose p is prime number and \(Fp\) is a finite domain including values smaller than p. then, the elliptic curve E is defined by Eq. (1) as follows:

$${\text{y}}^{2} = {\text{x}}^{3} + {\text{ax}} + {\text{b}}$$
(1)

where \(a,b \in F_{p}\) and \(4a^{3} + 27b^{2} \ne 0 \left( {mod p} \right)\). Moreover, a and b change to different elliptic curve equations. If (x, y) realize on a point, it belongs to the elliptic curve. In addition, \(E\left( {F_{p} } \right)\) is the set of all points on the elliptic curve, and G is a point of E. In ECC-based cryptography, a random number x (1, n-1) in the field \(F_{p}\) is selected and considered as the private key. Then, public key Pu is calculated as \(P_{u} = P_{r} G\), where G is a point on elliptic curve and \(P_{r}\) is the private key. in ECC, each character is converted to bites that represent (x, y) points encrypted on elliptic curve. The encrypted points are then converted to bites (Fig. 6).

Fig. 6
figure 6

Block diagram of ECC

The elliptic curve is encrypted as follows:

  1. 1)

    Initialization. Each side of the curve select E and G of p order.

  2. 2)

    Public key generation: public key is generated as \(P_{u} = P_{r} G\). Here, Pu is accessible as the public key to sender and receiver. \(P_{r}\) is the private key that used for decryption.

  3. 3)

    Encryption: A random number r is selected, and encryption of the message is performed using Eq. (2). Sender uses C to send message m to the receiver.

    $$C = Enc\left( m \right) = \left\{ {\begin{array}{*{20}l} {c_{1} = rG} \hfill \\ {c_{2} = m + rP_{u} } \hfill \\ \end{array} \to Enc\left( m \right) = \left( {c_{1} ,c_{2} } \right)} \right.$$
    (2)
  4. 4)

    Decryption: Upon the reception of C, the receiver obtains the value of m using \(P_{r}\) and Eq. (3).

    $$Dec\left( C \right) = c_{2} - P_{r} .c_{1} = m + rP_{u} - P_{r} rG = m + rP_{r} G - P_{r} rG = m$$
    (3)

ECC a lightweight cryptography based on the algebraic structure that benefits from small message size and fewer key production compared to other public key systems, while offering the same level of cybersecurity.

Communication security in cluster-based WSNs was proposed in [45] using a secure data transmission scheme (SDTS) that is based on ECC as it provides small key size with the same security level. The proposed method was introduced to prevent data disclosure and provide data security. It proved efficient in preventing brute force attack, replay attack, and sinkhole attack while meeting requirements of security, including integrity, authentication and confidentiality. SDTS also reduced costs of communication. Before the collected data are sent, ECC is used by sensors to encrypt the sensed data.

IoT devices are expected to optimally promote computational speed and reduce energy consumption without bargaining device security. Security standards in ECC are better managed than other typical algorithms, adding to its improved performance. The authors in [46] proposed an ECSM (elliptic curve scalar multiplication) algorithm over a prime filed \(Fp\) in affine coordinates. The proposed model is fast and field efficient and only has point operations that are involved in modular arithmetic operations (addition, subtraction, multiplication and inversion). ECSM is performed by these operations and is computed by a binary left–right method. The present study tried to optimize some major components like hardware implementation space and speed of computation in ECC. It showed an efficient method for sharing hardware resource and scheduling group operations of ECC. The obtained scalar multiplication hardware architecture is characterized with significantly fewer cycle count and acceptable area delay. The proposed architecture has been implemented with 256 bits in both Xilinx Kintex-7 and Virtex-7 FPGA devices. The FPGA synthesis results show that a throughput of 68.52 kbps at a clock frequency of 124.2 MHz is achieved for F256 and the computation time is reduced around 1 MS without using any DSP slices.

A secure ECC-based protocol was proposed in [47] to analyze the communication between the server and IoT devices. The proposed ECIOT protocol uses a DH protocol, which is based on NIST p-192 prime curve, to create a secret session key. This key is then used by the symmetric key cipher XOR to perform subsequent communication. IoT devices in ECIOT have a longer lifespan because it reduces power consumption and memory use. The authors in [48] used CoAP to improve data security in the sensor network of remote health monitoring of patients. This can also be done by asymmetric cryptography methods such as ECC and RSA which are also implemented to provide for integrity, authentication and confidentiality between the end nodes and users. These public key algorithms are compared in terms of key generation time, power and energy consumption, radio duty check, verification and generation of signature to evaluate their performance in hostile environments. Results showed that ECC is faster than RSA in key and signature generation but RSA shows faster verification time. Furthermore, small key size in ECC is an advantage in constrained situations where message delivery, verification and data security are key concerns. Since smaller key size is needed in ECC, less storage space is required while security level remains the same as RSA. Thus, in cases where storage, power and computation are key parameters, ECC has a better performance than RSA.

Widespread and prevalent use of IoT and cloud computing, real-time monitoring of patients by a remote medical professional is becoming more possible and the prospect of patient care at home is closer. A cloud server stores patient’s medical records in a cloud-IoT network but because these are highly sensitive information, the network is subject to cyberattacks. To ensure security of these medical records, user identification is essential to be established in centralized healthcare systems. For instance, an ECC-based identification protocol in cloud-IoT networks is proposed in [49]. As Fig. 7 shows, this protocol includes, (a) a three-factor authentication of medical professionals; (b) a two-sided authentication of cloud server and medical professionals; (c) secure session key generation; (d) key freshness maintenance. The proposed protocol allows only for two message exchanges and reduces costs of computation and communication. AVISPA (Automated Validation of Internet Security Protocols and Applications) was used for security and performance analysis and the results showed that the protocol is effective in terms of security and generates a balance between performance and security in healthcare applications in cloud-IoT environments.

Fig. 7
figure 7

Cloud-IoT healthcare service architecture [49]

Today, automatic identification of objects is mostly done by RFID technology, making it a good candidate in IoT applications. RFID is characterized with good authentication and privacy protection. Many protocols have been suggested to establish privacy, efficiency and security of RFID techniques, but most of them have failed to meet the required standards for security and performance. An ECC-based lightweight anonymous authentication protocol was proposed for RFID systems in [50] with an acceptable level of anonymity, confidentiality, authentication, and resistance against replay, impersonation and modification attacks. Performance analysis of the proposed protocol also showed costs of computations and communication reduced 3 times and 50%, respectively, as compared to earlier RFID protocols.

Similarly, another ECC-based authentication algorithm was proposed in [51] in situations where a new device is added to the network. The proposed protocol was effective in preventing attacks and providing security. Rapid growth of data in IoT calls for improving levels of security and privacy to reduce its weaknesses. Studies show that IP security protocols and algorithm have technical shortcomings and are not suitable for IoT. When a new device is added to a network, it should be authenticated and its level accessibility to network properties should be allocated. If not, the new device will bring about more vulnerabilities to the network and will expose it to different types of cyberattacks. Results of analysis showed that the proposed algorithm is resistant to DOS attack, Man in the middle, and Injection input attacks and provides sufficient security in the network.

In [52], an authenticated key agreement (AKAIOTS) was proposed for IoT to offer a secure shared key and secure data transfer between the cloud server and WSN clients. WSNs allow for Internet-based collection and transmission of data to cloud servers and hence are significant for IoT. Since sensor nodes are devices with resource constraints, designing a secure encryption system for IoT is difficult. The authenticated key agreement scheme offers different security properties and has a lightweight computation. In the random oracle model under computation Diffe-Hellman (DF) assumption, this scheme is still secure. BN-P158, SECG-P160, and NIST-P192 are three curves used in this context. Results of implementation demonstrate that, in all the three curves tested, computational efficiency and memory use from total ROM and RAM are 5–52% and 59–62%, respectively. Thus, SECG-P160 seems to be a good candidate for establishing data security in IoT because it has reasonable computation time and less power consumption than the other two curves.

A new scalar point-multiplication scheme based on ECC, with low energy consumption, is proposed in [53] that accelerates computation time and keeps power consumption at a low level without reducing security level. Implementation of the proposed architecture allows the citizens to have better things for all applications in smart settings to supply a secure exchange of information between internet services and IoT. Once again, encryption ensures that user integrity, confidentiality, privacy, and authentication are preserved. In the present study, ECC cryptographic algorithm and its energy efficiency in Android mobile devices are examined. Our results show that the proposed ECC-based method outperforms ECC-based binary method as well as ECC-based NAF method because doubling and number of scalar additions are reduced. Furthermore, battery life in the proposed algorithm is increased compared to other ECC methods. Asymmetric cryptographic algorithm preserves privacy and security of mobile device applications and exchanges secured data between internet services and IoT networks. Nevertheless, ECC algorithms do not prevent DOS attacks.

In [54], three randomized access control protocols (EC-RAC1) as secure identity transfer schemes with enhanced security are proposed for IoT security. In EC-RAC1 protocol, if the received identity verifier is found in the database, the tag will be authenticated. EC-RAC2 is a sort of identity transfer system within which the server authenticates the tag when received identity verifier and its corresponding correct password in stored in the database. EC-RAC3 protocol is a technique for identity and password transfer security. If the received identity verifier is in the database and the associated password is correct, the tag will be authenticated.

IoT devices are applied in continuously changing environments and need to use adaptable software. Multi-agent solutions offer an adaptive IoT environment. Smart things in IoT are given global intelligence and interoperability by mobile agents. Therefore, user data security needs to be established for ever-increasing IoT devices when personal data of users are carried by agents. ECC algorithm has proved to be an attractive and efficient public key cryptographic scheme. An ECC-based Broadcast Mobile Agent Protocol (BROSMAP) is proposed in [55] that establishes integrity, non-reputation, confidentiality, authentication, and responsibility. The authors tried to promote BROSMAP to fit with requirements of multi-agent multi-agents. The improved ECC-BROSMAP has a better performance than its past version in terms of computational cost and execution time. It is found that ECC-BROSMAP is much faster than RSA 2048 BROSMAP and its performance is 4 times better than RSA 3072.

A secure ECC model is proposed in [56]. ECC is effective in using digital signature foe data encryption/decryption. Both private and public keys need to be generated in ECC. It offers an acceptable level of security and privacy and is often compared with RSA and DF algorithms. It achieves highest security in devices with low computing power.

Authors in [54] analyzed ECC for secure communication in IoT because existing protocols are not adaptable because of high storage, computation and communication demands. That is why ECC-based lightweight protocols are commonly used in such settings because they have a better computational performance than other algorithms like RSA.

Signcryption is a subcategory of cryptography that offers digital signature along with public key encryption in a logical single step. In conventional certificate-based cryptosystems, identity-based encryption was used because it was assumed that users’ identity was used as his public key. In [57], a novel ECC-based signcryption method based on identity is proposed where security is established by ECDLP and ECDHP. It proves highly effective in security of low-end resource devices such as PDA, and internet-based mobile services like mobile banking.

Karla and Sood proposed an ECC-based authentication technique for the communication between IoT and cloud servers and demonstrated its security against cyberattacks. However, the proposed method is unable to deter offline password guessing and insider attacks in different scenarios. In addition, it has certain shortcomings such as lack of mutual authentication, session key agreement, and anonymity, excluding it from practical applications. An enhanced authentication scheme was proposed in [58] to compensate for the above shortcomings in the Karla and Sood model. Results of comparative analysis showed that the proposed model has an acceptable performance in combating various attacks.

A similar mutual authentication scheme is proposed in [59] for the communication between an ECC server and IoT devices which proves to be efficient in preventing attacks and reducing communication overhead. It also provides an enhanced security level.

Threat model and security challenges were two concerns of IoT systems covered in [60]. ECC has attracted the attention of researcher in recent years because of its higher computational efficiency than RSA. This is even more tangible where cost and performance measures are essential. Developing mechanisms and technologies that provide a desired level of security for platforms is of high importance. On the other hand, the great bulk of personal information to be kept private necessitates new scalable solutions that are adaptive and respond to new needs. Analysis of existing mechanisms show that ECC proves effective in managing real-time security of embedded devices. The prospect of ECC performance is also promising considering industrial optimization in this regard.

RFID authentication was reviewed in [61] as a three-part component: tags, the reader and the server. The communication route between the reader and the tags was not safe and secure. First, attacker can easily obtain personal data of users. Second, attackers appear in the disguise of tags or servers and disrupt uniqueness in the network. Thus, RFID is expected to raise its security authentication. A novel ECC-based RFID authentication scheme was proposed to overcome the above challenges and proved efficient for practical applications.

DCAPBAC (distributed capability-based access control approach) was proposed in [62] which is based mainly on lightweight and flexible design to be applied in resource-constrained devices and to enhance end-to-end security, interoperability and scalability of IoT. The proposed scheme was further verified using AVISPA and then implemented on JENNIC/NXP JN5148 chipset based on a 32-bit RISC CPU in a real scenario. Results of analysis showed its potential in being an optimal solution for IoT security.

RFID systems have found their ways into many applications including healthcare system, transportation and home appliances. Symmetric key and public key cryptography have been used to establish RFID security. Existing RFID protocols mostly concentrate on tag identification or authentication. IoT is widely used as a public network where any physical object from the real world will interact with a great number of objects through the internet. Therefore, IoT infrastructure needs to integrate many different technologies such as sensor networks, RFID system, embedded system, conventional desktop environment, and mobile communications. RFID systems will prove effective in this regard because it will offer more security features for internet applications. A secure and sustainable RFID system for IoT infrastructure was proposed in [63] that established data confidentiality, key establishment and mutual authentication.

An ECC-based public key cryptography (PKC) was proposed in [64] with a focus on mathematical optimization of cryptographic algorithms. PKC is adopted in IoT because of its advantages in providing interoperable, self-identifying and scalable properties, particularly for resource-constrained devices such as microprocessor Texas Instrument MSP430. The paper proposes a scalar multiplication ECC with 160-bit keys within 5.4 million clock cycles over MSP430 devices with no need to more hardware multiplier.

In [65], a security scheme was proposed with an ECC-based biometric aid to establish the desired security. The authors aimed at promoting communication between devices and implementing OTA firmware updates. Real system issues and integrated new optimizations using novel technologies led to establishing a secure framework that was 35% faster and 5% more efficient that other algorithms like ECC and OTA.

Future IoT is mainly concerned with providing security of small yet smart devices because certain technologies like 6LoWPAN provide Internet-based access to the real world. Computational capacity, communication band-with, storage space, and power consumption are major constrains of 6LoWPAN devices which necessitates scalable and optimized cryptographic techniques that feature integrity, authentication and privacy in communications. The authors in [66] concentrated on mathematical optimization of PKC cryptographic primitives based on ECC for 6LoWPAN that are based on microprocessor Texas Instrument MSP430. Montgomery multiplication operation is the focus of optimization mechanism which is achieved through bit shifting, and defining certain pseudo-Mersenne primes known as shifting primes. Once these optimizations are performed, scalar multiplication for ECC operations reduces to 1.2665 s, showing 42.8% enhances performance compared to Tiny-ECC (2.217 s). Table 1 summarizes security factors of ECC-based IoT.

Table 1 Security factors of ECC-based IoT

3.2.3 DH

A common authentication protocol for resources-constrained devices in IoT is Ephemeral DH over COSE (EDHOC) that replaces TLS and adopts different approaches [67]. EDHOC has considerable resistance against attacks but one drawback is that it is hard to fix any shortcomings in its design.

In [68], a DH-based Cloud of Things (CoT) for a multifactor authentication system was proposed. CoT is a concept that integrates cloud computing with IoT and allows for ease of access for IoT services, virtual control and greater scalability. However, despite its prospective advantages, security, user authentication and identification are big challenges in CoT.

3.2.4 ABE

In [69], the authors proposed a new architecture to enhance security and privacy of information exchange that takes advantages of effectiveness of symmetric key encryption and flexible feature of CP-ABE. AES with symmetric keys are used for data encryption. The keys are also encrypted using access policies of original data sender. The data are decrypted by using CP-AES algorithm to recover the symmetric key.

As Fig. 8 indicates, CP-ABE encryption operation is a demanding task and is not performed by data sources but rather are assigned to the ABE proxy. Moreover, other considerations such as functionalities offered by IoT cloud platform are taken into account to facilitate data storage and retrieval and to manage AES- encrypted symmetric keys. For instance, Key Generation Service (KGS) uses data consumer attributes obtained from his profile to feed the ABE proxy with information required for encryption.

Fig. 8
figure 8

Overview of CP-ABE architecture for IoT Cloud Platform [69]

Similarly, an ABE-based secure smart health (SSH) system for IoT architecture was proposed in [70] which is characterized with less aggregate signature, anonymous certificates, and anonymous CP-ABE scheme composed of four algorithms including Setup, AttributeKeyGen, AnonEncrypt, and AnonDecrypt. To provide for access control, aggregate authentication, and privacy issues, SSH hides sensitive data and identity information of users. Once a user uploads SHR, the cloud service checks that for any threats to filter invalid SHR to the cloud. The performance of SSH in reducing costs of communication and computation is acceptable.

A flexible keyword search mechanism for encrypted data to promote data retrieval in IoT is proposed in [71] that uses the reciprocal mapping of Lagrange polynomials technology to perform search inquiries over large encrypted texts. The proposed mechanism applies ABE technology to limit data access to authorized users. Finally, it enhances decryption at client side by outsourcing the decryption process, making it a good candidate in IoT scenarios.

ABE is a form of public key encryption where the information is encrypted under a Boolean formula (called access policy) which other parties must satisfy in order to decrypt the cipher text [72]. This cryptographic scheme is particularly useful on IoT since it simultaneously provides fine-grained access control and encryption.

A novel identity-based proxy re-encryption (IBPRE) has been proposed [73]. Cryptographic proxy re-encryption is a very useful primitive which is capable of transforming a cipher text under one public key PK1 into a new cipher text under another public key PK2 without private information leakage, while the two cipher texts are encryptions of the same message. Re-encryption schemes at first are constructed under the public-key encryption (PKE) scenario. While it is a powerful primitive naturally required in not only PKE but also other scenarios, various extensions from PKE to other advanced encryption schemes like identity-based encryption (IBE), ABE as well as functional encryption (FE) are needed as well.

IoUT (Internet of underwater things) is a new technique that is being widely used, though security and efficiency of using resources in the network are still an issue in such systems because it relies on working with smart things. In [74], a cloud-based scheme is proposed to reduce energy consumption and data exchange while providing for real-time monitoring and management of IoUT in different contexts. This is particularly interesting for smart cities to increase their efficiency and help them be really green. Results of stimulations showed that the proposed scheme has a better performance than existing systems in terms of security and privacy.

End-to-End security issue, which is mostly neglected in other IoT protocols such as CoAP and MQTT which rely only on security of DTLS, has been considered in [75] involving an IoT application, an IoT broker, and IoT devices, where devices are deployed on the boundary of the broker. Sensing data of devices in the area of the broker are collected and managed by the broker. The sensing data are used by the IoT application which is responsible for providing IoT services to users. In healthcare settings, security gains ever more importance because real-time healthcare services deal with sensitive information from medical records of patients. Encryption of sensitive date is done using a symmetric key and ABE. This framework also reduced costs of communication and computation.

Several researchers have introduced ABE approach and access controls in cloud computing environments for improving the protection of Web applications. Moreover, the established systems did not consider a massive number of devices as feature of IoT. In [76], an IoT encryption scheme based on context is suggested. Data owner conducts encryption and decryption by background extraction dependent upon identification. Every consumer can decrypt requested data only during the decryption process. Thus, even though there is a large amount of system, users may receive data in low overhead area.

ABE facilitates the application of fine-grained, unified access control dependent on a user's property or characteristics, drawing attention to the implementation of decentralized access control in large and complex networks such as mesh networks, IoT and cloud computing. Nevertheless, the intruder will blow down the actual implementation of cryptosystems in open networks, and then obtain internal hidden states including pseudo-random number, internal score, and secret key to crack the device. In [77], Zhang first model a fine-grained attribute revocable (cipher text-policy) ABE in the presence of key leakage, and then give a concrete construction with security and resilient-leakage performance analysis. Their scheme is the first creator to possess the following property at the same time: (I) Support direct revocation feature, which does not influence the secret key of any other customer. (II) Tolerate the key to be partly exposed to suit the challenged cipher file. (III) Provide a primary maintenance method to enable consistent tolerance to leakages. Table 2 shows ABE-based security algorithms in IoT.

Table 2 Security factors in IoT based on algorithm ABE

3.2.5 ABS

An articulate attribute-based signature scheme (EPASS) has been suggested for a novel ABS system that uses the attribute tree and communicates some strategy consisting of AND, OR threshold gates under the computational DH problem [78]. The IoT offers links everywhere, anywhere, anywhere, for which consumer privacy is fragile and methods of authentication that support regulation over attributes are essential. Therefore, a signature scheme is required that considers user privacy and implements a policy on attributes. Emerging attribute-based signature (ABS) schemes enable a resource requester to create a signature with policy-satisfying attributes without leaking out more details. Nonetheless, few current methods, under the traditional DH principle, at the same time accomplish an articulate strategy and stability. Users can not counterfeit signatures with characteristics that they do not own, and the signature offers guarantees that the document can only be supported by a person with sufficient attributes that fulfill the protocol, resulting in unforgeable capabilities. Legitimate signers, though, remain anonymous and are unique among all users whose attributes meet the regulation providing the signer with privacy attributes. Their solution provided enhanced performance compared to existing systems by rising the computing costs and signature scale.

3.3 Symmetric algorithms

Symmetric encryption applies the common key for both encryption and decryption of data. This method of encryption is secure and relatively faster. The main disadvantage of symmetric key encryption is the sharing of the key between the two communicating parties. An attacker can decrypt the data if he has access to the key. Symmetric key algorithms assure the confidentiality and integrity of data but do not guarantee authentication.

A symmetric encryption scheme \(SE = \left( {K^{sym} , E^{sym} , D^{sym} } \right)\) consists of three algorithms [40]:

  • \(K^{sym} \left( k \right)\): The key production algorithm takes as inputting the security parameter k and returning a symmetric key K, defined by \({\text{K}} \leftarrow K^{sym} \left( k \right)\);

  • \(E_{K}^{sym} \left( m \right)\): The encryption algorithm takes as inputting the symmetric key K and a plaintext, \(m \in M\) and outputting a ciphertext C, defined by \(C \leftarrow {\rm E}_{K}^{sym} \left( m \right)\);

  • \(D_{K}^{sym} \left( C \right)\): The decryption algorithm takes as inputting the symmetric key K and a ciphertext C, and outputting the plaintext m, defined by \(m \leftarrow D_{K}^{sym} \left( C \right)\).

Security on resource-constrained devices such as RFID tags and WSNs nodes can be provided based on lightweight block cipher algorithms.

3.3.1 DES

A stable DES-based protocol is proposed in [79] in which a DES algorithm is used to transfer data between users through sensor nodes without any safety loss. Compared with other cryptography algorithms, the DES algorithm provides security and takes less time to execute encryption and decryption operations. Results of the experiment revealed that the proposed mechanism took less time to do encryption and decryption.

3.3.2 AES

An AES-based Protection System for IoT Environments in Intelligent Grids is proposed [80]. The following sequence of steps was suggested to determine the validity of this coordination model: (1) testing of the IP compatibility. Firstly, the client's IP address submitting the request is checked in a server whitelist where each IP address is listed that is authorized to make encryption key requests to the server. All non-listed IP address links are denied. (2) Implement encryption algorithms. Through using the AES symmetric encryption algorithm to encrypt and decrypt messages sent between each node, and using digital signatures and verification through the asymmetric RSA algorithm, the secrecy of the information sent and retrieved by each node in the grid is incorporated. (3) Encryption of the communication channel. This can be achieved with a security certificate through the TSL / SSL program that allows encryption of all data moving through the communications channel. (4) Verification of the integrity of the channel of communication. To satisfy the data integrity criteria, HMAC was applied; this system operates with a message authentication method (MAC) to ensure that the message sent on the way to its destination was not intercepted or changed by means of a hash function and a token. AES algorithm uses a single key for encrypt and decrypt the data. AES key length is 128, 192, and 256.

In [81], the focus was on securing agricultural data from hackers. Farmers are going to remote control devices especially in the field of agriculture, due to lack of manpower. To improve the reliability of an existing system, additional methods such as checksum formation, data segmentation, and data shuffling have been introduced extension of the AES 128-bit encryption method to give greater protection. They measured the time and processing time for both encryption and decryption with and without using the suggested form of encryption to protect farm records.

It was suggested to introduce and evaluate cryptographic ciphers in FPGA on the basis of AES [82]. The 128-bit key is sub-divided into 16-bits sub-blocks, the first 96 bits for the initial round are the six K1 to K6 sub-keys. So, 32-bits (i.e. 97–128) of the primary key is unused after the first round.

A lightweight shared authorization system has been developed for an IoT environment's real-world physical objects [83]. It's a payload centered encryption system that uses a clear four-way handshake method to check participant entity identities. The real-world artifacts connect with one another using the interface paradigm client–server. Their suggested scheme uses the Constrained Application Protocol (CoAP) lightweight functionality to help clients to identify energy-efficient resource residing on the server. They used AES for the establishment of a protected resource observation session with a key duration of 128 bits. The scheme offer efficient computations, requires less overhead and, simultaneously, protects against attacks such as resource depletion, Denial-of-Service, replay and physical exploitation.

AES algorithm to ZigBee protocol in IoT was suggested in [84]. The current implementation status at home and abroad is first outlined to research the use of the ZigBee protocol in the IoT protection algorithm and ZigBee technology is implemented in depth. After that, the AES-128 algorithm theory is evaluated and the decryption algorithm measures are modified, so that the decryption method becomes symmetrical in form and encryption algorithm. Alternatively, the AES-128 encryption and decryption method are implemented using C technology. Depending on the usability and low-cost characteristics of the ZigBee platform, the two optimization algorithms are designed and implemented based on the performance of the protection algorithm based on the simplicity and efficiency study. Review and test results demonstrate that the two optimization algorithms are quicker and more complicated than the UN optimized algorithm. In sum up, the outcome comparison shows that the speed and difficulty of the optimization algorithm for the round process is higher than that of the optimization algorithm for column obfuscation. The emergence of IoT and its implementations in many areas such as sensing, healthcare and manufacturing has culminated in an exponential increase in digital data, which needs to be shared through vulnerable networks.

A speed-up version of the SIMON algorithm has been proposed in [85] for software implementation based on AES. The improvement benefited from interesting features contained in a separate algorithm named SPECK to change the original work of SIMON, which obtained appealing performance. The modification resulted in an increase of interesting performance measures, making SIMON with block sizes 32, 48, 64, 96-bits win between AES 128/128. The changed SIMON with 32, 48, 64, 96-bits block sizes displayed remarkable speed-up compared to the original SIMON, where some of them were found to be slower than AES. The integrated SIMON with all the block models indicates a percentage increase ranging from 20 to 26% with the exception of block size 64 displaying a percentage increase similar to 13 percent. The deployment study looked at both aspects of applications operating the algorithm, i.e. execution time as well as resource use.

Hu et al. [86] suggested grouping of data with symmetrical AES encryption to protect anonymity. In addition, we provide the machines with a One-time Pad to improve stability. We use homomorphic encryption scheme to protect private information for secure communication between devices and their corresponding aggregator. The aggregator will achieve the data aggregation outcome in a residential area in the proposed systems, without knowing the actual results of each unit. Neither the curious and collusive devices can infer data about private use of other devices. The scheme consists of five phases: (I) Division of data: (II) encryption and distribution, (III) decryption and uncertainty, (IV) encryption and reporting; (V) authentication and aggregation.

LORAWAN, as defined by the LORA Alliance as a Long-Range Wide Area Network standard, is a low-power and long-distance networking protocol appropriate for IoT settings. LORAWAN eliminates contact capacity by establishing multiple transmitting latencies for different end devices; however, AES does not recognize the encryption ability of its end device. A highly secure yet low power consumption communication system for the LORAWAN, called the Protected Low Power Communication (SELPC) process, is suggested in [87] to further minimize the data encryption power of end devices by the AES encryption cycles. Encryption key and D-Box upgrade protocol are provided in the SELPC to increase the security level and simplify the AES encryption method to further reduce power demand. The findings of the study reveal that the SELPC will reduce the encryption strength by up to 26.2 per cent compared to the traditional AES. The SELPC can also survive three threats including known-key, replay, and eavesdropping assaults, and is practically useful in LORAWAN IoT settings.

To provide IPSec, the core symmetric cryptographic and hash functions that are needed for its operation must be introduced. In this job, it applies the AES and the SHA-3 (Secure Hash Algorithm-3) [88]. The AES design allows use of the new Xilinx FPGAs BRAM (Block Memory) and LUT memory tools. The AES key generation scheme is installed as a separate module and for each respective round provides the round keys to the AES core. Only 56 clock cycles are required to completely implement the AES. The cryptographic hash function, SHA-3 is implemented to provide the data integrity security service. SHA-3 is used because it is the most reliable and freshly chosen cryptographic hash function available to date.

IoT sensing node is commonly designed as a core chip with TI's CC2530 in [89]. A pair of encryption nodes, encryption sensing node and access control node are designed based on AES algorithm, and CC2530′s AES protection coprocessor is used to ensure the security of sensitive data transmitted between the nodes, and access authorization control for the sensing node. Hash function generates the 128-bit key for AES whose inputs are fingerprint feature data coming from the fingerprint module. Different data on fingerprints can generate numerous keys to form a key bank. The administrator can assign these keys to different nodes to form a sub-key register, depending on the access authorization for different users. Keys can be dynamically changed at sub-key branch. The encryption node that has been built will handle the access permission and enforce user authentication. Encryption node framework and hardware design strategies are described. Experiments are performed on data transmission between nodes. The results show that the encryption nodes must accomplish wireless security communication for the data of the network, in order to ensure its reliability. Table 3 shows AES-based security algorithms in IoT.

Table 3 AES-based security algorithms in IoT

3.3.3 Blowfish

Bruce Schneier created blowfish block cipher in 1993 [90]. It uses a 64-bit fixed block, with a key-length ranging from 32 to 448 bits. It also uses large S-boxes, depending on the switch. Compared to DES, it has a cipher structure with a 16-round Feistel. It is an open source algorithm that wasn't cracked yet. It is also one of the quickest public-use ciphers.

Cloud computing gave the information technology sector tremendous potential changes and outstanding prospects. In most networked transactions, it is particularly useful. Data security issues associated with cloud computing common issues. Information is secure if it meets the three requirements of confidentiality, integrity and availability. Data is safe if the three requirements, including security, honesty and availability, are met. Security in cloud computing is gained by authentication. Symmetric algorithms demonstrated overwhelming popularity in cryptography, especially the Blowfish algorithm. A Modified Blowfish Algorithm Approach using Shuffle Algorithm was applied in [91], and the encryption, decryption speed, and throughput were tested. The Modified Blowfish Algorithm Approach based on S-box permutation using Shuffle Algorithm has been attempted. The result shows the higher the accuracy, the greater the file encryption capacity.

A comparison of the Blowfish Algorithm's serial and parallel implementations was made in [92]. The concurrent architecture was then checked with different number of cores over networks. Implementation integrates a parallel execution of the function F along with the division of the data into 64-bit chunks and the parallel processing. Results show that parallel implementation delivers better efficiency than serial implementation, and this implementation offers a higher throughput when the number of cores is expanded, allowing implementation effective in situations where a large number of cores are present.

In [93] a Cryptographic Ciphers Performance Assessment on IoT Devices was done. The numerous protection methods such as Blowfish, Blowfish, DES, 3DES, AES, RC2, RC4, and ChaCha20 have been tested. On the IoT systems these ciphers are checked by running them on different file sizes varying from 1 MB to 128 Gb. Blowfish algorithm has the highest speed among all the ciphers.es chains.

In [94], Suresh and Neema discussed security challenges and IoT protection frameworks. In the unsecured channel, which connects different IoT nodes or IoT nodes and WSN nodes, a major share of the same occurs by analyzing different security problems associated with IoT. Cryptographic methods may be used to provide protection for the transmission of information in the network layer. Of all the cryptographic algorithms, the Blowfish algorithm is the best in terms among execution time, memory use, performance, power consumption and reliability and is therefore ideally adapted for IoT purposes. Software installation of the initial and improved Blowfish was performed using Verilog HDL in Xilinx Virtex-5 XC5VLX50 T FPGA. The updated version displayed an increase of 16.9% and 18.7% in terms of encryption period and throughput as compared with both.

In data communications information security has become an important issue. One way of ensuring data security is by using cryptographic process. Cryptography is a way of storing the information so that the other side does not decrypt the information. A significant amount of computer resources is used to execute the cryptography. Different blowfish algorithm implementation framework for data encryption sent from an IoT physical network that has IP-based data can be introduced. In [95], FPGA implements blowfish algorithm using VHDL programming language and controls the amount of FPGA tools used. The blowfish algorithm is tested for device stability by computing such outputs of metrics such as protection, encryption time, avalanche effect, and throughput from multiple test scenarios. The testing showed that when implemented in FPGA, blowfish algorithm provided good performance and showed a good alternative to proposed IoT as network security.

3.3.4 RC4

RC4 algorithm for encryption and decryption on IoT was introduced in [96]. In this paper the security and privacy concerns of industrial IoT are assessed, then the common security risks and attacks are studied, and several forms of fluent security measures are used, bringing forward the Fingerprint encryption security program. RC4 algorithm characterized by the algorithm is quick, easy, and the main duration is variable, 1–256 bytes (8–2048-bits) variable range. The software incorporates the fingerprint identification system, PDF417 code and RC4 encryption process, matching the data to be decoded via the fingerprint. Since the fingerprint knowledge is special, whether the match's performance will dictate whether the project is by itself, and then settle on the next move, preserves the security and privacy of the individual to a great extent.

RC4 is a stream symmetric algorithm characterized by fast encryption/decryption, low resource consumption, easy implementation, less special, and temporal complexity. Stream ciphers continuously process inputs and sequential encrypt data. Though block ciphers are more common, stream ciphers are occasionally a better choice. The key length in RC4 is 8–2048-bits. It is based on a random permutation that generates a pseudorandom stream of bits. RC4 is composed of Key Scheduling Algorithm (KSA) and Pseudo-Random Generation Algorithm (PRGA) that run sequentially. The encryption key is generated by KSA and the pseudorandom string is generated by PRGA which yields a plain XOR text. Encryption is done only by XOR operator. RC4 is deployed by the security protocol of transmission layer to prevent data leakage between servers and users. However, it was designed three decades ago and is vulnerable to new cyberattacks.

In KSA, a key K of size k (≤ 256) bytes is given as input and formation a state array S of size N (= 256) to determine over ZN. The key K is implicitly supposed to be stretched to size N = 256 bytes by iterate the same key (if k does not divide N, then the last iteration is imperfect). The PRGA uses the scrambled permutation S to produce pseudo-random bytes \(Z1, Z2, \ldots ,\) from state S, that are bitwise XOR-ed with the next plaintext/ciphertext byte to carry out encryption/decryption. The KSA and PRGA are defined in Fig. 9.

Fig. 9
figure 9

The KSA and PRGA in RC4

3.4 Hybrid

A healthcare protection paradigm has been developed to protect a transfer of medical data in IoT environments [97]. The model suggested consists of four continuous processes: (1) the data of the sensitive patient is authenticated using a new hybrid encryption scheme built from both AES and RSA encryption algorithms. (2) The encrypted data is hidden on a cover image using either 2D-DWT-1L or 2D-DWT-2L and a stego image is made. (3) It extracts embedded data. (4) For the retrieval of the original data, the recovered data is decrypted. The proposed model was initiated by encrypting the secret data; it then hides the result using 2D-DWT-1L or 2D-DWT-2L in a cover image. To hide various text types, both color and gray-scale pictures are used as cover images. The efficiency of the proposed system was assessed on the basis of six statistical parameters: peak signal-to-noise ratio (PSNR), mean square error (MSE), bit error rate (BER), structural similarity (SSIM), structural quality (SC) and correlation. In the case of color images, the PSNR values ranged from 50.59 to 57.44 and with the gray scale photos from 50.52 to 56.09. For the color images, the MSE values ranged from 0.12 to 0.57, and for the gray photos from 0.14 to 0.57. For both images, the BER values were negative, while for both images, SSIM, SC, and correlation values were those.

A privacy-preserving and user-controlled approach for IoT data sharing has been suggested focused on ABS and CP-ABE [98]. The proposed model involved the following steps: Using block chain and several attribute-based cryptosystems, the architecture can achieve privacy-preserving, user-self-controlled data sharing, and decentralization. ABS and CP-ABE have fine grained access control capabilities. IoT data were initially secured (e.g., AES). Next, smart contract technology is combined with an AES to understand the fine-grained sharing. The access policies are set on the encrypted key (the encrypted key is encrypted by attributes, ABE) to determine who can get this encrypted key to decrypt the text in the cipher.

A hybrid model has been suggested to ensure the data's stability, validity and legitimacy during transmission [99]. The software is applying two highly powerful cryptographic algorithms; SHA-1, hash generation algorithm, and AES method for message encryption and decryption. This paper also addresses several other cryptographic algorithms, and why they choose AES and SHA-1. It uses AES and SHA-1 as an 8-bit architecture which reduced hardware resource consumption, thereby reducing the cost to a greater extent. RFID demands low power consumption and low cost, which their proposed model greatly provides.

In [100] a two-way IoT encryption authentication mechanism based on existing Internet standards has been suggested, precisely the Datagram Transport Layer Encryption (DTLS) protocol. Through depending on a proven norm, it is possible to reuse existing architectures, engineering techniques, and security infrastructure which allows easy security uptake. The suggested encryption scheme utilizes two algorithms for the public key cryptography, RSA and ECC, adapted to the heterogeneous existence of IoT apps. The proposed two-way authentication approach is designed to work on common connectivity stacks that offer Low Power Wireless Personal Area Networks (LoWPANs) UDP / IPv6 networking. In the sense of a system architecture, a conceptual implementation of DTLS is provided here, and the viability of the scheme (low overheads and strong interoperability) is illustrated by comprehensive assessments on the DTLS-supporting framework OPAL as a cluster-head with children from specific IoT hardware platform.

A modern RSA-based Cipher-Text Policy (CP-ABE) system with Constant Size Secret Keys and Cipher-Texts (CSKCs) and \(O(1)\) Time Complexity for each decryption and encryption has been introduced in [101]. Their scheme is then proven to be safe against a chosen cipher-text opponent and an effective approach with descriptive AND gate control structures. Since most mobile devices are battery-limited, key design specifications should include a constant size secret key and constant size cipher-text in a CP-ABE system, as well as a cost-effective encryption and decryption process. The suggested scheme is thus ideal for implementation on mobile devices which are battery-limited. CP-ABE is a feasible solution for cloud implementation in particular, since a cryptographer will compose the access policy so that only authorized users can decode and access the data.

A new proposed cyber security scheme for IoT has been introduced to promote additional level of security by including a new level of key-hierarchy [102]. We discussed the closed system framework, the suggested plan, the services provided, message type sharing and the four level core hierarchies employed. They used application level encryption to selectively secure information to conserve power and improve the processing pace that is useful for IoT and wireless applications. Based on the strength of symmetric algorithms such as RSA and AES algorithms, the design of the suggested scheme is addressed. The integration of a single pad with the RSA and AES cryptosystems enhances the protection of the single pad key through the washing process. The scheme suggested offers four levels; of key-hierarchy. The first is the secret to a single board. It is used after the Washing process to encrypt the post. The second of these is the AES session key used in the washing process. The third one is the default RSA key used to encrypt the AES session keys and the OTP reference. The fourth is a transfer phrase used to secure private key encryption. The proposed cryptosystem combines the one-time pad, called the theoretically unbreakable Vernam cipher, with standard encryption algorithms, the public-key RSA algorithm, and the secret-key algorithm AES. Table 4 shows RSA-AES-based encryption and decryption stages.

Table 4 the encryption and decryption steps based on RSA-AES

In an IoT environment, billions of users connect their devices to the cloud to utilize the services of it. Cloud enables these IoT devices to store the data on the cloud servers. In order to provide a secure access, user authentication is required. Therefore, hybrid method for authentication is proposed in [103] to promote secure access of data. A biometric authentication is a more secure way of storing and accessing the data from the cloud. The proposed paper discussed about the Iris based authentication to access the data from the cloud through any authorized IoT device. The authentication algorithm proposed in this paper is the hybrid application of Blowfish and RSA Algorithm which generates a binary template for an iris. A two-stage authentication is provided, thus enhancing more security and reliability.

A modern ECC-based authentication protocol for radiofrequency recognition was introduced in [104] to remove vulnerabilities. We also use elliptic curve DH (ECDH) key agreement protocol to create a temporary mutual key used to encrypt the messages subsequently transmitted. The protocol achieves a range of protection properties such as shared authorization, encryption, secrecy, forward security, position safety, man-in—the-medium attack resistance, replay attack resistance and impersonation attack resistance. Evaluation of the results reveals that their suggested approach is more effective and requires much less time compared to others.

In [105] the remote monitoring system performed data cleaning and encryption technology between server and mobile terminal. The authors investigated the Sorted Neighborhood Method and improved its performance for networking data transmission in remote monitoring systems. It identifies and deals with the collected duplicate data in the data source to reduce the connectivity burden between the device client and the server; the cleaned data is encrypted with the RSA and MD5 algorithms to enhance system security and avoid application data from leakage. MD5 uses hash feature, which is used to classify key in areas of digital signatures and password protection, compact byte string of random duration to a certain range of large integer numbers. MD5 converts arbitrary-length byte array into a broad 128bit integer. MD5 is an immutable string exchange, in the sense that even if one has knowledge of the source code and the method definition, the MD5 value cannot be translated back to the original string. Based on these characteristics, MD5 is highly secure and is thus often applied in the domains where top-secret measures are required. We conducted experiments, the findings of which demonstrate that their approach to data cleaning and encryption will significantly increase data transfer rate between server and mobile device, resulting in better solutions to practical problems.

Proposed Information Encryption and Transmission Software for IoT Protection Cotton focused on DES-RSA [106]. This paper describes the knowledge information analysis in the cotton warehouse area in terms of the IoT transmission protection. A combination of DES and RSA methods is used to ensure the security and speed of encryption and decryption of information, i.e. DES key is encrypted with RSA based on plaintext data encryption by DES. Set M be plaintext; C is encrypted as a cipher text; KD is key of DES encryption and decryption, KE2 is a public key of RSA, KE1 is a private key of RSA; DES’s encryption process is denoted as f1, the decryption’s process is denoted as \(f_{1}^{ - 1}\); RSA’s encryption process is denoted as f2, the decryption’s process is denoted as \(f_{2}^{ - 1}\). DES is ideal for large volume data encryption; DES encryption and information decryption will hold the output. RSA encrypting the DES-generated keys, even if a hacker steals critical data, the hacker's gotten data is garbled. DES-RSA stage shall be as follows:

  • The transmitting end produces the DES algorithm key KD, encrypts the plain text M to construct cipher text C1

  • Encrypts DES cipher-text algorithms using the public key KE2 of the receiving end of the RSA to produce cipher-text C2

  • Send C2 cipher text and encryption key through network to the receiving terminal C2

  • The receiving end decrypts the sent cipher-text C2 with its own RSA decryption key KE1 and gets the initial DES cipher-text C1; because DES encryption and decryption key are similar, cipher-text C1 is encrypted with DES key KD to retrieve the plaintext M sent by the sender.

The gateway for security is installed between data center servers at the central level and the local machine cotton repositories, the design of the data transfer framework.

Hybrid cipher algorithm is easy to calculate and key distribution, fast speed, AES advantage and ECC hybrid encryption algorithm is easy to understand and implement, with high security [107]. It is suggested to identify and protect the security of the authenticity and transmission of data sources in the IoT-based information security transmission system to ensure that information, confidentiality and integrity cannot be denied. Hybrid Cipher Algorithm in non-symmetric cryptography and symmetric cryptography in one, with high security and fast speed, small storage space, more fitting in such a limited environment for IoT.

A lightweight, non-coupling ECC-based ABE system is introduced for resource-constraint Unit IoT-based applications to tackle secure communication and cipher-text access control [108]. ABE is a popular solution in the distributed environment such as IoT to achieve secure data transmission, storage, and sharing. The latest ABE systems, though, are based on costly bilinear matching, which renders them unsuitable for resource-constrained IoT implementations. A lightweight, ECC-based no-pairing ABE system is introduced in this paper to tackle the security and privacy problems in IoT. Instead of bilinear DH assumption, the reliability of the proposed scheme is based on the ECDDH assumption. The comparative analyzes with the current ABE systems was rendered in depth by explicitly deciding the parameters and specifying the indicators for calculating the contact overhead and the numerical overhead. The results show that the new system has increased quality of implementation and low cost of contact. Additionally, it's also discussing its limitations and improving directions.

Certificate-less cryptography seeks to merge the benefits of public key cryptography and identity-based cryptography in order to avoid the issue of certificate administration and key scanning. In [109], the ECC's novel certificate-less public key encryption scheme over the loop, whose protection is based on the assumption of toughness of the Bilinear DH problem and factoring the large number as in an RSA protocol. In fact, since our system needs only one decryption pairing process, it is considerably more effective than other similar schemes. In fact, they are also introducing a protocol based on their encryption system to secure the secrecy and privacy of knowledge in the IoT scenario with resource nodes limited. Table 5 compares hybrid encryption algorithms for IoT security.

Table 5 A comparison of hybrid encryption algorithms for IoT security

4 Discussion

IoT is a contemporary system that has the ability to connect all real-world objects/things around us and allocate a unique ID to connect to the Internet. It ID lets the consumer quickly get the data from the artifacts without requiring direct human-to-thing activity to a web data connection. The word IoT essentially implies that connectivity between objects is used through the standard Internet protocol. Often, the term can be entrusted as the Web of All. This domain’s success is due to the fact that this IoT device conveniently works in the Internet infrastructure. The main aim of this domain is to encourage us to gradually connect things around us regardless of the time, venue, and person using any network and service. This comprises of environmental monitoring, network maintenance, energy conservation, home and office control, housing, medical and health-care services, and a particularly aggressive smart city program. Via national networking, smart cities can enclose all devices within the city into one network. The groundbreaking approach can now be incorporated in the implementation of daily tasks in the workplace, in households and almost anywhere to achieve better results with minimal work.

Like any program, it is necessary to secure the public IoT network against common opponents such as spammers, hackers and malware [110]. An opponent applies to any unauthorized party that intrudes into the system in order to discourage legitimate users from achieving their anonymity, honesty, and data quality goals. Attacker can attempt to access secret data, exploit the data in the network, fake a lawful sender or receiver's identity, and many more. That segment would outline the potential threats to data stored on the IoT platform by the consumers and critical safety criteria. IoT networks experience the same collection of similar threats that any traditional network might encounter. Nevertheless, the IoT servers become a convenient and tempting option for the attackers due to the huge amount of data that is being held on the IoT servers. Those risks / attacks may originate with their adversary models from different entities. The threats unique to IoT are as follows:

  • Eavesdropping: This attack refers to the illegitimate interception of a two-way communication. Such attacks can occur when it is out of curiosity that the cloud service provider accesses data stored on the server. Such threats are dangerous as they are hard to identify and unknowingly store sensitive data on the file, such as passwords [111].

  • Integrity: Integrity assault on data integrity happens when an intruder tries to alter or manipulate data without owner's permission. The attack usually takes place via malware program which deletes or modifies a smart device's contents.

  • Denial attack: One of the negotiating actors in this assault rejects either any or some component of the communication functions.

  • Denial of service: This attack occurs when a cloud server is inundated with a huge number of requests for resources that it cannot manage.

  • Replay: Such an attack occurs when the hostile party spies on the internal contact between the two parties. The malicious entity collects the authenticated information, such as shared session key, and then attempts to contact the receiver with that key later on. The attacker simply replays the eavesdropped message.

  • Impersonation: In this assault, the defendant tries to impersonate a legal entity and seeks to interact as a valid individual with the other entity [112].

  • Stolen verifier: In such assaults, the intruder succeeds during capturing critical server knowledge either from the latest sessions or from previously successful ones.

  • Insiders: These attacks occur when the intruder is a known party that has allowed access to the network and also has full knowledge of the infrastructure underlying it.

  • Man-in-the-middle: These attacks occur when the intruder may secretly relay and also alter the connection between two people that believe they interact with each other [112].

  • Clone: An adversary can capture a sensor node during clone attack and copy its information to another node known as cloned node. This cloned sensor node can then be mounted to collect network information. The competitor may also insert false information, or exploit the information that passes across cloned nodes. The prevention of unintended interference and replication is not feasible with regular physical surveillance of nodes. So effective and rapid detection schemes are needed to fight these attacks [113].

RSA and ECC for cryptographic applications are the most common and effective forms of public key encryption. Yet, in recent years, ECC has been adopted in the disruptive communication technologies sectors by increasing wireless applications like IoT. ECC provides high cryptographic security relative to RSA in terms of key sizes, high protection and good performance. In fact, ECC is appealing to fundamentally resource-restricted areas such as storage, memory, power consumption, transmitting and computer-specific CPU architectures. ECC can offer a higher level of safety than traditional cryptosystems such as RSA, for example, the level of security provided by ECC with 160–256 bits, which is equivalent to RSA security with 1024–3072 bits level of security.

In the public key cryptography environment, ECC performs better than other protocols such as RSA in terms of key sizes, power or energy consumption, performance and memory specifications. For this purpose, ECC is favored for resource-critical applications, especially in wireless communication systems. Using other traditional symmetric key or secret key cryptography techniques such as the AES algorithm, verification, code signatures, and key agreement systems are difficult to deliver. ECC seems to be the preferable solution for stable IoT implementations, based on the comparisons made above. In fact, public key can be exchanged with insecure networks that can be used to encrypt data, however private key must be kept secret, so private key identifying and decrypting knowledge from the public key cryptosystem is hard to find.

ECC is a type of public key cryptography that can be used in restricted devices to achieve a high level of security. Compared with other asymmetric techniques already in use, ECC needs small keys and guarantees high safety. Security levels are more important for greater key sizes, for example, a 256-bit symmetric key has to be encrypted using more than 15,000-bit RSA, while a 512-bit asymmetric ECC can provide equivalent protection. ECC with smaller key size makes cost savings in terms of the necessary memory and processing power. This makes ECC highly recommended for the design of lightweight and quicker cryptographic operations that can work well on restricted tiny chips. Because of this smaller amount of heat is generated, and less processing power is used, which makes it highly desirable for use in resource-constrained applications. When addressing Elliptic curve cryptography, it could be concluded that ECC provides shorter keys, lower use of central processing unit (CPU) and lower use of memory for the same protection power. ECC presented the mathematical history, curve forms, the method for encryption and decryption, and different implementations.

The principal reason for using the ECC is the switch's relatively modest scale. For cases where processing power, power consumption, and memory capacity become limited Elliptic Curve cryptography attributable to only smaller, quicker, and more efficient cryptographic keys, the key size is optimal. The ECC security system is best suited for wireless communications, such as mobile phones and smart cards, personal information such as financial transactions or some classified medical reports, confidential data where protected data is the main consideration. The ECC framework is used to provide an effective RFID authentication system as it can offer enhanced security with limited key size. Since key size is small, the computational power needed is also relatively low. Since ECC authentication schemes require low processing, RFID tags can be implemented as relatively less computational capacity is required.

Some tools and network devices such as the RFID, cellular sensor networks, and cloud computing were used in the IoT to extend the functionality of the IoT. The RFID system has drawn worldwide attentions from various fields as an important building block of IoT. During the Second World War the RFID system was developed as an effective automated recognition and data capture tool. Use radio waves, it could distinguish various objects, including products and livestock. The RFID system has many benefits as compared to traditional barcode technology [114]: (1): providing both read and write capabilities; (2): providing synchronous reading of many tags; (3): no line-of-sight communication needed. ECC is extremely secure, quicker and easier to handle main. While ECC is deemed safe, RFID is too restrictive to enforce. ECC is very difficult because it depends on complicated mathematical computations, and this difficulty requires high power that the RFID device can not satisfy. Table 6 compares encryption algorithms in IoT environments.

Table 6 General comparison of cryptographic algorithms in IoT environments

General data encryption can be enforced at three connectivity levels: path encryption, node encryption, and end-to-end encryption. For any innermost node in encryption, the message received from the previous link will be decrypted into plaintext and the plaintext will then be encrypted into ciphertext using the secret key of the next link. Nevertheless, unlike path encryption, node encryption does not require messages in plaintext form to be stored in a network node. Hence it can provide strong network data coverage. The code is not decrypted when using end-to-end encryption until it is transmitted to the target. Because messages are always present as ciphertext throughout the transmission, information leakage doesn’t occur. Data encryption algorithm is classified into two categories: symmetric encryption algorithm and public key encryption algorithms. Since the computing power and storage space of the sensor nodes are both small, the computational complexity and energy consumption of the asymmetric encryption algorithm makes it difficult to extend it to WSNs. Symmetric encryption algorithm is commonly used in WSNs owing to its simple calculation and small amount of computation. In a symmetric encryption algorithm, the message authentication code is usually used for authentication, which increases the communication load, and requires more storage space, causing extra power consumption.

4.1 Physical layer security

The physical layer has two highlight features for data security compared to cryptography algorithms. First, physical layer security methods do not depend on computational complexity, which implies that the attained level of security will not be compromised even if the unauthorized smart devices in the IoT network have powerful computational capabilities. Unauthorized devices have insignificant computational capabilities for hard mathematical problems. Second, physical layer security methods have a high scalability. In the IoT network, devices are always connected to the nodes with various powers and computation capabilities at the various levels of the hierarchical architecture. As a consequence, cryptography algorithms management become very challenging. To cope with this, physical layer security can be used to either provide direct secure data communication or facilitate the distribution of cryptography keys in the IoT network [115].

For instance, any unauthorized node is able of extending DoS activities at the physical layer by maliciously producing interferences for disrupting the desired communications between valid users, which is also known as a jamming attack. In order to combat jamming attacks, IoT typically consider the employment of cryptography algorithms, including AES, DES, RSA, and SHA [116].

Attackers use IoT network links to infiltrate networks and nodes. If the structure of IoT layers is based on cryptography, attackers will not be able to eavesdrop and steal information. The physical layer should be designed based on physical-security principles to act as a security protector [117, 118].

In the IoT, a secure channel must be defined for each application. Unsecured communication channels cause the aggressor to infiltrate the IoT network and declare itself as an authorized node to the network devices. Physical layer is used to ensure the security in such networks. However, the dynamic nature of IoT network can make the secret key distribution process vulnerable [119].

According to the role of the eavesdropper in IoT, the security design goals of the physical layer can be considered as follows [120]:

  • Security designs against external eavesdropping.

  • Security designs against internal eavesdropping.

Securing operations should be performed inside nodes, switches and routers. User identification should be based on authentication steps. Secure links required for the exchange of private keys must be guaranteed in cryptography algorithms. Counteract with eavesdropping and active attacks are guaranteed by the new evolution of cryptography algorithms capabilities, especially considering Boolean operations [121].

5 Conclusion and future works

The IoT has become an exciting and welcoming technology that allows real-time collection of knowledge on all interconnected products. Such integrated physical machines provide unique identifiers and the ability to communicate and transfer data over a network using its sensor technology. The information collected also provides a significant opportunity for different companies to gain insight into these data by applying effective data analytics. IoT has also revealed a huge vulnerability in security ranging from authentication to trust management, and a threat to its embedded devices. This paper dealt with IoT security Based on cryptographic algorithms. Security should be an important factor during the design of the IoT environment. Cryptography algorithms are a very effective tool for ensuring the protection of the physical layer of the network and are necessary for ensuring the security of the entire network infrastructure.

Recently many lightweight cryptography algorithms have been used in securing the resource constraint devices in IoT. Reducing computation time and reducing memory usage are two important factors in IoT resources. Security is an important field in the IoT. Combining asymmetric algorithms to increase the complexity of cryptography is a great method for intrusion prevention into IoT resources. Future research directions, the challenges of deal with attacks on IoT resources and open issues are also reviewed for security scenarios.