Next Article in Journal
Applications of Wireless Sensor Networks and Internet of Things Frameworks in the Industry Revolution 4.0: A Systematic Literature Review
Next Article in Special Issue
Vulnerabilities of Live-Streaming Services in Korea
Previous Article in Journal
Dielectric Measurement of Agricultural Grain Moisture—Theory and Applications
Previous Article in Special Issue
A Hybrid Intelligent Framework to Combat Sophisticated Threats in Secure Industries
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Compact Finite Field Multiplication Processor Structure for Cryptographic Algorithms in IoT Devices with Limited Resources

1
Computer Engineering Department, College of Computer Engineering and Sciences, Prince Sattam Bin Abdulaziz University, Al-Kharj 16278, Saudi Arabia
2
Electrical and Computer Engineering Department, University of Victroia, Victoria, BC V8P 5C2, Canada
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(6), 2090; https://doi.org/10.3390/s22062090
Submission received: 5 February 2022 / Revised: 5 March 2022 / Accepted: 6 March 2022 / Published: 8 March 2022
(This article belongs to the Special Issue Cybersecurity in the Internet of Things)

Abstract

:
The rapid evolution of Internet of Things (IoT) applications, such as e-health and the smart ecosystem, has resulted in the emergence of numerous security flaws. Therefore, security protocols must be implemented among IoT network nodes to resist the majority of the emerging threats. As a result, IoT devices must adopt cryptographic algorithms such as public-key encryption and decryption. The cryptographic algorithms are computationally more complicated to be efficiently implemented on IoT devices due to their limited computing resources. The core operation of most cryptographic algorithms is the finite field multiplication operation, and concise implementation of this operation will have a significant impact on the cryptographic algorithm’s entire implementation. As a result, this paper mainly concentrates on developing a compact and efficient word-based serial-in/serial-out finite field multiplier suitable for usage in IoT devices with limited resources. The proposed multiplier structure is simple to implement in VLSI technology due to its modularity and regularity. The suggested structure is derived from a formal and systematic technique for mapping regular iterative algorithms onto processor arrays. The proposed methodology allows for control of the processor array workload and the workload of each processing element. Managing processor word size allows for control of system latency, area, and consumed energy. The ASIC experimental results indicate that the proposed processor structure reduces area and energy consumption by factors reaching up to 97.7% and 99.2%, respectively.

1. Introduction

The Internet of Things (IoT) is a contemporary technology that links a large number of items to the internet, including wearable devices, sensors, smartphones, smart meters, and auto-mobiles [1,2] It offers services and cost-effective solutions in a variety of fields, including healthcare, smart grid, industrial manufacturing, smart cities, business, and smart railway infrastructure [3,4,5].
For most IoT-based systems, privacy and security are the top priorities. They restrict it from being used in the majority of applications. As a result, to defend IoT-based systems, we should use effective and realistic security solutions. To address all of the security flaws, cryptographic protocols should be used at various levels of the IoT paradigm, particularly, at edge devices. Conventional cryptographic algorithms such as Rivest, Shamir, and Adleman (RSA) and Digital Signature Algorithm (DSA) [6] are expensive to execute on most IoT edge devices due to of their restricted processing capability. The Elliptic Curve Cryptographic (EEC) algorithm [6,7] is the preferred cryptography for resource-constrained integrated devices due to its small key sizes and increased computing effectiveness. The critical part in implementing ECC is the efficient implementation of the finite field multiplication operation. This operation is the core operation in all field arithmetic operations used in ECC such as finite-field inversion and division [8,9,10,11].

1.1. Related Work

Depending on the application, finite field multipliers can be built in serial or parallel. When the multiplier is constructed in parallel, it generates all output bits in a single clock cycle, resulting in a significant throughput at the cost of a lot of hardware resources [12,13]. Serial architectures, on the other hand, are optimized for low-space applications at the cost of increasing processing latency to n clock cycles, where n is the field size [14,15]. We will focus on serial development of the finite field multiplier algorithm because we are targeting resource-constrained IoT applications [15]. The multiplier can be implemented in either a bit-serial or a word-serial fashion. The word-serial version is more economical for resource-constrained IoT devices, because it achieves better area and time complexity than the bit-serial version [16].
The basic four constructions of word-serial finite field multipliers are: serial-in/serial-out (SISO), serial-in/parallel-out (SIPO), parallel-in/serial-out (PISO), and scalable constructions. References [17,18,19,20,21] discussed the polynomial SISO multipliers. The multipliers presented in [17,18,19] have systolic structures that have area complexity of order O ( n l ) and latecny of order O ( n l ) , where n represents the field size and l is the bus word size. The multiplier design proposed in [20] is also a systolic design, but has area complexity of approximately O ( n n l ) and a lower latency of order O ( 2 n l ) . The multiplier design explained in [21] is a three operand non-systolic multiplier with area complexity of order O ( n l ) and latency of order O ( n l + 2 ) .
References [22,23] provide the details of the polynomial SIPO multipliers. The multiplier offered in [22] has a systolic structure with area complexity of order O ( l n n l ) and latency of order O ( 2 n l ) . The multiplier discussed in [23] has a systolic structure with area complexity of order O ( 2 l n ) and latency of order O ( n l ) + l ). In [24], the PISO multiplier was explained using a Type-T Gaussian normal basis. The proposed architecure consumes area of order O ( 2 l n ) and has latency of order O ( l ) , but have a very long critical pass delay that it is a function of word size l, O ( log 2 ( l ) ) , making the total computation time very high specially for long word sizes.
Later, in [25,26,27,28], the scalable multiplier constructions were discussed in detail. The scalable multipliers of [25,26] are based on a fixed bit-parallel Hankel matrix-vector multiplier whose latency is ( l + n l ( n l 1 ) ) clock cycles. The multiplier architecture of [25] has area complexity of order O ( n 2 ) , while the multiplier architecture of [26] has lower area complexity of order O ( l 2 ) . The multiplier of [27] is based on the dual basis multiplication and targets lightweight cryptographic architectures. It has estimated area complexity of order O ( n ) and latency of order O ( n n l ) . The design proposed in [28] is a unified structure that performs both multiplication and inversion operations. It has estimated area complexity of order O ( l n l ) and latency of the same order.
From the previous discussion, we notice that most SISO multiplier constructions provide improved area and time complexity than other forms of word-serial multiplier constructions. As a result, we will concentrate on obtaining the SISO construction of the adopted algorithm.

