| Literature DB >> 35408148 |
Anissa Sghaier1, Medien Zeghid1,2, Chiraz Massoud1, Hassan Yousif Ahmed2, Abdellah Chehri3, Mohsen Machhout1.
Abstract
The advent of the Internet of Things (IoT) has enabled millions of potential new uses for consumers and businesses. However, with these new uses emerge some of the more pronounced risks in the connected object domain. Finite fields play a crucial role in many public-key cryptographic algorithms (PKCs), which are used extensively for the security and privacy of IoT devices, consumer electronic equipment, and software systems. Given that inversion is the most sensitive and costly finite field arithmetic operation in PKCs, this paper proposes a new, fast, constant-time inverter over prime fields Fp based on the traditional Binary Extended Euclidean (BEE) algorithm. A modified BEE algorithm (MBEEA) resistant to simple power analysis attacks (SPA) is presented, and the design performance area-delay over Fp is explored. Furthermore, the BEE algorithm, modular addition, and subtraction are revisited to optimize and balance the MBEEA signal flow and resource utilization efficiency. The proposed MBEEA architecture was implemented and tested on Xilinx FPGA Virtex #5, #6, and #7 devices. Our implementation over Fp (length of p = 256 bits) with 2035 slices achieved one modular inversion in only 1.12 μs on Virtex-7. Finally, we conducted a thorough comparison and performance analysis to demonstrate that the proposed design outperforms the competing designs, i.e., has a lower area-delay product (ADP) than the reported inverters.Entities:
Keywords: ADP; BEEA; FPGA; IoT; PKCs; SPA; modular addition and subtraction; modular inversion; prime field
Year: 2022 PMID: 35408148 PMCID: PMC9002486 DOI: 10.3390/s22072535
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Modular inversion methods in .
Comparison between FLT, EEA, and BEEA methods.
| FLT | EEA | BEEA |
|---|---|---|
|
More complicated than EEA Slower (consumes a lot of time compared to EEA) Uses a large number of repetitive multiplications Secure against SPA and timing attack |
More efficient than FLT Very fast and commonly used for large operands |
Suitable for hardware implementation because it replaced expensive divisions with shift-right operations Faster than EEA Less complicated (uses only ordinary additions and subtractions) No need for multiplications or divisions |
Figure 2UML class diagram of IoT/modular inversion/SPA.
Figure 3Proposed MBEEA architecture.
Values of m and S for n = 4, 8, 16, 32, 64, 128, and 256 bits.
|
|
|
|
|---|---|---|
| 4 | 2 | 1,2 |
| 8 | 3 | 1,2,4 |
| 16 | 4 | 1,2,4,8 |
| 32 | 5 | 1,2,4,8,16 |
| 64 | 6 | 1,2,4,3,16,32 |
| 128 | 7 | 1,2,4,3,16,32,64 |
| 256 | 8 | 1,2,4,3,16,32,64,128 |
Figure 4Eight-bit G-KSA/S data-path.
Figure 5MBEEA state machine.
Comparison of the proposed and existing G-KSA/S designs for different prime field lengths.
| Designs | Platform | Area (Slices) | Delay (ns) | ADP (10−9) | Gain % | |
|---|---|---|---|---|---|---|
| [ | Spartan-3E | 8 | 83 | 5.776 | 479.408 | |
| G-KSA/S | Spartan-3E | 47 | 3.6 | 169.2 | 74.71% | |
| [ | Spartan-3E | 16 | 166 | 10.85 | 1801.1 | |
| G-KSA/S | Spartan-3E | 98 | 7.3 | 715.4 | 61.28% | |
| [ | Spartan-3E | 32 | 332 | 20.56 | 6825.92 | |
| G-KSA/S | Spartan-3E | 174 | 12.3 | 2140.2 | 68.65% | |
| [ | Virtex-5 | 64 | 449 | 30.5 | 13,694.5 | |
| G-KSA/S | Virtex-5 | 289 | 27.9 | 8063.1 | 41.13% | |
| [ | Virtex-5 | 128 | 1111 | 57.3 | 63,660.3 | |
| G-KSA/S | Virtex-5 | 641 | 64.4 | 41,280.4 | 35.16% | |
| [ | Virtex-5 | 256 | 1345 | 106.7 | 143,511.5 | |
| G-KSA/S | Virtex-5 | 737 | 139 | 102,443 | 28.62% |
FPGA implementation performance for the proposed design in Virtex-7.
| Design | n = Bit Length of | Freq. (MHz) | Area (Slices) | Latency (μs) |
|---|---|---|---|---|
| 8 | 530 | 545 | 0.179 | |
| 16 | 480 | 770 | 0.27 | |
|
| 32 | 420 | 1060 | 0.346 |
| 64 | 380 | 1237 | 0.428 | |
| 128 | 310 | 1532 | 0.851 | |
| 256 | 250 | 2035 | 1.24 |
Figure 6Logic gates versus .
Performance analysis of the proposed and the existing modular inversion designs over F256.
| Ref. | FPGA Device | Freq | Time | Area | ADP |
|---|---|---|---|---|---|
| [ | Virtex-7 | 146.23 | 2.329 | 1480 | 3.44 |
| [ | Kintex 7 | 142.38 | 2.33 | 1480 | 3.45 |
| [ | Virtex-6 | 151 | 3.39 | 1190 | 4.04 |
| [ | Virtex-6 | 146 | 3.52 | 1340 | 4.72 |
| [ | Virtex-5 | 129 | 7.937 | 592 | 4.7 |
| [ | Virtex-7 | 138.3 | 2.45 | 1577 | 3.87 |
| [ | Virtex-II | 55.70 | 6.2 | 5863 | 36.35 |
| [ | Virtex-II | 37 | 4.98 | 9213 | 45.88 |
| [ | Virtex-II | 68.17 | 11.60 | 2085 | 24.19 |
| [ | Virtex-II | 34 | 14.6 | 9146 | 133.53 |
| [ | Virtex-II | 40.68 | 15.22 | 14,844 | 225.26 |
| [ | Virtex-II | 50 | 6.4 | 5477 | 35 |
| MBEEA | Virtex-E | 106 | 2.92 | 2830 | 8.26 |
| MBEEA | Virtex-II | 175 | 1.77 | 2530 | 4.47 |
| MBEEA | Virtex-5 | 208 | 1.49 | 2318 | 3.45 |
| MBEEA | Virtex-6 | 240 | 1.29 | 2140 | 2.76 |
| MBEEA | Virtex-7 | 276 | 1.12 | 2035 | 2.28 |