Abstract
To secure various forms of data, a polymorphic variant of the Advanced Encryption Standard (P-AES) has been introduced. In the P-AES, the AES parameters' values will change with every new key. The exact values will be available only to legitimate communicating parties during execution time. To achieve these objectives, the basic AES transformations, SubBytes, ShiftRows, and MixColumns, have been made key-dependent in the proposed P-AES. Hence, with every new key, these transformations will operate differently. The receiver can retrieve the operations' details from the encryption key. Consequently, polymorphism has been achieved and interoperability remains intact. P-AES has been implemented seamlessly using the existing AES modules, and the performance was more or less equal to the AES performance (71 and 70 milliseconds to encrypt 500 bytes using the P-AES and the AES respectively). From a security standpoint, the proposed P-AES fully complies with Kerckhoff's principle. This means the cipher has an open design, and the security provided by the P-AES depends only on the secrecy of the encryption key. The cipher resistance to differential and linear attacks has been proved. Moreover, the resulting proposed cipher can operate in 128 different ways, which will significantly reduce the capabilities of any sophisticated attacker. Furthermore, the proposed P-AES's scores of the key avalanche and the plaintext avalanche were 0.496 and 0.504 respectively. Finally, the Statistical Test Suite (STS) recommended by the NIST has been used to ensure the randomness of the cipher output, and the cipher has passed all the STS tests.
Highlights
Nowadays, due to the convenience introduced by Internet technologies and computer networks, exchanging various forms of data has increased drastically
Codes for traditional AES and the proposed polymorphic variant of the Advanced Encryption Standard (P-AES) implementations were written to accurately benchmark the performance of the proposed P-AES compared to the traditional AES
The functions QueryPerformanceCounter() and QueryPerformanceFrequency() are both used to measure the time elapsed for encryption and decryption
Summary
Due to the convenience introduced by Internet technologies and computer networks, exchanging various forms of data has increased drastically. According to [1], 60% of the web pages and 70% of the mobile phone traffic are multimedia data, which, in turn, lead to a significant increase in payload volumes. The measures used to secure the increasing volumes of traffic must always be revised and updated to assure the security of the communicating parties’ communications [1], [2]. Availability security services [3]. These services are typically provided using a suitable mechanism or set of mechanisms. Typically encryption is used to provide confidentiality security services [4]–[6]
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.