1. Introduction
With the advancement of IoT technology, an increasing array of smart devices has become part of our daily lives, including smart homes, smart watches, and smart vehicles. These devices typically have resource constraints, requiring the use of lightweight cryptographic algorithms to ensure device security while efficiently utilizing computational and storage resources. In specific application domains such as wireless sensor networks, medical devices, and industrial control systems, the requirements for cryptographic algorithms are even more stringent. Devices in these domains often have limited resources and require lightweight cryptographic algorithms to meet the demands of security and efficiency. Traditional encryption algorithms typically require significant computational resources and energy consumption. In contrast, lightweight cryptographic algorithms aim to minimize the need for computation and storage resources in their design, thereby enhancing device energy efficiency. For battery-powered mobile and IoT devices, the adoption of lightweight cryptographic algorithms can help achieve a balance in Quality of Service (QoS). Traditional sequence ciphers usually use intricate algorithms and structures, which demand substantial computational resources and time. They also require a significant amount of storage space to store keys, states, intermediate results, and other information. This leads to increased energy consumption in devices due to numerous computations and data access operations. In contrast, lightweight sequence ciphers are specifically designed for resource-constrained environments, providing greater computational efficiency. They can efficiently encrypt and decrypt data using minimal computational resources by simplifying algorithms, reducing key lengths, and minimizing storage space requirements. This effectively reduces device energy consumption and extends battery life. While lightweight sequence ciphers aim to achieve simplicity and efficiency in design, they still maintain a high level of security. They undergo thorough evaluation and analysis to defend against common attack methods and provide robust encryption protection to meet the security requirements of resource-constrained environments.
1.1. Problem Description
Symmetric cryptography, as the most widely applied and researched cryptographic scheme in everyday life, plays a crucial role in safeguarding sensitive information during transmission and processing to prevent privacy breaches; however, existing symmetric cryptographic algorithms face several challenges, including high computational complexity, resource consumption, and encryption/decryption latency. These issues stem from the following design structures:
Cryptographic algorithms often involve intricate multiplication operations that are challenging to implement;
The encryption process in cryptographic algorithms typically necessitates multiple iterations or rounds.
As a result, traditional cryptographic algorithms are ill-suited for deployment on microdevices and resource-constrained IoT devices. Consequently, lightweight cryptography specifically tailored for resource-constrained and low-computing-power devices has emerged. Its primary objective is to reduce the complexity of cryptographic algorithms and minimize encryption/decryption latency and energy consumption in cryptographic deployments. In situations with limited computing power, cryptographic algorithms with higher computational complexity invariably lead to longer encryption latency, resulting in increased time for data processing and transmission.
AES (Advanced Encryption Standard) serves as a typical traditional cryptographic algorithm that employs iterative round functions as design components. Subkeys, generated using the key K as the seed, participate in the iterations of the encryption/decryption process. While such symmetric algorithms exhibit high computational complexity, they provide the required strong security capabilities. In response to the call by NIST for lightweight cryptographic designs and the demand for lightweight cryptography deployments on microdevices and resource-constrained IoT devices, various cryptographic algorithms from different research fields have been proposed and adopted.
To reduce resource consumption, most of these lightweight algorithms utilize static cryptographic components, emphasizing the minimization of cryptographic iterations while ensuring security. The use of dynamic design logic can expedite the reduction in the number of iterations; however, this introduces variable encryption components (units/logic). In such cases, both software and hardware implementations may necessitate more device resources.
1.2. Current Research Status
In the late 1980s and 1990s, to meet practical application needs, A5/1 was applied in the field of mobile communications and known as the GSM encryption algorithm. While the A5/1 algorithm was once considered secure, it has since been proven vulnerable to timing attacks. WG-7 [
1] is a cipher designed by Luo et al. in 2010. It is suitable for low-energy devices. It has an 80-bit key length and adopts a filter generator structure design. Its LFSR is defined in the finite field GF (2
7), and the nonlinear filter function uses the WG transformation. However, the filter generator structure is susceptible to fast correlation attacks and algebraic attacks, and WG-7 was quickly attacked after its publication. A2U2 is a lightweight stream cipher proposed by Mathieu et al. in 2011 [
2], specifically designed for encrypting RFID electronic tags. It has very low hardware implementation costs, requiring only 284 GE, making it one of the lightest stream cipher algorithms. Abdelraheem et al. [
3] significantly reduced the time complexity of real-time key recovery attacks on A2U2 under known plaintext attack patterns to 224. This means that attacks against this cipher can recover the entire key within seconds on a personal PC; the A2U2 algorithm has been completely broken. In 2004, the European Science Foundation initiated a cryptography project called the eSTREAM project, aiming to design and evaluate stream cipher algorithms to provide a series of efficient, secure, and reliable stream cipher algorithms to meet various application needs. After multiple rounds of competitions and evaluations, 20 excellent stream cipher algorithms were selected as the official recommended algorithms of the eSTREAM project. Grain-v1 [
4] is one of the final seven selected algorithms in the eSTREAM project. It has high security characteristics. The initial version, Grain-v0, had vulnerabilities in the logical structure of its nonlinear feedback function g(×) and nonlinear filter function h(×), which made it susceptible to correlation attacks. However, the Grain structure has received widespread attention and has been proven to be relatively secure. Trivium algorithm, proposed by Canniere et al. [
5], is another excellent candidate algorithm in the eSTREAM project. It combines shift registers and Boolean functions based on block ciphers, providing efficient hardware implementation and strong security. MICKEY 2.0 algorithm, introduced by Babbage et al. [
6], supports configurations with different key lengths and initialization vector lengths, allowing for flexible adjustments according to specific application security requirements. Gimli algorithm, proposed by Bernstein et al. [
7], is a lightweight cipher based on permutations (such as bit-level, byte-level, and column-level permutations). It uses a triple iteration structure to enhance the security of the cipher structure. Salsa20 algorithm, introduced by Bernstein et al. [
8], is a high-speed and secure stream cipher widely used in communication and data protection fields. It has a simple structure, efficient hardware implementation, and provides strong security and resistance against attacks. ChaCha [
9] is a variant of the Salsa20 stream cipher. It incorporates parallel and bitwise operations and consists of a matrix permutation operation and an iteration round function in its logical design. It demonstrates efficiency in both hardware and software implementations and offers improved security and resistance against attacks.
Current research in non-lightweight cryptography spans various domains, including traditional stream ciphers, quantum cryptography, and image data encryption. In the realm of traditional stream ciphers, in 2019, Kholidy and colleagues previously proposed “ULTRA GRIDSEC”. This solution also secures data transfer within their newly developed peer-to-peer desktop grid framework “HIMAN”. In [
10], the authors analyzed and evaluated the scheme, showed the different factors that affect its performance, covered the scheme’s efficiency from a security perspective, and introduced the experimental results of two encryption algorithms. In the same year, Hell and his team [
11] proposed Grain-128AEAD, designed for encrypting and authenticating messages, which incorporates certain improvements to bolster security while complying with the NIST’s standardization requirements. The image encryption technology, based on high-capacity data hiding [
12], was proposed by D. Xiao et al. and applies traditional stream ciphers and compression coding encryption, thereby expanding the application of stream ciphers in the field of image encryption. In 2020, Jiao L et al. [
13] pointed out that stream ciphers exhibit significant advantages in terms of speed and scale in hardware implementation as cryptographic algorithms. However, with the increasingly complex application environments, challenges are posed to existing cryptographic algorithms, necessitating the development of new and suitable designs. Meanwhile, Liu et al. [
14] presented a cipher algorithm, introducing innovation into the field of stream ciphers. In the domain of quantum cryptography, Tanizawa [
15] and Futami [
16] introduced applications of digital coherent PSK Y-00 quantum stream ciphers and Y-00 quantum-noise randomized stream ciphers. These applications highlight their potential utility in optical communications and physical layer security, underscoring the increasing interest in quantum cryptography for data protection. In the field of image data encryption, Khedr and colleagues [
17] introduced a new efficient and configurable image encryption structure in 2020, while in 2022, Ding et al. [
18] proposed a stream cipher generator based on deep learning for encrypting and decrypting medical images. These developments reflect the growing demand for safeguarding sensitive data, particularly in the domain of medical imaging. In the realm of cryptographic attacks, a new algebraic attack against the Trivium stream cipher was introduced [
19]. In terms of research directions, probabilistic constellation shaping for quantum-noise stream key generation was utilized [
20], and researchers are exploring stream ciphers for rapid Fully Homomorphic Encryption (FHE) evaluation [
21], which holds significant implications for privacy protection and secure computation.
1.3. The Proposal of SC-SA
Linear Feedback Shift Register and Nonlinear Feedback Shift Register are commonly employed structures in stream ciphers. LFSR, rooted in feedback from linear shift registers, updates register bit values through XOR operations between the current state and the linear feedback function output, generating a pseudo-random sequence. Its hardware implementation requires minimal gate circuits, minimizing resource utilization and facilitating high-speed pseudo-random sequence generation.
However, LFSR-generated pseudo-random sequences exhibit periodicity, with the period length determined by the register’s size. Adjusting the register length caters to cipher design requirements. Despite its efficiency, LFSR’s predictability arises from its linear structure, allowing attackers to deduce the initial state and linear feedback function by analyzing the output sequence. Consequently, attackers can reproduce the same pseudo-random sequence.
On the contrary, NFSR introduces nonlinearity into the feedback function, enhancing resistance against attacks compared to LFSR. Complex operations like substitution boxes or Boolean functions contribute to the cryptographic security of the stream cipher. NFSR’s nonlinearity introduces a higher level of confusion and diffusion, complicating sequence analysis and prediction for potential attackers.
The Nonlinear Feedback Shift Register (NFSR) is a cryptographic structure commonly employed in stream cipher designs to augment the complexity and security of cryptographic algorithms. NFSR updates register bit values by executing operations between the current state and a nonlinear function. In contrast to LFSR-based cipher structures, NFSR employs nonlinear feedback functions, rendering the output sequence more challenging to predict. The incorporation of nonlinearity elevates the cipher algorithm’s complexity, rendering linear analysis attacks that exploit linear relationships more difficult to execute. NFSR’s nonlinear characteristics provide robust resistance against linear analysis, thereby enhancing its ability to withstand various attacks.
In stream ciphers, NFSR is frequently utilized to bolster the security of cryptographic algorithms. By introducing nonlinear functions and cascading multiple registers, NFSR enhances cryptographic strength and fortifies the algorithm’s resilience against attacks. Cipher algorithms adopting the LFSR and NFSR structures, such as RC4 [
22] and Grain, find widespread use in practical applications. These algorithms carefully select register lengths and nonlinear functions to meet diverse security requirements.
The Feedback with Carry Shift Register (FCSR) shares similarities with NFSR, utilizing a nonlinear function as the feedback function to map the current register state to the subsequent moment’s state. In FCSR, each bit corresponds to a feedback function output, typically a nonlinear Boolean function with arbitrary complexity. The output of each bit undergoes XOR with the corresponding feedback function output, accumulating with a carry bit, serving as the input for the corresponding bit position in the next moment.
In practical applications, combining LFSR and NFSR enhances the security and efficiency of stream ciphers. The incorporation of both linear and nonlinear components in the resulting cipher achieves a balance between computational complexity, security, and resource utilization. This balanced approach provides robust encryption capabilities suitable for a variety of applications.
Lightweight sequence ciphers based on shift registers are better suited for hardware implementation. In software implementation, using 1-bit shifts in shift registers can significantly reduce the cipher’s efficiency. Nonlinear feedback functions in sequence ciphers based on registers also face performance degradation issues in software implementation. Directly porting shift-register-based cipher algorithms to IoT devices is not straightforward due to the underlying heterogeneity in computing architecture and word size. Software-based cipher algorithms exhibit better adaptability to this heterogeneity. By inheriting the design principles of LFSR and Feedback with Carry Shift Register (FCSRS), cipher algorithms can be designed for software platforms, leveraging mature cipher algorithm concepts.
While most lightweight ciphers are initially designed for hardware implementation, the escalating trend of heterogeneity in IoT devices poses a significant challenge. These devices utilize diverse processor platforms, architectures, and models, making it difficult to adopt a unified solution that incorporates built-in cryptographic acceleration modules. Moreover, the security of IoT devices is a paramount concern, especially for those lacking built-in cryptographic modules or relying on outdated ones. The inflexibility in deploying lightweight ciphers impedes their ability to fully exploit the advantages of cryptographic design. Designing a lightweight cryptographic algorithm with easy deployability and emphasizing software implementation emerges as an effective solution to tackle security issues such as data information leakage in heterogeneous and resource-constrained IoT devices. The objective of this paper is to design a sequence cipher algorithm (SC-SA) specifically for resource-constrained IoT devices and heterogeneous devices. SC-SA demonstrates superior software implementation performance. Moreover, the cipher algorithm incorporates nonlinear operations and transformations, such as addition and S-box substitution, to enhance resistance against stronger cryptographic attacks. Additionally, SC-SA involves only one round of iteration in the key-stream generation process after the key obfuscation phase, aligning with the requirements of real-time applications.
SC-SA utilizes an 80-bit key length, which strikes a balance between computational complexity and security in cipher design. By default, the user needs to input 80 binary values. If the user wishes to use “characters” as the key, they can be converted using a custom Hash algorithm. This key length can meet the security requirements of the majority of resource-constrained devices. In the key distribution and padding phase of SC-SA, the initial key is used to fill the 8-byte Queue T (bytes in Queue T follow the properties of a queue, where elements enter at the tail and exit at the head), the 1-byte Index Data Group A, and the State Data Group V. The overall logical structure is roughly illustrated in
Figure 1.
2. SC-SA Cipher
For real-time applications and resource-constrained IoT devices, choosing a lower value for K is preferable while ensuring security requirements. As shown in
Figure 2, the j-th ciphertext block
is obtained by mixing the j-th plaintext block
with the j-th generated key stream block (State Data Grouping)
. Please refer to Equation (1) for a detailed explanation of this process.
The generated key stream (State Data Group V) iteratively updates, with the i-th group vector updated by the (I + 1)-th group vector. The proposed stream cipher consists of two sub-functions:
Round Function (RF): when the key is filled in, the cryptographic algorithm enters an iterative operation so that the values stored in the array can be randomized;
Update Vector Function (UVF): a vector update is performed for every output of the State Data Group.
This section describes the initialization of the cryptographic key and the key confusion process before generating the key stream. The key confusion process in this paper is referred to as the Round Function (RF), and one round of processing is illustrated in
Figure 2 above. In the cryptographic scheme proposed in this paper, the RF needs to iterate 80 times during the key confusion phase to meet the designed cryptographic security strength. In the key stream output phase, described as the Update Vector Function (UVF) in this paper, the processing is depicted in
Figure 3.
Round Function (RF): During the initial key padding phase, the 80-bit initial key K is divided into 64 bits, 8 bits, and 8 bits, which are used to pad Queue T, Index Data Group A, and state group V, respectively. Subsequently, iterative processing for key confusion will take place, and the detailed process will be explained in the following text. Let T [i] represent the value of the i-th byte data in the Queue T, V [i] represent the value of the i-th bit in the State Data Group V, A [i] represent the value of the i-th bit in the Address Data Group A, and T [i][j] represent the value of the j-th bit of the i-th byte in the Queue T.
Step 1: when the Index Data Group A and State Data Group V are initialized or updated, the values of the (A + 1)-th and (V + 1)-th numbers in the S-box (with indexing starting from 0) are swapped, denoted as Swap (S[A],S [V]);
Step 2: through the previous step, the mapping (substitution) relationship represented by the S-box is obfuscated once, and the value of S [V] is used to update the State Data Group V, denoted as V = S [V];
Step 3: Through the previous step, the values in the State Data Group V are updated, and when storing them in the Queue T, they are inserted at the tail of the Queue T [7]. Before that, make sure to remove and assign the head of the Queue T [0] to the Index Data Group A, denoted as A = T.pop (), T.push (V);
Step 4: Through the previous step, the values of the Index Data Group A are updated, and the data in the Queue T are updated. In software-implemented cryptographic algorithms, arithmetic addition has a significant advantage in enhancing the nonlinearity of the cipher. The iterative update of the State Data Group V uses arithmetic addition, denoted as V = V⊕A + 0b01111111, where 0b01111111 is binary for 127. In the iterative update of the Index Data Group A, A [0]~A [7] take values from T [0][2], T [1][4], T [2][0], T [3][6], T [4][1], T [5][3], T [6][7], and T [7][5], denoted as A = T [0][2]||T [1][4]||T [2][0]||T [3][6]||T [4][1]||T [5][3]||T [6][7]||T [7][5];
Step 5: If the iteration round is less than or equal to 80, proceed to the first step; otherwise, begin the Update Vector Function (UVF) of the cryptographic algorithm, output the key stream, and perform XOR with plaintext data. Details of the Update Vector Function (UVF) will be explained later, the round function of the cipher is shown in Algorithm 1.
Algorithm 1: Round function of the cipher. |
Input: Key K, Substitution Table S Output: Substitution Table S, Queue T, Address Data Group A, State Data Group V. Procedure RF(K, S) for do end for return S, T, A, V end procedure |
Update Vector Function (UVF):
Step 1: When the iterative processing of the cipher’s Round Function is completed, at this point, the Index Data Group A and State Data Group V are in their updated states. The State Data Group is used as the key stream for encrypting the plaintext sequence. Let C represent the ciphertext and P represent the plaintext. The encryption process can be represented by Formula (2), as follows:
Step 2: during the vector group update process, to make the update process more nonlinear, let the Index Data Group A undergo arithmetic addition with the value 0b10000000, denoted as A = A + 0b10000000, where 0b10000000 is binary for 128;
Step 3: Through the previous step, the values in the Address Data Group A are updated. The value of the State Data Group V serves as the index address for the S-box, and S [A] is inserted at the tail of the Queue T; simultaneously, S [A] is assigned to A. Before that, ensure that the head of the Queue T [0] is removed and assigned to the State Data Group V, denoted as V = T.pop (), T.push (A);
Step 4: Through the previous step, the values of the Index Data Group A are updated, the data in the Queue T are updated, and the State Data Group is updated as well. Similarly, the iterative update of the State Data Group V uses arithmetic addition, denoted as V = V⊕A + 0b01111111;
Step 5: In the iterative update of the Index Data Group A, A [0]~A [7] take values, respectively, from T [0][2], T [1][4], T [2][0], T [3][6], T [4][1], T [5][3], T [6][7], and T [7][5], denoted as A = T [0][2]||T [1][4]||T [2][0]||T [3][6]||T [4][1]||T [5][3]||T [6][7]||T [7][5].
Check if there are any plaintext sequences left to be encrypted. If so, jump to the first step; otherwise, stop the cipher algorithm, the update vector function (UVF) proposed in this paper is shown in Algorithm 2.
Algorithm 2: The Update Vector Function (UVF) proposed in this paper. |
Input: Queue T, Address Data Group A, State Data Group V, Substitution Table S, Plaintext Byte P. Output: Ciphertext Byte C procedure UVF(T, A, V, S, P) while(C != NULL) P = C⊕V A = A+0b10000000 A = S[A] V = T.pop() T.push(A) V = V⊕A+0b01111111 A = T[0][2]||T[1][4]||T[2][0]||T[3][6]||T[4][1]||T[5][3]||T[6][7]||T[7][5] return C end procedure |
S-box is the main nonlinear component in the cryptographic scheme proposed in this paper, and linear fractional transformation (LFT) is one of the most commonly used mapping methods. However, generating dynamic S-boxes using LFT is complex and time-consuming, making it less suitable for lightweight cipher algorithm design. By modifying the cubic fractional transformation (CFT) function [
23] proposed by Zahid et al., as shown in Formula (3), and using it as the S-box random generator Random () followed by screening the generated S-boxes, a well-performing S-box can be obtained.
After transforming Equation (3) into operations in
with n = 8, the specific implementation flowchart is shown in
Figure 4. The S-box generation process, by setting different parameters, will be used to generate S-boxes randomly.
The S-box used in the cryptographic algorithm proposed in this paper is generated from
Figure 5. The specific values of the S-box are listed in
Figure 6.
An S-box is a way to substitute bits in plaintext by mapping input bits to output bits, performing both confusion and diffusion functions. Confusion ensures that there is no apparent relationship between the input and output, making the cipher algorithm more difficult to crack. A well-designed S-box in cryptography should possess good nonlinearity, uniformity, and other cryptographic characteristics. Next, this paper will analyze the S-box proposed in this paper.
In cryptography, bijectiveness refers to the property of a cryptographic function or transformation being both injective and surjective.
A bijective cryptographic function ensures a one-to-one correspondence between the input and output, providing reversible mapping. Bijectiveness helps ensure the security and integrity of cryptographic operations, such as encryption and decryption, by allowing a clear and unique relationship between plaintext and ciphertext;
- 2.
Differential Probability
In cryptography, an S-box is often crucial in block cipher algorithms. The concept of “Differential Probability” is related to the probability of a specific difference in the input affecting a particular difference in the output of an S-box. Differential Cryptanalysis is a technique used to analyze the differences between pairs of plaintexts and their corresponding ciphertexts. It explores how changes in the input (plaintext) affect the changes in the output (ciphertext). Differential Cryptanalysis is particularly applicable to block ciphers. Differential probability measures the likelihood of a particular difference in the input leading to a specific difference in the output of the S-box. In other words, it quantifies the probability of a specific “input difference → output difference” scenario. High differential probability indicates that a distinct difference in input bits is likely to result in a particular difference in the output bits with high probability. Cryptographic designers aim to create S-boxes with low differential probabilities to enhance security. A lower differential probability makes it more difficult for attackers to exploit differences in plaintexts to deduce information about the key or the internal state of the cryptographic algorithm. Designing S-boxes with good differential properties is critical to creating secure block ciphers. In the cryptographic scheme proposed in this paper, the S-box used has a maximum differential probability of 5/128, indicating good differential characteristics, as calculated using Formula (4).
- 3.
Walsh Spectrum of S-box
Let : is called the Walsh Spectrum of , where and \{0}. In fact, the Walsh Spectrum of a Boolean function indicates the degree of approximation between and a linear function, so represents the degree of approximation between the component function of and the linear function . The value of the Walsh transform at the point is called the Walsh coefficient of at .
The Walsh Spectrum of the S-box is an important step in calculating the nonlinearity of the S-box;
- 4.
Nonlinearity of S-box
Let
:
then, the linearity of
is the maximum linearity of the non-trivial component functions set
:
Let
:
then, the nonlinearity of
is the minimum nonlinearity of the non-trivial component functions set
:
Using Equations (5) and (6), the nonlinearity of the S-box proposed in this scheme can be calculated to be 96;
- 5.
Other characteristics of the S-box
By calculating the nonlinearity, return period, and differential uniformity of the S-box, we obtain a nonlinearity degree of 7, a return period of 256, and a differential uniformity of 10.
4. Performance
RC4 is also a software-oriented stream cipher algorithm, consisting mainly of two components, S and K, which are generally composed of two 256-byte arrays. K serves as the key input for RC4 and is used to initialize S. If K is set to 80 bits, it will decrease the security of the RC4 cipher. To ensure the minimum security threshold for RC4, S and K should be of the same size. In the performance comparison below, both K and S in RC4 are 256 bytes.
Snow3G [
26] is a stream cipher algorithm used in 4G mobile communication standards to protect data privacy and security in mobile communication. It is part of the 3GPP standard and is used in 3G and 4G communication standards, making it an important encryption algorithm in the field of mobile communication. Snow3G is used to generate a key stream, which is then XORed with plaintext data to achieve encryption. The key stream is a pseudo-random number sequence generated based on an initialization vector (IV) and a key, both filled in by the user, with both being 128 bits (16 bytes) in length. Therefore, Snow3G theoretically provides 128-bit security protection.
ZUC [
27] is also a stream cipher algorithm primarily used in the field of mobile communication, especially in China’s 3G and 4G mobile communication standards. ZUC was originally designed for China’s mobile communication standards but was also submitted to the International Telecommunication Union (ITU) for global use. This makes it an international encryption algorithm and it has been applied in some international mobile communication standards. Similar to Snow3G, ZUC is used to generate a key stream for encrypting and decrypting data. The generation of the key stream depends on an initialization vector (IV) and a key. Similar to Snow3G, the ZUC algorithm is 128 bits (16 bytes), and the initialization vector (IV) length is generally 64 bits (8 bytes). Therefore, ZUC can provide 128 bits of security protection regarding key length.
RC4, as a previously widely used encryption algorithm, has good performance on different platforms. Due to issues such as weak keys, some cryptographic algorithms have enhanced it, such as RC4 + [
24] and other variant RC [
28] algorithms.
These stream ciphers mentioned above, which are international protocol standards, are compared in terms of algorithm implementation in
Figure 9. The memory usage of RC4 variant algorithms does not significantly differ from that of RC4 algorithms.
Like the other three algorithms, SC-SA also uses an S-box as the nonlinear component of the cipher algorithm. Both SC-SA and RC4 use an 8-bit substitution S-box, while the other two cipher algorithms employ two or more S-boxes. This results in significantly higher memory usage compared to SC-SA.
The performance of these six cryptographic algorithms was tested on different computing platforms. On the ×86 platform, the Intel i5-12500H (Intel, made in China) was used, while the Qualcomm Snapdragon 410—which consists of four A53 cores—was used on the ARM platform, better representing IoT devices. The experimental results based on different platforms are shown in
Figure 10,
Figure 11,
Figure 12 and
Figure 13. In the line charts, the x-axis represents the size of the encrypted data and the y-axis represents the time required to encrypt data of that size.
Different platforms have different impacts on cryptographic algorithms. Snow3G does not have an implementation advantage under software conditions, whether on the ×86 platform or the ARM platform. This is because, during their design, more consideration was given to hardware, neglecting the complexity of the implementation logic when implemented in software. The variant RC4 algorithm [
28], in order to enhance the obfuscation capability of the key scheduling algorithm, embeds a loop, resulting in decreased performance.
Based on the comparison between different platforms, there is a demonstrated platform diversity between the variant RC4 and Snow3G. Snow3G has an advantage on the ×86 platform, while the variant RC4 has an advantage on the ARM platform.
Table 5 and
Table 6 show the time required by different encryption algorithms to encrypt files of various sizes on the ARM and X86 platforms, respectively.
The ratio of memory usage relative to algorithm implementation for SC-SA, RC4, Snow3G, and ZUC when outputting key streams of the same size is shown in
Figure 14.
Through comparison, it can be observed that the cryptographic algorithm proposed in this paper demonstrates significant advantages in terms of performance and resource utilization compared to non-lightweight stream cipher algorithms and cryptographic algorithms not designed for software-oriented implementations. Additionally, it also exhibits clear advantages when compared to lightweight cryptographic algorithms designed for both software and hardware implementations, such as RC4.