1.2. Paper Contribution

In this paper, we present a SISO finite field multiplier processor that is two-dimensional (2-D) and word-based. Regularity, modularity, concurrency, and local interconnectivity of the explored processor’s systolic structure are all special aspects, which makes it more convenient for VLSI implementation. The system developer can manage the area and power consumption of the investigated multiplier construction to suit IoT devices by using the formal mapping technique provided in [29,30,31]. The system developer can adjust the workload of the processor array as well as the workload of each processing element by using a non-linear scheduling function. Furthermore, non-linear task scheduling is used to manage the algorithm’s latency. The actual results reveal that the improved multiplier construction saves a large amount of space and energy, making it more suitable for IoT devices with restricted resources.

1.3. Paper Organization

The following describes the layout of the manuscript: Section 2 modifies the adopted finite field multiplication algorithm, offered by [32], to be represented in the bit level form. The algorithm performs the multiplication operation over GF( 2 n ) and is based on the irreducible All-One Polynomial (AOP). The dependency graph (DG) of the explained algorithm is investigated in Section 3. The systematic technique utilized to extract the 2-D word-based SISO processor is explained in Section 4. The experimental findings and analysis of the produced word-based multiplier construction and the competitor ones are displayed in Section 5. Finally, under Section 6, you can find the conclusion of this work.

2. Formulation of the Multiplication Algorithm

Suppose that a degree n irreducible polynomial U ( w ) characterizes the finite field over G F ( 2 n ) . It can be described in the polynomial form as:
U ( w ) = 1 + u 1 w 1 + + u i w i + + u n 1 w n 1 + w n
with u i G F ( 2 ) . Consider also that the above polynomial has a root denoted as ζ . As a result, the field elements can be defined by the set of polynomial basis { 1 , ζ , ζ 2 , ζ 3 , , ζ n 1 } .
Assume that polynomials E and H denote any two field elements in G F ( 2 n ) space. They can be described in degree n 1 polynomial form as follows:
E = e 0 + e 1 ζ 1 + + e i ζ i + + + e n 1 ζ n 1
H = h 0 + h 1 ζ 1 + + h i ζ i + + + h n 1 ζ n 1
where e i , h i G F ( 2 ) .
To multiply E and H over G F ( 2 n ) , we can use the following formula.
D = E · H mod U ( w )
Equation (4) could be extended to include a multiplication recurrence formula as follows:
D = h 0 · E + i = 1 n 1 h i · ζ i 1 · K mod U ( w )
where K = ζ E is a polynomial of degree n that can be written as:
K = i = 0 n k i · ζ i
with k 0 = 0 and k i = e i 1 for i = 1 , 2 , , n .
We can derive the following expression by extending the polynomial of (6) and multiplying by ζ .
ζ K = k 0 ζ + k 1 ζ 2 + + k n 1 ζ n + k n ζ n + 1
As we mentioned before, ζ is a root of U ( w ) and this leads to U ( ζ ) = 0 . As a result, we can find the following expression by substituting with ζ in Equation (1).
ζ n = 1 + u 1 ζ + u 2 ζ 2 + + u n 1 ζ n 1
As U ( w ) is an AOP polynomial, Equation (8) can be expressed as:
ζ n = 1 + ζ + ζ 2 + + ζ n 1
By multiplying both sides of Equation (9) by ζ , we obtain the following result:
ζ n + 1 = 1
By substituting from (10) in (7), we may reduce ζ K to a polynomial ( K 1 ) of degree n as:
K 1 = k n + k 0 ζ + k 1 ζ 2 + + k n 1 ζ n
As indicated in Equation (11), the cyclic-shift-left of polynomial K creates the partially-reduced polynomial K 1 of polynomial ζ K . Additionally, the cyclic-shift-left of polynomial K 1 produces the partially-reduced polynomial K 2 of polynomial ζ 2 K . In general, cyclic-shift-left of polynomial K i 1 forms the partially-reduced polynomial K i of polynomial ζ i K . The following is a mathematical representation of the cyclic-shift-left procedure:
K i = L ( K i 1 ) , 0 i n 1
where K 1 = ( 0 & E ) . L denotes the cyclic-shift-left operation. Equation (12) could be used to construct Equation (13) as:
D = h 0 · E + i = 1 n 1 h i · K i 1 mod U ( w )
with K 0 = K = ζ E .
Alternatively, Equation (13) might be written as:
D = V mod U ( w )
where V is the sum of polynomials of degree n that can be expressed as:
V = i = 0 n 1 h i · K i 1
with K 1 = ( 0 & E ) .
Equation (15) can be described in the subsequent form:
V = v 0 + v 1 ζ 1 + v 2 ζ 2 + + v n 1 ζ n 1 + v n ζ n
By substituting ζ n in Equation (16) with the expansion given in Equation (9), we could derive the reduced form of polynomial V mod U ( w ) (polynomial of degree n 1 ) as:
D = V mod U ( w ) = ( v 0 v n ) + ( v 1 v n ) ζ 1 + ( v 2 v n ) ζ 2 + + ( v n 1 v n ) ζ n 1
We can describe Equations (12) and (15) in bit-level format as shown in Equations (18) and (19), respectively. The subscript j in these equations denotes the bit position in their binary coding.
k j + 1 i = k j i 1 k 0 i = k n + 1 i
v j i = v j i 1 + h i · k j i 1
with k n 1 = 0 , v j 1 = 0 , 0 i n 1 , and 0 j n .
Equation (17) provides the reduced form of the product polynomial D, which can be interpreted in the bit-level formate as:
d j = v j n 1 + v n n 1
with 0 j n 1 .
Algorithms 1 and 2 are the algorithm structure of the previously stated formulas. Algorithm 2 represents the bit-level version of Algorithm 1.
Algorithm 1 Finite Field Multiplication Algorithm based on AOP polynomial.
Input: E, H, and U
Output: D
Initialization:
K 1 ( 0 & E ) , V 1 0
Algorithm:
1:
for  0 i n 1  do
2:
     K i = β . K i 1
