# LLSFIoT: Lightweight Logical Security Framework for Internet of Things

Authors: Isha Batra; Hatem S. A. Hamatta; Arun Malik; Mohammed Baz; Fahad R. Albogamy; Vishal Goyal; Sultan S. Alshamrani
Journal: Wireless Communications and Mobile Computing
 (2021)

---

## Abstract

Current research in Internet of Things (IoT) is focused on the security enhancements to every communicated message in the network. Keeping this thought in mind, researcher in this work emphasizes on a security oriented cryptographic solution. Commonly used security cryptographic solutions are heavy in nature considering their key size, operations, and mechanism they follow to secure a message. This work first determines the benefit of applying lightweight security cryptographic solutions in IoT. The existing lightweight counterparts are still vulnerable to attacks and also consume calculative more power. Therefore, this research work proposes a new hybrid lightweight logical security framework for offering security in IoT (LLSFIoT). The operations, key size, and mechanism used in the proposed framework make its lightweight. The proposed framework is divided into three phases: registration, authentication, and light data security (LDS). LDS offers security by using unique keys at each round bearing small size. Key generation mechanism used is comparatively fast making the compromise of keys as a difficult task. These steps followed in the proposed algorithm design make it lightweight and a better solution for IoT-based networks as compared to the existing solutions that are relatively heavy weight in nature.


---

## Body

## 1. Introduction

A fresh primitive cryptography known as lightweight cryptography is specifically being put on the market for use as integrated systems in resource-restricted settings like radio frequency identification (RFID) IoT [1]. Lightweight will not be soft in nature, but will not be enforced on many apps. The attacker is restricted by lightweight algorithms with the exposure of only restricted information per key [2]. Lightweight alternatives are used to marinate the necessary trade between efficiency, safety, and assets [3]. The major challenges in IoT are restricted instruments such as RFID and battery-operated detectors. Particular consideration should therefore be paid to limiting the use of its funds and at the same moment to provide safety [4]. Solutions for lightweight cryptography deliver both safety and efficiency [5]. The easiest approach seems to be of IoT resource restrictions. Lightweight alternatives provide safety only through the exposure of restricted operational information [6]. The limitations in existing network are the use of large key size, block size, complex round structure, and the implementation requirements [7]. Being a resource constrained network, security in IoT should be using a security mechanism using less key size, block size, simple round structures, and simple implementation requirements [8, 9].For Lightweight solutions, the National Institute of Standards and Technology (NIST) sets a minimum key size requirement of 112 bits. Even smaller key sizes are more vulnerable to brute force attack [10]. The following requirement is for a small block size. The lightweight cipher’s block size should be smaller than that of conventional cyphers. For instance, if the block size is 64 bits rather than the 128 bits used by AES, a greater number of plaintext blocks can be encrypted [11]. Additionally, memory requirements will decrease. Following that, a simple round structure should be used: The rounds used in lightweight cyphers should be simpler than those used in conventional cryptography [12]. For instance, a round can be simplified by substituting a 4-bit S-Box for an 8-bit S-Box. This also reduces the amount of memory required. Increasing the total number of rounds to be fired may lower the amount of security that can be improvised [13]. The requirements take into account the fact that the device should be capable of either encryption or decryption. Rather than implementing the entire cypher, only required operations should be implemented [14, 15]. This comes out with an issue while implementing lightweight solutions in IoT but once it is implemented, the overall resources and life of network can be improved [16].The contribution of this research work is to overcome the limitations of existing solutions by making changes in design of the security algorithm. In comparison to conventional block cyphers, the requirements of lightweight security solutions are lower for key size. Existing security solutions like AES, SIMON, and SPECK, they have more key size requirements as compared to the proposed algorithm.The remaining paper is arranged accordingly. In Section II, work related to IoT security is reviewed. Existing solutions for providing security and authentication are covered. Section III propose the hybrid lightweight security solution for IoT comprising three phases, i.e, registration, authentication, and data security. Later, in Section IV, round key generation schedule of data security mechanism is discussed. Section V discusses the complete one round structure for Data security. Section VI analyzes the proposed algorithm by evaluating the mean and standard deviation. Finally, conclusion states the currents state of art and the benefit of the proposed security framework.


