| Literature DB >> 34960447 |
Thanikodi Manoj Kumar1, Kavitha Rani Balmuri2, Adam Marchewka3, Parameshachari Bidare Divakarachari4, Srinivas Konda5.
Abstract
Nowadays, a large number of digital data are transmitted worldwide using wireless communications. Therefore, data security is a significant task in communication to prevent cybercrimes and avoid information loss. The Advanced Encryption Standard (AES) is a highly efficient secure mechanism that outperforms other symmetric key cryptographic algorithms using message secrecy. However, AES is efficient in terms of software and hardware implementation, and numerous modifications are done in the conventional AES architecture to improve the performance. This research article proposes a significant modification to the AES architecture's key expansion section to increase the speed of producing subkeys. The fork-join model of key expansion (FJMKE) architecture is developed to improve the speed of the subkey generation process, whereas the hardware resources of AES are minimized by avoiding the frequent computation of secret keys. The AES-FJMKE architecture generates all of the required subkeys in less than half the time required by the conventional architecture. The proposed AES-FJMKE architecture is designed and simulated using the Xilinx ISE 5.1 software. The Field Programmable Gate Arrays (FPGAs) behaviour of the AES-FJMKE architecture is analysed by means of performance count for hardware resources, delay, and operating frequency. The existing AES architectures such as typical AES, AES-PNSG, AES-AT, AES-BE, ISAES, AES-RS, and AES-MPPRM are used to evaluate the efficiency of AES-FJMKE. The AES-FJMKE implemented using Spartan 6 FPGA used fewer slices (i.e., 76) than the AES-RS.Entities:
Keywords: advanced encryption standard; data security; field programmable gate arrays; fork–join model of key expansion; hardware resources; propagation delay
Year: 2021 PMID: 34960447 PMCID: PMC8706429 DOI: 10.3390/s21248347
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Types of AES algorithm.
| AES Types | Key Sizes | Rounds (Nr) | No. of Key (Nr + 1) |
|---|---|---|---|
| AES-128 | 128 | 10 | 11 |
| AES-192 | 192 | 12 | 13 |
| AES-256 | 256 | 14 | 15 |
Figure 1Typical key expansion architecture.
R constant values for different rounds in AES–128.
| Round | Rcon | Round | Rcon |
|---|---|---|---|
| 1 | (01000000)16 | 6 | (20000000)16 |
| 2 | (02000000)16 | 7 | (40000000)16 |
| 3 | (04000000)16 | 8 | (80000000)16 |
| 4 | (08000000)16 | 9 | (1B000000)16 |
| 5 | (10000000)16 | 10 | (36000000)16 |
Figure 2Architecture of AES-FJMKE.
Figure 3FJMKE for AES-128.
Figure 4Subkeys generation, (a) W4, (b) W5, (c) W6, and (d) W7.
Analysis of used resources for AES-FJMKE designed in Virtex devices.
| Virtex FPGA Devices | FPGA Performances | Used Resources | Available Resources | Total Usage (%) |
|---|---|---|---|---|
| Virtex 4 FPGA | Number of slice registers | 8452 | 10,944 | 77.22 |
| Flip Flops | 8452 | 10,944 | 77.22 | |
| Number of slice LUTs | 7415 | 10,944 | 67.75 | |
| Number of logical elements | 7415 | 10,944 | 67.75 | |
| Slices | 3847 | 5472 | 70.3 | |
| Bonded IOB | 135 | 240 | 56.25 | |
| Virtex 5 FPGA | Number of slice registers | 18,237 | 28,800 | 63.32 |
| Flip Flops | 18,237 | 28,800 | 63.32 | |
| Number of slice LUTs | 14,011 | 28,800 | 48.64 | |
| Number of logical elements | 14,011 | 28,800 | 48.64 | |
| Slices | 4850 | 7200 | 67.36 | |
| Bonded IOB | 102 | 480 | 21.25 | |
| Virtex 6 FPGA | Number of slice registers | 2700 | 93,120 | 2.89 |
| Flip Flops | 2700 | 93,120 | 2.89 | |
| Number of slice LUTs | 8269 | 46,560 | 17.75 | |
| Number of logical elements | 8254 | 46,560 | 17.72 | |
| Slices | 966 | 11,640 | 8.29 | |
| Bonded IOB | 89 | 240 | 37.08 |
Analysis of used resources for AES-FJMKE designed in Spartan devices.
| Spartan FPGA Devices | FPGA Performances | Used Resources | Available Resources | Total Usage (%) |
|---|---|---|---|---|
| Spartan 3 FPGA | Number of slice registers | 523 | 3840 | 13.61 |
| Flip Flops | 541 | 3840 | 14.08 | |
| Number of slice LUTs | 1859 | 3840 | 48.41 | |
| Number of logical elements | 1859 | 3840 | 48.41 | |
| Slices | 972 | 1920 | 50.62 | |
| Bonded IOB | 58 | 141 | 41.13 | |
| Spartan 6 FPGA | Number of slice registers | 78 | 18,224 | 1 |
| Flip Flops | 81 | 18,224 | 1 | |
| Number of slice LUTs | 189 | 9112 | 2.07 | |
| Number of logical elements | 197 | 9112 | 2.16 | |
| Slices | 76 | 2278 | 3.33 | |
| Bonded IOB | 123 | 18,224 | 1 |
Analysis of used resources for AES-FJMKE designed in Kintex 7 devices.
| FPGA Performances | Used Resources | Available Resources | Total Usage (%) |
|---|---|---|---|
| Number of slice registers | 7087 | 82,000 | 8.64 |
| Flip Flops | 7074 | 82,000 | 8.62 |
| Number of slice LUTs | 8104 | 41,000 | 19.76 |
| Number of logical elements | 8104 | 41,000 | 19.76 |
| Slices | 451 | 10,250 | 4.4 |
| Bonded IOB | 204 | 300 | 68 |
Examination of delay and operating frequency for AES- FJMKE.
| FPGA Devices | Delay (ns) | Operating Frequency (MHz) |
|---|---|---|
| Virtex 4 | 14.568 | 521.730 |
| Virtex 5 | 2.402 | 751.247 |
| Virtex 6 | 3.133 | 449.309 |
| Spartan 3 | 3.229 | 101.491 |
| Spartan 6 | 1.916 | 210.433 |
| Kintex 7 | 2.540 | 97.308 |
Figure 5Simulation waveform of generated keys of AES-FJMKE designed in Virtex 4.
Figure 6Overall simulation waveform of AES-FJMKE architecture.
Results of cipher text for AES-FJMKE architecture.
| Plain Text | Secret Key | Cipher Text |
|---|---|---|
| AD7532B3317176A831E2120013AA5481 | 2475A2B33475568831E2120013AA5481 | 515A192D6D2D880829A993A9D0D16F12 |
| AD7532B3317176A831E2120013AA5481 | 6D353AA3B35952E831C611013AA5481 | 7C812B1650C6CDF37A793776497E58B2 |
Evaluation of AES-FJMKE and AES-PNSG for Virtex 4.
| Performances | AES-PNSG [ | AES-FJMKE |
|---|---|---|
| Operating frequency (MHz) | 214.48 | 521.730 |
| Slices | 20,818 | 2592 |
Evaluation of AES-FJMKE and AES-AT for Virtex 5.
| FPGA Performances | AES-AT [ | AES-FJMKE |
|---|---|---|
| Operating frequency (MHz) | 622.4 | 751.247 |
| Slice LUTs | 14,966 | 14,011 |
| Slice registers | 19,123 | 18,237 |
| Slices | 5974 | 4850 |
Comparison of AES-FJMKE and AES-BE for Virtex 6.
| Performances | Typical AES [ | AES-BE [ | AES-FJMKE |
|---|---|---|---|
| Operating frequency (MHz) | 312.061 | 315.806 | 449.309 |
| Delay (ns) | 3.205 | 3.167 | 3.133 |
| Slice LUTs | 9717 | 9393 | 8269 |
| Slice registers | 2688 | 2688 | 2700 |
Comparison of AES-FJMKE and ISAES for Spartan 3.
| FPGA Performances | ISAES [ | AES-FJMKE |
|---|---|---|
| Operating frequency (MHz) | 67.75 | 101.491 |
| Slices | 1132 | 972 |
| Slice LUTs | 2156 | 1859 |
| Flip Flops | 680 | 541 |
| IoB | 389 | 58 |
Comparison of AES-FJMKE and AES-RS for Spartan 6.
| FPGA Performances | AES-RS [ | AES-FJMKE |
|---|---|---|
| Operating frequency (MHz) | 120 | 210.433 |
| Slices | 108 | 76 |
| Slice LUTs | 230 | 189 |
| Flip Flops | 92 | 81 |
Comparison of AES-FJMKE and AES-MPPRM for Kintex 7.
| Performances | AES-MPPRM [ | AES-FJMKE |
|---|---|---|
| Operating frequency (MHz) | 81.328 | 97.308 |
| Delay (ns) | 2.982 | 2.540 |
| Slice registers | 7120 | 7087 |
| Flip Flops | 7119 | 7074 |
| Slice LUTs | 8129 | 8104 |
| Logical elements | 8129 | 8104 |
| Slices | 467 | 451 |
| Bonded IOB | 211 | 204 |
Figure 7Graphical illustration of Slice LUTs.
Figure 8Input data, (a) Leg X-ray image, (b) Histogram.
Figure 9Output data, (a) encrypted image, (b) histogram.