3:
     V i = V i 1 + h i K i 1
4:
end for
5:
D = V mod U
Algorithm 2 Finite Field Multiplication Algorithm in the bit-level formate.
Input: E = ( 0 e n 1 e n 2 e 0 ) , H = ( h n 1 h n 2 h 0 )
Output: D = ( d n 1 d n 2 d 0 )
Initialization:
K 1 = ( k n 1 k n 1 1 k 0 1 ) ( 0 e n 1 e 0 )
V 1 = ( v n 0 v n 1 0 v 1 0 v 0 0 ) ( 00 00 )
Algorithm:
1:
for  0 i n 1  do
2:
    for  0 j n  do
3:
         k j + 1 i = k j i 1
4:
         k 0 i = k n + 1 i
5:
         v j i = v j i 1 + h i k j i 1
6:
    end for
7:
end for
8:
for  0 j n 1  do
9:
     d j = v j n 1 + v n n 1
10:
end for

3. Construction of Algorithm Dependence Graph

Algorithm 2 has two indices, i and j, that define the iterative phase of the multiplication algorithm. The approach described in reference [29] can be used to generate a dependence graph (DG) in the two-dimensional integer domain D . Figure 1 shows the DG for the situation when n = 5 . The nodes of the DG indicates the operations specified by the algorithm steps 3 to 5. According to the design criteria of reference [29], v j i signals are indicated by vertical lines. The h i signals are denoted by horizontal lines. The signals k j + 1 i are depicted by the diagonal lines.
The signals of k n + 1 i are generated by the nodes in the last column and transmitted to the nodes in the first column. As indicated in the reduction step of the Algorithm 2, step 9, the resultant signals v j n 1 , 0 j n 1 , are combined with the most significant signal v n n 1 , using the XOR gates, to generate the final product output signals d j , 0 j n 1 . The algorithm inputs v j 1 and k j 1 = e j are displayed in the DG as vertical and diagonal inputs to the top row nodes, respectively. On the other hand, the reduced product output d j , 0 j n 1 is created by merging the vertical outputs of the bottom nodes with the output of the most right bottom node as depicted in Figure 1.
Using the technique outlined in [29], the DG of Figure 1 can be used for design space exploration by selecting proper node scheduling and projection functions.
We will not employ the linear scheduling and projection functions presented in [29], as they give us few alternatives for determining the resulting processor array area, latency, processing element workload, and total system workload. We will apply the non-linear node scheduling and projection techniques described in [29] to the DG. This option provides a wide range of design alternatives for optimizing the resulting processor array area, latency, workload of processing elements, and overall system workload.

4. Two-Dimensional SISO Multiplier

Our objective is to create a SISO multiplier that accepts inputs K and H in a word-serial format. In addition, the resultant output D is generated from the SISO multiplier in the word-serial format. Assume the system designer’s aim is to process l bits of each input at the same time in order to find l bits of the output. The following subsections describe the steps that the system developer should follow to construct the SISO multiplier.

4.1. Non-Linear Task Scheduling

As explained in [29], the nonlinear scheduling technique is employed to divide the domain D into l × l equitemporal zones or clusters. The l value allows the system designer to set the number of bits of inputs and outputs that are processed at the same time. This has an indirect impact on the system’s size, speed, and latency.
To assign timing to each node p of the DG, we use the following non-linear scheduling function:
k ( p ) = n l i l + n 1 j l + 1
where k ( p ) is the time allocated to the DG’s node p ; 0 i < n + θ , θ + 1 j < n 1 , and θ is defined as:
θ = l n l n
To make the DG’s rows an integer multiple of l, we should add θ rows to it. In addition, θ 1 columns must be added to the DG in order for the number of columns to be an integer multiple of l. We have θ equal to 1 in the scenario depicted in Figure 2 where n = 5 and l = 2 , implying that one row should be placed at the bottom (row with green nodes) and no columns at the left. The equitemporal zones (the cluster of nodes having the same time values) are determined by the light red boxes and marked with the blue numbers as displayed in Figure 2.
The scheduling time for the DG nodes when n = 5 and l = 4 is shown in Figure 3. We have θ equal to 3 in this scenario, which means we need to employ two columns on the left and three rows on the bottom (rows and columns with green nodes).
By inspecting Figure 2 and Figure 3, we notice that any equitemporal zone (give it name block k) takes inputs from the north and west sides and generates outputs from the south and east sides. Table 1 summarizes the timings associated with these inputs and outputs (I/Os).
It is worth noting that the top row’s inputs result in the right column’s outputs. Similarly, the left column’s inputs result in the bottom row’s outputs. As a result, the total number of iterations (I) for finite field multiplication should be calculated using the following expression.
I = n l 2 + n l + 1

4.2. Non-Linear Task Projection