## 2. Related Work

Light weight means the algorithms that require fewer and optimal performance funds. The lightweight term does not refer to the weakness of the algorithm [17]. As the trend for future appliances with restricted systems has changed, a great deal of effort was produced to optimize AES for these apps. However, adaptation to the requirements of these systems in the AES was not suitable [18]. Although AES has been implemented quickly, however, it is still very complicated and has big codes that do not comply with the needs [19]. In [20], it is mentioned that AES is utilized as validation component in RFID-based frameworks. The AES is used in the application layer as an integrated COAP system. Advanced encryption standards (AES) is an institutionalized symmetrical square figure by NIST. It uses a replacement phase scheme and deals with a 128-bit square-length 4×4 network [21]. Each byte is influenced by the effects of subbytes, row shifting, MIXED COLUMNS, and ADD ROUND KEY. The key size that can be used is 128 bits, 192 bits, or 256 bits. AES is as yet defenseless against man-in-center assault [22, 23].The author suggested in [24], PRESENT which is SPN based and used as an ultra-light safety calculation. It uses 4-bit info and S-box rates to advance devices at the replacement layer. It has 80 or 128 parts of main size and operates on 64 pieces. PRESENT is listed as a lightweight cryptography scheme in ISO/IEC 29192-2 : 2012 “Lightweight cryptography.” On 26 out of 31 rounds [25], PRESENT is indefensible from differential attack. In [26], author referred SIMON 2n an N-bit word cipher forming a 2n-bit block. N can have 16, 24, 32, 48, and 64 values. SIMON 2n using key as k-word key (kn-bit) is referred as SIMON 2n/kn. Therefore, SIMON 96/144 will be working on a block of 96-bit plaintext and using key of 144 bits. SIMON is a member of the block cypher family with varying block sizes. It can support 32, 48, 64, 96, and 128 bits of block size that further can work on varying key sizes.In [27], author referred SPECK highlighted that SPECK requirements are like SIMON. SPECK 128/128 therefore means the 128 bit file length SPECK block code that sucks the 128-bit button. The SPECK supporting block and key size is identical to that of SIMON. SPECK uses Feistel structure performing bitwise XOR, circular shits, and modular addition in each round at both directions [28]. In [29], TWINE is described as a 64 bit block cipher forming a basic Feistel structure. Feistel functions consist of 16 4-bit subblocks using key addition. Two key sizes 80 and 128 bits are supported by TWINE. TWINE operates on total 36 rounds with same round function. In [30], author mentioned FANTOMAS as an LS-design example (LS consists of L-boxes using bit-sliced looking tables and S-boxes). The block cipher FANTOMAS can be displayed with the s×L bit array. The s×s parts are permutation for each matrix row, whereas the permutation for each matrix row is L×L. Consider, for instance, a 128-bit FANTOMAS key and block length. The s-bits are 8, and the L-bits are 16.


## 3. Proposed Lightweight Logical Security Framework for IoT (LLSFIoT)

The proposed LLSFIoT is divided into three phases: registration, authentication, and LDS. When a new device enters the network, the credentials are first registered with the server using the key sharing mechanism. Once the device has the credentials, mutual authentication between the device and the server will take place before initiating any communication. Using the LDS algorithm, the data transmitted by and from the device is secured. The notations used in the process of registration, authenticationn and data security are shown in Table1.Table 1
Notations used in LLSFIoT.
SymbolDescriptionDiith deviceISInformation serverIDDIdentity of deviceIDSIdentity of serverKSKey shared between device and serverSNSequence numberUIDUnique IDsKaAlternate keysTVTemporary variablenNumber of bits in each word2nBlock size/number of input bitsSKiith key subblockS−xLeft rotation byx bitsSyRight rotation byy bits


### 3.1. Phase 1: Registration