As we observe from Figure 2 and Figure 3, the l × l equitemporal zones execute at the same time. This remark, together with the projection technique described in [29], yields the nonlinear task projection function shown below:
p ¯ ( a , b ) = [ i mod l j mod l ]
The l × l node clusters are mapped to a single processor array using the extracted projection function. The processor array is made up of l × l processing elements (PEs) that are arranged in a two-dimensional array. The processor structure of Figure 4 depicts the entire system.
By reading Figure 4, we notice that registers K and H are of size l and used to feed the word inputs of K and H, in sequence, to the processor array block. Furthermore, register D is used to synchronize the output product D before delivering it to the processor data bus. As input words of variable V have zero initial values, there is no need to feed them to the processor array through an input register. They will be initialized by clearing the shift register SR-V shown in the figure. This shift register has a width of l bits and depth of r registers, where r = n l . The depth of SR-V is sufficient to the guarantee that all the initial input words of variable V are fed to the processor array block.
With a closer look at Figure 4, we can notice that the words of K variable ( K o ) resulted from the processor array block have three different types of signals due to the delay differences between signals K e , K f e , and the remaining signals of word K, as shown in Figure 2 and Figure 3. K e signal should be delayed by r 1 time steps, r = n l , before feeding it back to the input of the processor array block. Additionally, before returning the K f e signal to the input of the processor array block, it should be delayed by 2 r time steps. The remaining signals of the word K ( K o ) should be delayed by r time steps before being fed back to the processor array’s input. These delays are implemented using the shift registers (SR) related to variable K as shown in Figure 4. The width and depth of each SR are indicated in the figure. As we also notice from Figure 4, the intermediate words of V are looped back through the shift register SR-V to be delayed by r time steps before reaching out to the inputs of the processor array block.
The processor array description is shown in Figure 5 for the case when n = 5 and l = 4 . Two types of tri-state buffers are used to select between signals k d and k f . Another two types of tri-state buffers are used to select between signals k e and k f e . All of these buffers are controlled with the control signal g. At time instances k = q n / l + 1 , 0 q < n / l , the control signal g is enabled ( g = 1 ), allowing the tri-state buffers T r 1 to pass k f and k f e signals shown in Figure 5. The control signal g is deactivated ( g = 0 ) for the remaining time instances, allowing the k d and k e signals to pass through tri-state buffers T r 2 .
To compute the intermediate bits of word V, the input bits of word H ( h i ) should be transferred to the processing elements of the processor array as displayed in Figure 5. The logic diagram of the PE is depicted in Figure 6. It includes one AND gate and one XOR gates.
The operation details of the 2-D SISO multiplier for general values of n and l are as follows:
  • At the first time instance k = 1 , the controller activates the MUX with select signal ( S i n ) to allow the l most significant bits (MSB) of variable K to reach out to the input of the processor array block as shown in Figure 4. To ensure V variable has zero initial value as described in Algorithm 1, the controller resets the shift register SR-V at the first time instance. At the same time instance, the least significant l bits of variable H are transmitted horizontally to the PEs nodes of the processor array block. Notice that the H word transferred at this time instance should be hold for the following n l 1 time instances.
  • At time instances 1 < k n l , the controller still activates the MUX with select signal ( S i n ) to enable the remaining words of input K to reach out to the processor array input. These words, together with the previously held H words at the first time instance, are used to calculate in sequence the partial words of V and K. The V words resulted from the output of the processor array block ( V o ) are looped back to its input through the shift register SR-V. The K words resulted from the output of the processor array block are looped back to its input through the shift registers SR-K, SR-Ke, SR-Kfe, and the MUX controlled by the select signal S as displayed in Figure 4. It is worth noticing that the depth of the shift register SR-V keeps the initial values of V having zero values during these time instances.
  • During times k = q + ( n l 1 ) , 2 q 2 n l and q n l + 1 , the controller deactivates the MUX controlled by the select signal S ( S = 0 ), see Figure 4, to pass the K e signal to be concatenated with the K o word. At the same time instances, the controller deactivates the MUX controlled by the select signal S i n ( S i n = 0 ) to transfer the whole partial word of K to the input of the processor array block as displayed in Figure 4.
  • During times k = ( q + 1 ) n l , 1 q < n l , the controller activates the MUX controlled by the select signal S ( S = 1 ), see Figure 4, to pass the K f e signal to be concatenated with the K o word. At the same time instances, the controller deactivates the MUX controlled by the select signal S i n ( S i n = 0 ) to transfer the whole partial word of K to the input of the processor array block as displayed in Figure 4.
  • At times k = q n l + 1 , 0 q < n l , the remaining H words are transferred to the input of the processor array block to be used alongside the word inputs V i n , K i n in updating the partial words of variable V ( V o ).
  • At time k = ( n l 1 ) n l + 1 , the control signal f of the tri-state buffer T r 3 , shown in Figure 4, is set ( f = 1 ) to pass the signal v n n 1 to be XORed with the words of V to find the output product words D, in sequence, as displayed in Figure 4.
  • Starting at time k = n l 2 + 1 , the output words of product D will be available in sequence at the output bus.
To ensure that there is always one time instance difference between the words of V, we inserted delay elements (D Flip-Flop blocks) to the processor array, as illustrated in Figure 5. These elements synchronize the processor array’s work by delaying V words by one time instance to arrive at the same time as the resultant bits of k d . The k d bits are created starting at the second time instance, as seen in Figure 3, and this results in increasing the total number of clock cycles by one as indicated in Equation (23). Furthermore, shift registers SR-Kf of depth r are added to the processor array (see Figure 5) to ensure that the k f signals arrive at the left processing elements at the appropriate time.

5. Experimental Results and Discussion