Steps corresponding to registration phase are detailed below:Step 1.
DeviceDi will initiate a connection that has been established with IS by submitting its IDD to the IS making use of a secure medium.Step 2.
IS following receipt of the connection request fromDi computes a nonce value NS. This NS is used to compute a shared key KS, where KS=IDS⊕hIDD‖NS.Step 3.
Additionally to this, IS generates a collection of unique IDs,UID=id1,id2,id3,⋯.idn., and set of alternate keys Ka=ka1,ka2,⋯.kan in relation to one another uidi∈UID.Step 4.
Additionally, IS, a sequence number, is a generated randomly SN. As a result, for each request submitted by theDi, IS generates KS, unique IDs, alternate keys, and SN. If Di makes an additional request to IS, a new SN is generated. The onus of IS is to maintain one copy of SN in database and forward same copy to the Di. The benefit of using SN is to avoid any replay that the intruder may inject.Step 5.
Before the authentication process actually begins, IS checks to see if the SN sent byDi matches one already stored in the database. Authentication phase 2 will be active when this match occurs. whereas IS ends connection with Di and requires Di to use one UID and Ka couple if match does not occur in SN.The pair will be used once, and the entry will be removed in both the IS andDi database. I will send a message at the end Di encrypted using public key of Di having a set of values: KS, {idi, kai}, SN, and in its own database keeps the same values as the Di ID, i.e. IDD.


### 3.2. Phase 2: Authentication

In the authentication phase, two way mutual authentication is performed betweenDi and IS. Steps corresponding to authentication phase are detailed below:Step 6.
Di by taking a nonce value N1 generates a variable V1=hIDDKS⊕N1.Step 2.
Now,Di creates a message of request having V1,IDD,SN to the IS.Step 3.
On the off chance that SN is not accessible withDi, Di will use one of the {idi, kai} pair where kai can be used in replacement of KS.Step 4.
On receiving request fromDi, The IS verifies the message’s SN or checks that additional parameters are legitimate or not if they match the matching SN of the Di stored in the database. The value of N1 is later calculated by IS.Step 5.
If all the parameters are validated, then IS after taking a nonce valueN2 will generate a new random sequence number SNnew=hIDD‖KS‖N1⊕SN and computes a temporary variable TV=hIDDKSN2⊕SNnew and computing variable V_2=hIDDKSN1TV.Step 6.
Di on receiving message containing {V2, SNNew, TV} from the IS computes the value hIDDKSN1TV and compares it with V2. If match occurs, Di computes nonce N2 using TV=hIDDKSN2⊕SNnew.


### 3.3. Phase 3: Lightweight Data Security (LDS) Algorithm

Once mutual authentication is performed betweenDi and IS, the next step is to offer data security using the encryption method. Data is taken in blocks of 64 bits each, and the size of KS shared between Di and IS that is 128 bits. To offer security, a lightweight data security (LDS) algorithm is proposed. This algorithm takes of the secure data communication and offers the services for security such as confidentiality of data and integrity of data.Proposed LDS works on 20 rounds using addition, rotation, and XOR (ARX) operations. This flexibility of choosing the number of rounds lies with the user depending upon the execution time required and also on full diffusion. The three operations ARX are chosen for offering optimum security trading off with lightweight solution considering the IoT application scenario. The reason for choosing only these operations for a round is discussed later in Section4. The structure of LDS consisting of 20 rounds using ARX operations and a key generation function is represented through Figure 1.Figure 1
LDS structure.


## 3.1. Phase 1: Registration

Steps corresponding to registration phase are detailed below:Step 1.
DeviceDi will initiate a connection that has been established with IS by submitting its IDD to the IS making use of a secure medium.Step 2.
IS following receipt of the connection request fromDi computes a nonce value NS. This NS is used to compute a shared key KS, where KS=IDS⊕hIDD‖NS.Step 3.
Additionally to this, IS generates a collection of unique IDs,UID=id1,id2,id3,⋯.idn., and set of alternate keys Ka=ka1,ka2,⋯.kan in relation to one another uidi∈UID.Step 4.
Additionally, IS, a sequence number, is a generated randomly SN. As a result, for each request submitted by theDi, IS generates KS, unique IDs, alternate keys, and SN. If Di makes an additional request to IS, a new SN is generated. The onus of IS is to maintain one copy of SN in database and forward same copy to the Di. The benefit of using SN is to avoid any replay that the intruder may inject.Step 5.
Before the authentication process actually begins, IS checks to see if the SN sent byDi matches one already stored in the database. Authentication phase 2 will be active when this match occurs. whereas IS ends connection with Di and requires Di to use one UID and Ka couple if match does not occur in SN.The pair will be used once, and the entry will be removed in both the IS andDi database. I will send a message at the end Di encrypted using public key of Di having a set of values: KS, {idi, kai}, SN, and in its own database keeps the same values as the Di ID, i.e. IDD.


## 3.2. Phase 2: Authentication

In the authentication phase, two way mutual authentication is performed betweenDi and IS. Steps corresponding to authentication phase are detailed below:Step 6.
Di by taking a nonce value N1 generates a variable V1=hIDDKS⊕N1.Step 2.
Now,Di creates a message of request having V1,IDD,SN to the IS.Step 3.
On the off chance that SN is not accessible withDi, Di will use one of the {idi, kai} pair where kai can be used in replacement of KS.Step 4.
On receiving request fromDi, The IS verifies the message’s SN or checks that additional parameters are legitimate or not if they match the matching SN of the Di stored in the database. The value of N1 is later calculated by IS.Step 5.
If all the parameters are validated, then IS after taking a nonce valueN2 will generate a new random sequence number SNnew=hIDD‖KS‖N1⊕SN and computes a temporary variable TV=hIDDKSN2⊕SNnew and computing variable V_2=hIDDKSN1TV.Step 6.
Di on receiving message containing {V2, SNNew, TV} from the IS computes the value hIDDKSN1TV and compares it with V2. If match occurs, Di computes nonce N2 using TV=hIDDKSN2⊕SNnew.


## 3.3. Phase 3: Lightweight Data Security (LDS) Algorithm

Once mutual authentication is performed betweenDi and IS, the next step is to offer data security using the encryption method. Data is taken in blocks of 64 bits each, and the size of KS shared between Di and IS that is 128 bits. To offer security, a lightweight data security (LDS) algorithm is proposed. This algorithm takes of the secure data communication and offers the services for security such as confidentiality of data and integrity of data.Proposed LDS works on 20 rounds using addition, rotation, and XOR (ARX) operations. This flexibility of choosing the number of rounds lies with the user depending upon the execution time required and also on full diffusion. The three operations ARX are chosen for offering optimum security trading off with lightweight solution considering the IoT application scenario. The reason for choosing only these operations for a round is discussed later in Section4. The structure of LDS consisting of 20 rounds using ARX operations and a key generation function is represented through Figure 1.Figure 1
LDS structure.


## 4. Generation of Subkeys for Each Round

For each round, twon-bit subkey bocks are required, considering n as the number of bits in a word. Block size that can be taken as input will be 2n. Here, block size of 64 bits is assumed; so, value of n is 32. Key size is taken as 128 bits. Therefore, for 20 rounds, 40 key subblocks have each of 32 bit out of 128 bit long key. A key generation mechanism is required for getting the key subblocks for each round of operation.Subkey generation is done in such a manner that key generator gives a unique and random subkey every time it is run. For a good key generator mechanism, if the generated subkey is compromised by cryptanalysis, other subkeys should not be identified. The subkeys are generated from the main key of 128 bits. As stated earlier, each round requires two subkey blocks. The mechanism of key generation function consists of a key generation that divides the keys into subblocks. Key generator generates subkeys for two rounds at a time. Therefore, for 20 rounds, key generator will work for 10 times and generate 4 subkey blocks each time, making a total of 40 subkey blocks. The whole mechanism of key generator is explained through following steps:Step 1.
The original key (Ki) of 128 bits is given as input to subkey generator.Step 2.
Sub key generator generates 4 sub key blocks of 32 bit each. Two key sub blocks of 32 bits are passed as input to first round and next two key sub blocks of 32 bits are passed as input to second round.Step 3.
Bits in originalKi are processed using a mixing function to generate input for the running the key generator for the next time. From there again, 4 key subblocks are generated for next two rounds.Step 4.
Mixing function takes as input the output of the previous key generator function. For the first time, after the execution of key generator, originalKi consists of 4 key subblocks, let us say, SK1, SK2, SK3, SK4, each of 32 bits. Mixing function performs the XOR operation in circular rotation. All the bits of SK1 are XORed with random bits of SK2, SK2 is XORed with random bits of SK3, SK3 is XORed with random bits of SK4, and SK4 is XORed with random bits of SK1. SK1(0) represents the first bit of key subblock SK1. Figure 2 shows the block diagram for operation of key generator. The sample equations to generate subkey can be represented mathematically in Table 2.Step 5.
Step 3 and step 4 are repeated till all the 40 subkey blocks are generated for all the 20 rounds.Figure 2
Block diagram for key subblock generator function.Table 2SK10=SK10⊕SK231SK20=SK20⊕SK30SK11=SK11⊕SK20SK21=SK21⊕SK31SK12=SK12⊕SK21SK22=SK22⊕SK32SK13=SK13⊕SK22SK23=SK23⊕SK33SK14=SK14⊕SK23SK24=SK24⊕SK34SK15=SK15⊕SK24SK25=SK25⊕SK35SK16=SK16⊕SK25SK26=SK26⊕SK36SK17=SK17⊕SK26SK27=SK27⊕SK37SK18=SK18⊕SK27SK28=SK28⊕SK38SK19=SK19⊕SK28SK29=SK29⊕SK39SK110=SK110⊕SK29SK210=SK210⊕SK310SK111=SK111⊕SK210SK211=SK211⊕SK311SK112=SK112⊕SK211SK212=SK212⊕SK312SK113=SK113⊕SK212SK213=SK213⊕SK313SK114=SK114⊕SK213SK214=SK214⊕SK314SK115=SK115⊕SK214SK215=SK215⊕SK315SK116=SK116⊕SK215SK216=SK216⊕SK316SK117=SK117⊕SK216SK217=SK217⊕SK317SK118=SK118⊕SK217SK218=SK218⊕SK318SK119=SK119⊕SK218SK219=SK219⊕SK319SK120=SK120⊕SK219SK220=SK220⊕SK320SK121=SK121⊕SK220SK221=SK221⊕SK321SK122=SK122⊕SK221SK222=SK222⊕SK322SK123=SK123⊕SK222SK223=SK223⊕SK323SK124=SK124⊕SK223SK224=SK224⊕SK324SK125=SK125⊕SK224SK225=SK225⊕SK325SK126=SK126⊕SK225SK226=SK226⊕SK326SK127=SK127⊕SK226SK227=SK227⊕SK327SK128=SK128⊕SK227SK228=SK228⊕SK328SK129=SK129⊕SK228SK229=SK229⊕SK329SK130=SK130⊕SK229SK230=SK230⊕SK330SK131=SK131⊕SK230SK231=SK231⊕SK331SK30=SK30⊕SK41SK40=SK40⊕SK12SK31=SK31⊕SK42SK41=SK41⊕SK13SK32=SK32⊕SK43SK42=SK42⊕SK14SK33=SK33⊕SK44SK43=SK43⊕SK15SK34=SK34⊕SK45SK44=SK44⊕SK16SK35=SK35⊕SK46SK45=SK45⊕SK17SK36=SK36⊕SK47SK46=SK46⊕SK18SK37=SK37⊕SK48SK47=SK47⊕SK19SK38=SK38⊕SK49SK48=SK48⊕SK110SK39=SK39⊕SK410SK49=SK49⊕SK111SK310=SK310⊕SK411SK410=SK410⊕SK112SK311=SK311⊕SK412SK411=SK411⊕SK113SK312=SK312⊕SK413SK412=SK412⊕SK114SK313=SK313⊕SK414SK413=SK413⊕SK115SK314=SK314⊕SK415SK414=SK414⊕SK116SK315=SK315⊕SK416SK415=SK415⊕SK117SK316=SK316⊕SK417SK416=SK416⊕SK118SK317=SK317⊕SK418SK417=SK417⊕SK119SK318=SK318⊕SK419SK418=SK418⊕SK120SK319=SK319⊕SK420SK419=SK419⊕SK121SK320=SK320⊕SK421SK420=SK420⊕SK122SK321=SK321⊕SK422SK421=SK421⊕SK123SK322=SK322⊕SK423SK422=SK422⊕SK124SK323=SK323⊕SK424SK423=SK423⊕SK125SK324=SK324⊕SK425SK424=SK424⊕SK126SK325=SK325⊕SK426SK425=SK425⊕SK127SK326=SK326⊕SK427SK426=SK426⊕SK128SK327=SK327⊕SK428SK427=SK427⊕SK129SK328=SK328⊕SK429SK428=SK428⊕SK130SK329=SK329⊕SK430SK429=SK429⊕SK131SK330=SK330⊕SK431SK430=SK430⊕SK10SK331=SK331⊕SK40SK431=SK431⊕SK11


## 5. Round Function of LDS

LDS framework works on the Feistel-like structure. Operations used during the encryption process of LDS are(i)
Addition modulo 2n, considering n as the number of bits in a word. If n is 16, block size will be 32 and for n taken as 32, block size will be 64 bits. Addition modulo is preferred over multiplication modulo. There may be multiple reasons for choosing addition over multiplication. First, multiplication require more cycles as compared to addition even with the fastest CPUs. Second, operation of multiplication may lead to timing attacks(ii)
Bitwise XOR, ⊕: most block ciphers work using XOR as the basic operation as compared to other operations like AND and OR. Numbers of factors supporting XOR over other operations are first, XOR operation works on reversible procedure. When encryption is performed on original text XOR with key to generate cipher text, same key when operated using XOR with cipher text the resultant will be same original text. Second, XOR can be realized using the NAND gate requiring few transistors as compared to other operations, making its hardware implementation quite easier. Third, in XOR, the output is dependent on both the operands as compared to AND and OR. In AND, if one of the operand is false, second is not evaluated at all. In OR, if one of the operand is true and second is not evaluated at all, whereas, in XOR, if first operand is true or false, second needs to be evaluated for getting the expected output(iii)
R−b and Rb are left and right rotations respectively, where b is the number of bits to rotate. Rotations are preferred over shift as rotation when used with the XOR operation that creates maximum diffusion in the resultant output with alteration in a single input bit. On the other hand, when shift is used with the XOR, then diffusion created is less in output with alteration in a single input bitThe input block ofn bits is divided into two equal halves. For example, if input text is 64 bits long, it will be divided into 32 bits each represented as Li and Ri. Li represents the left subblock, and Ri represents the right subblock. The left and the right subblock in a particular round is evaluated as
(1)Li=S−xLi+SyLi+Ri⊕SK2⊕SK1,Ri=SyLi+Ri⊕SK2.Therefore, the round function of LDS is denoted as(2)FLi,Ri=S−xLi+SyLi+Ri⊕SK2⊕SK1,SyLi+Ri⊕SK2,wherex and y are the rotation constants. For block size of 64 bits and key size of 128 bits, the value of x is taken as 7, and the value of y is taken as 3. This composition of round function is represented through Figure 3.Figure 3
Single round function of LDS.


## 6. Evaluating Diffusion Property for LDS Round

Diffusion property of the cryptographic algorithm is focused on incorporating the avalanche effect. It refers to observe the change in number of bits of the output cipher text with a single bit modification in the input original text. With more number of bits affected by diffusion, the cryptographic solution proves to be stronger.The input original text of 64 bits is divided into 2 subdata blocks of 32 bits each and referred asA and B. The values of rotation constant for creating the diffusion matrix may vary from 0 to 31. Therefore, the total possible combinations of rotation constants x and y each carrying value from 0 to 31 may lead to 32×32=1024 combinations. 1024 combinations can generate 1024 diffusion matrices based on respective designs. A sample diffusion matrix is shown in Table 3 below:Table 3
Generalized diffusion table.
InputOutputLeft block (A)Right block (B)Left block (A)MAAMABRight block (B)MBAMBBIn Table3, MAA refers to the count of number of bits modified in A by modifying the single bit of A. As there are 32 bits in A, the mean value and the standard deviation are calculated after changing every bit of A and noticing its effect on A and B. Similar effect can be noticed in MAB, MBA, and MBB.In order to generate the diffusion matrix, certain steps are taken that require the input and rotation constants assumed asx and y here.Step 1.
Input block of 64 bits is divided into two subblocks referred asA and B each of 32 bits.Step 2.
Considering the different combinations ofx and y where each can take values from 0 to 31, thus, the overall possible combinations are 1024. Here, the value of x and y is assumed to be fixed; that is, x is taken as 7, and y is taken as 3, while executing the LDS algorithm.Step 3.
Round function of LDS is executed over the data blocksA and B to generate output as A1 and B1.Step 4.
Start by modifying one bit ofA, then execute LDS over modified A bits and the original B to get output as A2 and B2. Compare bits of A1 with bits of A2 and calculate the number of bits which have been altered, that will become value of MAA. Similarly, compare bits of B1 with bits of B2 and calculate the number of bits which have been altered, that will become value of MAB.Step 5.
Repeat step 3 but this time by modifying one bit ofB. Execute LDS over modified B bits and the original A to get output as A2 and B2. Compare bits of A1 with bits of A2 and calculate the number of bits which have been altered, that will become the value of MBA. Similarly, compare bits of B1 with bits of B2 and calculate the number of bits which have been altered, that will become the value of MBB.Step 6.
Repeat steps 3 and 4 at least 64 times using rotation constantx=7 and y=3 to find the average of each value of matrix M to get diffusion table as shown in Table 4 below.Table 4
Diffusion table consideringx=7 and y=3.
InputOutputLeft block (A)Right block (B)Left block (A)10.512.3125Right block (B)6.718158.90625Mean=9.609, standarddeviation=2.058The possible combinations forx and y can be 1024, but the same steps for creating diffusion table are repeated by considering the most common used rotation constants x=8 and y=3 and second time by considering x=7 and y=2. The diffusion table generated by repeating the steps 64 times for the rotation constants x=8 and y=3 is shown through Table 5 below.Table 5
Diffusion table consideringx=8 and y=3.
InputOutputLeft block (A)Right block (B)Left block (A)9.37510.156Right block (B)3.1567.218Mean=7.4762, standarddeviation=2.716The diffusion table generated by repeating the steps 64 times for the rotation constantsx=7 and y=2 is shown through Table 6.Table 6
Diffusion table consideringx=7 and y=2.
InputOutputLeft block (A)Right block (B)Left block (A)8.62511.25Right block (B)4.3126.75Mean=7.734, standarddeviation=2.541Mean value in all the combinations shows the average number of bits that are affected by changing the individual bits as shown in equation (3)
(3)Mean=MAA+MAB+MBB+MBA/4.Standard deviation is calculated by finding the variance after subtracting each data value from the mean and then finding their sum and finally performing square root as shown in equation (4).
(4)StandardDeviation=∑i,j=12Mij−Mean.Rotation constants chosen for creating diffusion matrix and hence calculating mean and standard deviation show the extent of output change by changing input bits. These constants are used to calculate transition probability. For block size of 64 bit block and key size of 128 bits, the mean and standard deviation for three sets of rotation constants are shown in Table7 and are represented through Figure 4.Table 7
Mean and standard deviation with different sets of rotation constants.
Rotation constantsMeanStandard deviationx=7y=39.6092.058x=8y=37.4762.716x=7y=27.7342.541Figure 4
Mean and standard deviation for different sets of rotation constants.Figure4 clarifies that when same LDS is executed with different combinations of rotation constants, the maximum value and the least standard deviation are observed with rotation constants x=7 and y=3. Therefore, the proposed LDS algorithm chooses the rotation constants x=7 and y=3.


## 7. Conclusion

Once the data is collected through devices using sensors, the next concern is to offer security to data or devices that play active role in communication. Therefore, this research work proposes a LLSFIoT model consisting of three phases. Phase 1 registers the new devices with the central server and handover the essential credentials to the device. Phase 2 performs mutual authentication between server and the device. Phase 3 proposed a LDS algorithm that offers confidentiality and integrity to data in transit. LDS works as a Feistel structure on 20 rounds of operation using ARX operations: addition, rotation, and XOR. The LDS is evaluated by performing cryptanalysis using diffusion property. Different sets of rotation constants are used to find mean and standard deviation. This research work concludes that LDS works well with constant value asx=7 and y=3 with maximum mean and minimum standard deviation assuring that single change in input will affect more bits in output.



---

*Source: 8526206-2021-08-18.xml*