We compared the suggested 2-D word-based multiplier structure to the optimal word-based ones in the literature [20,23,33,34]. The area estimation is determined by the number of basic logic gates and components in the examined multiplier architectures (AND gates, Tri-state buffers, XOR gates, Flip-Flops (FFs), and MUXs). The number of clock cycles needed to accomplish the multiplication operation is defined as latency. The delay of the basic gates/components of the multiplier logic circuit’s longest path is referred to as critical path delay (CPD). The estimated area and time results of the multiplier structures are shown in Table 2. The following symbols are used in Table 2. They can be translated as follows:
l denotes the word size of the multiplier constructions.
δ A denotes the delay of the fundamental 2-input AND gate.
δ X denotes the delay of the fundamental 2-input XOR gate.
δ M U X denotes the delay of the 2-input MUX.
α 1 = 7 n + n ( log n ) + l + 3 expresses the overall number of FFs employed in the multiplier construction of Pan [20].
α 2 = 2 l 2 + 2 l ( n / l ) + 4 l + 1 expresses the overall number of FFs employed in the multiplier construction of Hua [33].
α 3 = 2 l 2 + 3 l ( n / l ) + 2 l expresses the overall number of FFs employed in the multiplier construction of Chen [34].
η 1 = l + n / l 2 + n / l designates the latency of the multiplier construction of Chen [34].
β 1 = δ A + ( log 2 l + 1 ) δ X is the approximated CPD of Pan’s multiplier construction [20].
β 2 = δ A + 2 δ X is the approximated CPD of Hua’s multiplier construction [33].
β 3 = δ A + δ X is the approximated CPD of Chen’s multiplier construction [34].
β 4 = l δ A + l δ X + 2 δ M U X is the approximated CPD of the suggested multiplier construction.
It is worth mentioning that the input/output registers are included in the approximated number of FFs. This guarantees that the multiplier architectures are fairly compared.
We can find the following conclusions from examining the area expressions in Table 2:
  • The area complexities of Pan [20] and Xie [23] multipliers are roughly of order O ( n n l ) and O ( n l ) , respectively.
  • Except for the MUXes and FFs of the recommended multiplier structure, which have area complexity of order O ( l ) and O ( l r ) , all other components have area complexity of order O ( l 2 ) .
  • Pan’s [20] and Xie’s [23] multiplier constructions have a larger area complexity than the other multiplier constructions. This is due to the fact that the field size n is significantly bigger than the embedded word size l.
  • In comparison to the other multipliers, the suggested multiplier has the smallest number of FFs. This is due to the suggested multiplier having an area complexity of order O ( l r ) , as opposed to O ( l 2 ) and O ( n ( log n ) for the other multiplier structures.
  • The number of FFs in the proposed multiplier structure does not rise significantly as the word size l is increased. This is due to the fact that the proposed multiplier structure’s FFs have an area complexity of order O ( l r ) .
According to the data books of most typical CMOS libraries, the FFs require more chip space than the other logic components. As a result, lowering the number of FFs reduces the overall size of the multiplier structures dramatically. Increasing the word size does not considerably increase the overall number of FFs in the proposed multiplier structures, as we previously stated. As a result, the overall area of the suggested multiplier structure will not rise considerably as l grows.
We can notice the following by examining the latency expressions in Table 2:
  • When compared to the other multiplier constructions, the multiplier of Hua [33] has the lowest latency.
  • The latency findings in Table 3, for the field size n = 508 and word sizes l = 8 , 16 , 32 , indicate that the suggested multiplier structure’s latency expression will result in a larger latency than the multiplier constructions in [20,23], and inexpensive latency compared to the Hua [33] and Chen [34] multiplier constructions.
  • When the word size l increases, the latency reduces. This is due to the fact that latency expressions are inversely related to l.
We could remark the following facts when we examine CPD expressions:
  • The word sizes l have no effect on the CPD expressions of the Xie [23], Hua [33], and Chen [34] multiplier constructions. As a result, for all l values, they will always have constant CPD values.
  • CPD expressions of Pan [20] and the proposed multiplier structure are both directly dependent on l. As a result, the CPD values of these multipliers will rise as l rises.
We cannot accurately predict which multiplier architecture has the perfect computation time because it is challenging to qualitatively evaluate the latency reduction and CPD increment as l rises. Nevertheless, the quantitative results provided in Table 3 will demonstrate which multiplier layout outperforms the others in computation time.
The VHDL programming language has been used to describe all of the multiplier constructions. For the field size n = 508 and embedded word sizes l = 8 , 16 , 32 , the multipliers are synthesized. Synopsys tools version 2005.09-SP2 and the NanGate (15 nm, 0.8 V) Open Cell Library have been used to synthesize the modeled multipliers.
The design performance indicators—Latency, Area (A), CPD, Total Computation Time (T), Consumed Power (P), and Consumed Energy (E)—are used to compare the chosen word-based multiplier constructions. The obtained results are listed in Table 3. The area and CPD are provided by the synthesis tools. The area of a 2-input NAND gate is used to normalize the area. The needed time to accomplish one product operation can be defined as the total computation time. It is calculated by multiplying latency and CPD together. At a frequency of 1 kHz, the consumed power is measured. The product of P and T yields the consumed energy results.
The performance results achieved in Table 3 can be interpreted as follows:
  • In terms of area (A), the proposed multiplier structure is superior to all existing multiplier structures. It greatly decreases area for all embedded word sizes l, with reduction rates ranging from 67.3% to 97.7%. The reduction in area is primarily due to the proposed multiplier structure’s area, which is mainly determined by the field size l, drastically reducing the number of counted logic gates when compared to most other existing multiplier structures. Furthermore, due to the systolic nature of the suggested multiplier, the majority of its connections are local, leading to a reduction in the area to a large extent.
  • In terms of the area-time product (AT), Pan’s multiplier structure [20] surpasses all other multiplier structures, including the suggested one, at l = 8 . This is mainly attributed to the significant reduction in its latency compared to the other multiplier constructions at this word size. At this embedded size, it outperforms the offered design by 37.9%. The proposed architecture, on the other hand, surpasses Pan’s multiplier structure for l = 16 and l = 32 . At l = 16 , it reduces AT by 26.3%, while at l = 32 , it reduces AT by 49.2%. Furthermore, the suggested multiplier structure outperforms all alternative multiplier structures by percentages ranging from 21.1% to 99.4% based on the embedded word size.The reduction in AT over the other multiplier structures is mainly due to the significant savings in area complexity of the suggested multiplier structure.
  • In terms of consumed power (P), the proposed multiplier outperforms the other multiplier structures at all embedded word sizes. It reduces power consumption at all l values by percentages ranging from 64.4% to 99.5%. The power reduction is attributed to the substantial reduction in the consumed area of the proposed design when compared to the consumed area of the other multiplier designs. The reduced area minimises parasitic capacitance and, as a result, the circuit’s dynamic power significantly reduces. The systolic nature of the proposed design reduces the switching activities of the proposed design compared to the other conventional designs. The switching activities is one of the major parameters that significantly affects the dynamic power consumption.
  • In terms of consumed energy (E), the offered multiplier construction surpasses the other multiplier constructions at all embedded sizes. It saves energy at rates ranging from 70.6% to 99.2%. The energy savings are due to the massive reduction in consumed power and the reasonable computation time of the offered multiplier construction compared to the other multiplier structures.
From the obtained results, we can conclude that the offered multiplier outperforms its competitors in terms of area, consumed power, and consumed energy for all popular embedded word sizes. As a result, the proposed design can be used to efficiently implement crypto-processors in resource-constrained IoT devices such as wearable and implantable devices. It can also be used in other resource-constrained applications that set restrictions on the area and energy consumed.

6. Summary and Conclusions

In this paper, we offered a compact and practical 2-D word-based serial-in/serial-out processor for the finite field multiplier in GF( 2 n ). A rigorous and systematic technique for mapping regular iterative algorithms onto processor arrays is used to create the proposed processor structure. The methodology enables the system developer to manage the overall workload of the processor array system as well as the workload of each processing element. Controlling processor word size allows us to adjust system speed, latency, and area. The recommended processor size can be adjusted to meet the intended chip area, allowing for better implementation of the suggested multiplier processor in resource-constrained IoT devices. The obtained experimental results confirm that the suggested multiplier processor has the benefit of reducing size, power consumption, and utilized energy when compared to the conventional multiplier processor.

7. Future Work

As a future work, we will incorporate the proposed multiplier into the ECC cryptography to evaluate the amount of savings in its area and consumed energy. The process will start by replacing the inversion operation by several multiplication operations by representing the elliptic curve points as projective coordinate points.

Author Contributions

Conceptualization, A.I. and F.G.; methodology, A.I. and F.G.; software, A.I.; validation, A.I. and F.G.; formal analysis, A.I.; investigation, A.I.; resources, A.I.; data curation, A.I.; writing—original draft preparation, A.I.; writing—review and editing, A.I. and F.G.; visualization, A.I. and F.G.; supervision, A.I.; project administration, A.I. and F.G.; and funding acquisition, F.G. All authors have read and agreed to the published version of the manuscript.

Funding

Deputyship for Research & Innovation, Ministry of Education in Saudi Arabia, project number (IF-PSAU-2021/01/17867).

Institutional Review Board Statement

Not Applicable.

Informed Consent Statement

Not Applicable.

Data Availability Statement

Not Applicable.

Acknowledgments

The authors extend their appreciation to the Deputyship for Research & Innovation, Ministry of Education in Saudi Arabia for funding this research work through the project number (IF-PSAU-2021/01/17867).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
IoTInternet of Things
ASICApplication Specific Integrated Circuit
ECCElliptic Curve Cryptography
DGDependency Graph
AOPAll-One Polynomial
VLSIVery Large Scale Integrated Circuit
LCyclic-Shift-Left
DSADigital Signature Algorithm
FFsFlip-Flops
RSARivest, Shamir, and Adleman
SISOSerial-In/Serial-Out
SIPOSerial-In/Parallel-Out
PISOParallel-In/Serial-Out
CPDCritical Path Delay

References

  1. Rondon, L.P.; Babun, L.; Aris, A.; Akkaya, K.; Uluagac, A.S. Survey on enterprise Internet-of-Things systems (E-IoT): A security perspective. Ad Hoc Netw. 2022, 125, 102728. [Google Scholar] [CrossRef]
  2. Sowjanya, K.; Dasgupta, M.; Ray, S. An elliptic curve cryptography based enhanced anonymous authentication protocol for wearable health monitoring systems. Int. J. Inf. Secur. 2020, 19, 129–146. [Google Scholar] [CrossRef]
  3. Rana, M.; Mamun, Q.; Islam, R. Lightweight cryptography in IoT networks: A survey. Future Gener. Comput. Syst. 2022, 129, 77–89. [Google Scholar] [CrossRef]
  4. Omolara, A.E.; Alabdulatif, A.; Abiodun, O.I.; Alawida, M.; Alabdulatif, A.; Alshours, W.H.; Arshad, H. The internet of things security: A survey encompassing unexplored areas and new insights. Comput. Secur. 2022, 112, 102494. [Google Scholar] [CrossRef]
  5. Liu, J.; Liu, H.; Chakraborty, C.; Yu, K.; Shao, X.; Ma, Z. Cascade Learning Embedded Vision Inspection of Rail Fastener by Using a Fault Detection IoT Vehicle. IEEE Internet Things J. 2021. [Google Scholar] [CrossRef]
  6. Heninger, N. RSA, DH, and DSA in the Wild. Cryptology ePrint Archive. 2022. Available online: https://eprint.iacr.org/2022/048.pdf (accessed on 5 February 2022).
  7. Dong, J.; Zheng, F.; Lin, J.; Liu, Z.; Xiao, F.; Fan, G. EC-ECC: Accelerating Elliptic Curve Cryptography for Edge Computing on Embedded GPU TX2. IACM Trans. Embed. Comput. Syst. (TECS) 2022, 21, 1–25. [Google Scholar] [CrossRef]
  8. Chiou, C.W.; Lee, C.Y.; Deng, A.W.; Lin, J.M. Concurrent error detection in Montgomery multiplication over GF(2m). IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2006, E89-A, 566–574. [Google Scholar] [CrossRef]
  9. Kim, K.W.; Jeon, J.C. Polynomial Basis Multiplier Using Cellular Systolic Architecture. IETE J. Res. 2014, 60, 194–199. [Google Scholar] [CrossRef]
  10. Choi, S.; Lee, K. Efficient systolic modular multiplier/squarer for fast exponentiation over GF(2m). IEICE Electron. Express 2015, 12, 1–6. [Google Scholar] [CrossRef] [Green Version]
  11. Kim, K.W.; Kim, S.H. Efficient bit-parallel systolic architecture for multiplication and squaring over GF(2m). IEICE Electron. Express 2018, 15, 1–6. [Google Scholar] [CrossRef] [Green Version]
  12. Mathe, S.E.; Boppana, L. Bit-parallel systolic multiplier over GF(2m) for irreducible trinomials with ASIC and FPGA implementations. IET Circuits Desvices Syst. 2018, 12, 315–325. [Google Scholar] [CrossRef]
  13. Devi, S.; Mahajan, R.; Bagai, D. Low complexity design of bit parallel polynomial basis systolic multiplier using irreducible polynomials. Egypt. Inform. J. 2022, 23, 105–112. [Google Scholar] [CrossRef]
  14. Pillutla, S.R.; Boppana, L. An area-efficient bit-serial sequential polynomial basis finite field GF(2m) multiplier. AEU- Int. J. Electron. Commun. 2020, 114, 153017. [Google Scholar] [CrossRef]
  15. Imana, J.L. LFSR-Based Bit-Serial GF(2m) Multipliers Using Irreducible Trinomials. IEEE Trans. Comput. 2020, 70, 156–162. [Google Scholar]
  16. Pillutla, S.R.; Boppana, L. Low-Hardware Digit-Serial Sequential Polynomial Basis Finite Field GF(2m) Multiplier for Trinomials. Adv. Commun. Signal Process. VLSI Trans. Comput. 2021, 722, 401–410. [Google Scholar]
  17. Kim, C.H.; Hong, C.P.; Kwon, S. A digit-serial multiplier for finite Field GF(2m). IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2005, 13, 476–483. [Google Scholar]
  18. Talapatra, S.; Rahaman, H.; Mathew, J. Low complexity digit serial systolic montgomery multipliers for special class of GF(2m). IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2010, 18, 847–852. [Google Scholar] [CrossRef]
  19. Guo, J.H.; Wang, C.L. Hardware-efficient Systolic Architecture for Inversion and Division in GF(2m). IEE Proc. Comput. Digit. Tech. 1998, 145, 272–278. [Google Scholar] [CrossRef]
  20. Pan, J.S.; Lee, C.Y.; Meher, P.K. Low-Latency Digit-Serial and Digit-Parallel Systolic Multipliers for Large Binary Extension Fields. IEEE Trans. Circuits Syst. 2013, 60, 3195–3204. [Google Scholar] [CrossRef]
  21. Lee, C.Y.; Fan, C.C.; Yuan, S.M. New Digit-Serial Three-Operand Multiplier over Binary Extension Fields for High-Performance Applications. In Proceedings of the 2017 2nd IEEE International Conference on Computational Intelligence and Applications, Beijing, China, 8–11 September 2017; pp. 498–502. [Google Scholar]
  22. Lee, C.Y. Super digit-serial systolic multiplier over GF(2m). In Proceedings of the 2012 Sixth International Conference on Genetic and Evolutionary Computing, Kitakyushu, Japan, 25–28 August 2012; pp. 509–513. [Google Scholar]
  23. Xie, J.; Meher, P.K.; Mao, Z. Low-latency high-throughput systolic multipliers over GF(2m) for NIST recommended pentanomials. IEEE Trans. Circuits Syst. 2015, 62, 881–890. [Google Scholar] [CrossRef]
  24. Namin, A.H.; Wu, H.; Ahmadi, M. A word-level finite field multiplier using normal basis. IEEE Trans. Comput. 2011, 60, 890–895. [Google Scholar] [CrossRef]
  25. Lee, C.Y.; Chiou, C.W.; Lin, J.M.; Chang, C.C. Scalable and systolic Montgomery multiplier over generated by trinomials. IET Circuits Devices Syst. 2007, 1, 477–484. [Google Scholar] [CrossRef]
  26. Chen, L.H.; Chang, P.L.; Lee, C.Y.; Yang, Y.K. Scalable and systolic dual basis multiplier Over GF(2m). Int. J. Innov. Comput. Inf. Control 2011, 7, 1193–1208. [Google Scholar]
  27. Bayat-Sarmadi, S.; Kermani, M.M.; Azarderakhsh, R.; Lee, C.Y. Dual-Basis Superserial Multipliers for Secure Applications and Lightweight Cryptographic Architectures. IEEE Trans. Circ. Syst.-II 2014, 61, 125–129. [Google Scholar] [CrossRef]
  28. Ibrahim, A.; Gebali, F. Scalable and Unified Digit-Serial Processor Array Architecture for Multiplication and Inversion over GF(2m). IEEE Trans. Circuits Syst. I Regul. Pap. 2017, 22, 2894–2906. [Google Scholar] [CrossRef]
  29. Gebali, F. Algorithms and Parallel Computers; John Wiley: New York, NY, USA, 2011. [Google Scholar]
  30. Ibrahim, A.; Elsimary, H.; Gebali, F. New systolic array architecture for finite field division. IEICE Electron. Express 2018, 15, 1–11. [Google Scholar] [CrossRef] [Green Version]
  31. Ibrahim, A. Scalable digit-serial processor array architecture for finite field division. Microelectron. J. 2019, 85, 83–91. [Google Scholar] [CrossRef]
  32. Meher, P.K.; Lou, X. Low-Latency, Low-Area, and Scalable Systolic-Like Modular Multipliers for GF(2m) Based on Irreducible All-One Polynomials. IEEE Trans. Circuits Syst. I Regul. Pap. 2016, 64, 399–408. [Google Scholar] [CrossRef]
  33. Hua, Y.Y.; Lin, J.M.; Chiou, C.W.; Lee, C.Y.; Liu, Y.H. Low Space-Complexity Digit-Serial Dual Basis Systolic Multiplier over GF(2m) Using Hankel Matrix and Karatsuba Algorithm. IET Inf. Secur. 2013, 7, 75–86. [Google Scholar]
  34. Chen, C.C.; Lee, C.Y.; Lu, E.H. Scalable and Systolic Montgomery Multipliers Over GF(2m). IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2008, E91-A, 1763–1771. [Google Scholar] [CrossRef]
Figure 1. DG of the recommended multiplication algorithm for n = 5 .
Figure 1. DG of the recommended multiplication algorithm for n = 5 .
Sensors 22 02090 g001
Figure 2. Scheduling time for n = 5 and l = 2 .
Figure 2. Scheduling time for n = 5 and l = 2 .
Sensors 22 02090 g002
Figure 3. Scheduling time for n = 5 and l = 4 .
Figure 3. Scheduling time for n = 5 and l = 4 .
Sensors 22 02090 g003
Figure 4. Multiplier SISO processor Structure.
Figure 4. Multiplier SISO processor Structure.
Sensors 22 02090 g004
Figure 5. The structure of Multiplier SISO processor array.
Figure 5. The structure of Multiplier SISO processor array.
Sensors 22 02090 g005
Figure 6. PE logic details.
Figure 6. PE logic details.
Sensors 22 02090 g006
Table 1. I/Os timing for block k.
Table 1. I/Os timing for block k.
I/OTime Instance
North input ( K n )k
East output ( K e )k
West input ( K w ) k + 1
South output ( K s ) k + 1
Table 2. The word-based multipliers’ area and time complexities.
Table 2. The word-based multipliers’ area and time complexities.
DesignTri-StateANDXORMUXsFFsLatencyCPD
Xie [23]0 2 n l 2 n l + 6 n 6 n l + 6 0 4 n l + 4 n + 2 l 2 r + 2 log 2 l ( 1 ) 2 δ X
Pan [20]0 n n n l ( 2 + n ) + l 0 α 1 2 n / l β 1
Hua [33]0 l 2 l 2 + 4 5 l + 1 ( 2 ) 0 α 2 6 l r β 2
Chen [34]0 l 2 + l l 2 + 2 l 2 l ( 3 ) α 3 η 1 β 3
Proposed 2 l + 1 l 2 l 2 + l l + 1 ( 2 l + 5 ) r 1 ) r 2 + r + 1 β 4
(1) r = n l ; (2) The area of a 3-input XOR gate is 1.5 × that of a 2-input XOR gate; (3) In [34], the multiplier employs switches with the same level of complexity as a MUX.
Table 3. Performance results of word-based modular multipliers for n = 508 and various embedded word sizes l.
Table 3. Performance results of word-based modular multipliers for n = 508 and various embedded word sizes l.
MultiplierlLatencyArea (A)CPDTime (T)Power (P)Energy (E)AT%A%AT%P%E
(Kgates)(ps)(ns)(nW)(fJ)
8386110.767.125.9268.572866.497.321.199.482.9
Xie [23]16205174.967.113.7447.46.12396.597.743.699.486.1
32117232.267.17.8568.14.41810.997.847.399.384.6
858115.9245.514301.14.21622.797.4−37.999.572.0
Pan [20]1643147.6290.812.5380.94.81844.597.326.399.382.3
3229195.5336.29.6505.94.91876.997.449.299.286.1
8308,9059.587.326,981.65.2141.3256,864.868.899.170.599.2
Hua [33]16154,45312.487.313,490.87.094.7166,962.167.399.264.499.1
3277,22723.887.36745.413.289.1160,540.579.099.471.299.2
814,21612.165.7933.86.15.711,334.575.580.074.579.4
Chen [34]16437716.165.7287.59.92.94618.774.870.775.070.6
32187131.765.7122.919.02.33890.384.275.580.071.4
832812.9231.8760.51.5471.22262.5----
Proposed168374.0400.2334.82.50.81354.6----
322184.9876.1190.83.80.7953.6----
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ibrahim, A.; Gebali, F. Compact Finite Field Multiplication Processor Structure for Cryptographic Algorithms in IoT Devices with Limited Resources. Sensors 2022, 22, 2090. https://doi.org/10.3390/s22062090

AMA Style

Ibrahim A, Gebali F. Compact Finite Field Multiplication Processor Structure for Cryptographic Algorithms in IoT Devices with Limited Resources. Sensors. 2022; 22(6):2090. https://doi.org/10.3390/s22062090

Chicago/Turabian Style

Ibrahim, Atef, and Fayez Gebali. 2022. "Compact Finite Field Multiplication Processor Structure for Cryptographic Algorithms in IoT Devices with Limited Resources" Sensors 22, no. 6: 2090. https://doi.org/10.3390/s22062090

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop