Skip to Content
Applied SciencesApplied Sciences
  • Article
  • Open Access

7 April 2023

Strike: Stream Cipher Based on Stochastic Lightning Strike Behaviour

and
Faculty of Computer Studies, Arab Open University, Riyadh 11681, Saudi Arabia
*
Author to whom correspondence should be addressed.

Abstract

There is an increasing need for secure and fast encryption algorithms to support applications and communication protocols, and business models. In this paper, we present an alternative stream cipher (Strike) inspired by the stochastic behaviour of lightning strike phenomena. The novelty and originality of Strike stem from the utilisation of lightning strike behaviour as a source for generating random keystreams for encryption and decryption. Strike consists of three main functions: a function for setting up the security attributes, a function for generating lightning strikes and converting them to a keystream, and a function for plaintext encryption. The proposed stream cipher was tested against several cryptanalysis and statistical attacks in addition to other performance tests. The results show that Strike achieves high throughput on both high- and low-speed devices. Additionally, security analysis shows that our cipher is resistant to cryptanalysis and statistical attacks.

1. Introduction

New technologies, particularly Internet of Things (IoT) networks, enable the connection of numerous devices through the Internet. These large-scale networks utilise vast amounts of obtained data to offer consumers a variety of applications. Nonetheless, this creates substantial security risks related to the exchanged data. Indeed, these systems are vulnerable to both traditional network attacks and novel threats that could compromise their availability, security and privacy. Security services like data confidentiality and privacy are crucial, and the challenge is exacerbated by the enormous amount of data and limited resources of some IoT devices. In this context, asymmetric encryption techniques are commonly used to protect data privacy and confidentiality [1,2].
The European Network of Excellence for Cryptology (ECRYPT), which coordinated the development of stream cipher algorithms in hardware and software, launched the research project eSTREAM in 2004 [3]. The project approved several stream ciphers, including Sprout [4], Fruit [5], LIZARD [6], Plantlet [7], Trivium [8], Mickey [9] and Grain series ciphers [10]. Some lightweight stream ciphers are currently deemed dangerous [11,12] despite significant progress in decoding techniques.
Numerous applications and systems process and communicate sensitive data. Such data must be safeguarded by adhering to the strictest guidelines and best practices for data confidentiality and privacy. Most symmetric encryption algorithms today are computationally costly, mainly because they require several complicated operations that are repeated numerous times [13,14]. They are thus unsuited for real-world applications or devices with limited resources. Accordingly, lightweight cryptographic approaches have been developed to lower the computing complexity of encryption.
Conventional encryption algorithms iterate a round function that includes complex operations using static (fixed) cryptographic primitives. Such algorithms suffer from high computing costs and are vulnerable to cryptanalysis attacks. According to NIST [15], lightweight ciphers should be designed to accommodate devices with constrained resources. This is possible by designing a simplified round function or reducing the function’s number of iterations. On the other hand, keystream generation should follow a dynamic approach in which the generator relies on regularly updating the set of security parameters to provide random properties for higher immunity against cryptanalysis and statistical attacks.
Even the most modern static-based lightweight ciphers require at least 6–18 cycles, requiring a substantial number of rounds [16,17]. In this study, we address the problems of operation complexity, encryption time and resource utilisation of existing stream ciphers. Stream ciphers that are designed to support low-resource computation devices usually either suffer from performance issues or are subjected to different cryptanalysis attacks. Hence, we present an alternative dynamic stream cipher to minimise complex operations, thus reducing the encryption time while preserving the requisite security level. In our method, each plaintext message is encrypted using a distinct set of cryptographic attributes. The keystream is formed by performing a set of mathematical operations in a single iteration. Upon generating one keystream block, all attributes are updated to generate a new keystream for a new encryption process.
Our proposed stream cipher (Strike) is novel, as it is the first stream cipher inspired by natural stochastic lightning strike phenomena. The novelty lies in the ability of designing fast encryption algorithm that is secure and less complex to work on computing devices with limited resources. The keys and parameters used in the model are extracted and calculated using mathematical models that express the behaviour of lightning strikes at different points in the given space. The strike starts randomly from a point x in a given space and hits another random point y on the ground. The behaviour of the strike is considered random and unpredictable, as a given strike is affected by several factors in addition to its start and end points in a large space; these factors include voltage, number of jumps, the distance of jumps and direction. In addition, Strike is considered feasible as it includes straightforward update procedures for the cryptographic attributes, reducing the computational complexity. As for error tolerance, Strike is resistant to channel failure since a bit error in one key affects only the corresponding byte of the encrypted message.
Our main contributions lie in presenting a high-performance, secure stream cipher. As for security, our design depends on the novel idea of utilising the stochastic behaviour of lightning strikes, which is proven mathematically [18]. On the one hand, the strike parameters are used as secure cryptographic primitives that are selected and updated randomly. The number of iterations is minimised to speed up keystream generation. Given that our cipher generates 16 bits of keystream in each round, it is usable in many resource-constrained devices and real-world applications.
The remaining sections of the paper are organised as follows: in Section 2, a background on stream ciphers and lightning strike phenomena is presented. Section 3 discusses the main issues related to existing stream ciphers. The main components of the Strike stream cipher are presented in Section 4. In Section 5, we conduct a security analysis by comparing the proposed cipher to the required cryptographic features. The efficiency of Strike is demonstrated in Section 6. Finally, Section 7 concludes the paper. However, the Abbreviations presents a list of abbreviations that appear in this document.

2. Preliminaries

2.1. Stream Ciphers

Stream ciphers are symmetric ciphers that generate pseudorandom sequences of bits from a given secret key. These pseudorandom bits are later used for encrypting plaintext using the XOR operation. Stream ciphers are widely and effectively used in securing TLS, Bluetooth and 4G connections [19].
Stream ciphers take two input values: a secret key (K) and an initial vector (IV). The length of the secret key is usually between 128 and 256 bits. The IV can be either a secret or known value, but keeping it secret adds an additional level of security. The general structure of stream ciphers is illustrated in Figure 1, where KS represents a keystream, and PT and CT represent the plaintext and ciphertext, respectively.
Figure 1. Stream cipher encryption operation.
The keystream is computed as a function KsG such that Ks = KsG (K, IV). The plaintext is encrypted as CT = PT Ks, and the ciphertext is decrypted as PT = CT Ks. Note that the encryption and decryption operations are the same, as they perform the same XOR operation. This justifies the absence of decrypt() functions in certain cryptographic libraries; the encrypt() function can be used for both encryption and decryption [19].

2.2. Lightning Strike Phenomena

Lightning is a natural phenomenon that originates randomly from thunderstorms and clouds [18,20,21]. In this section, we describe the mathematical model behind lightning strike development. According to [18], a lightning strike develops through several distinct phases. The first phase is called a stepped leader phase, where the head of the stroke is initiated from its origin (cloud base). This head makes a series of random jumps downward from its initialisation point toward the destination point (priori) on the earth’s surface. The behaviour of the stepped leader creates a path between the cloud base and the ground. The average speed of this phase is approximately 0.001 × 300   m / μ s , including pauses that the stepped leader makes between stochastic jumps.
As the stepped leader touches the surface, the streamer phase is initiated. This phase helps transfer charge between the earth and the cloud using the same path created by the stepped leader. The average speed of the streamer is higher than that of the stepped leader ( 0.01 × 300   m / μ s ), as it uses a previously created path with large currents with magnitudes exceeding hundreds of kilo-amperes (kA). A pause of a few milliseconds occurs upon completing the streamer phase. The end of this phase initiates the dart leader phase.
The dart leader starts from the cloud base and moves down to the ground. The dart leader is faster than the stepped leader since it uses a channel that is previously ionised. As soon as the dart leader touches priori on earth, a return stroke is initiated but with a much lower current. This procedure of dart leaders and return strokes continues for several iterations, resulting in a lightning flash composed of consecutive strokes [20,22].
As depicted in Figure 2 [18], the stepped leader head is initiated at height h0 and randomly makes j jumps towards the earth’s surface. The streamer is immediately initiated back to the cloud. As time t passes, several dart leaders occur with less surge current i. Once the current level reaches the minimum, the stroke stops.
Figure 2. Lightning strike development through time t.
The probability density function that represents the lightning strike is computed by Equation (1):
P I = 0.5   ·   e r f c u 0
where e r f c u 0 is calculated in Equations (2) and (3) as follows:
e r f c u 0 = 1 2 π n = 0 1 n   ·   u 0 2 n + 1 n ! 2 n + 1
u 0 = l o g I log I μ 2   ·   I σ
According to [23], the mean value ( I μ ) and standard deviation ( I σ ) of the current peak of the lightning can have the specific values shown in Table 1. The values are defined under the assumption that strokes can have a positive or negative polarity.
Table 1. Logarithmic normal distribution of lightning current parameters [23].

4. The Proposed Stream Cipher (Strike)

4.1. Mathematical Model of Strike Cipher

In this section, we introduce the detailed structure of our proposed stream cipher (Strike). The mathematical model of Strike is inspired by the lightning strike development model mathematically described in [18]. The model assumes that every single point can be presented in a Cartesian coordinate system (x, y, z). If a plane with z = 0 is chosen, the point will directly touch the surface of the ground. The stepped leader head starts at a given point at height h0 and moves downward to the ground, as depicted in Figure 3.
Figure 3. Simulating n jumps of lightning strike stepped leader head.
The starting point of the lightning strike is point T0 of coordinate (x0, y0, h0), where x0, y0 and h0 are stochastically chosen according to the following equations:
x 0 = r   ·   a
y 0 = r   ·   b
h 0 = r   ·   c
where r is a pseudorandom value, r 0 , 1 .
Choosing the peak value of the lightning current is also carried out stochastically. The lightning current peak values can be observed as an interval such that I   I m i n , I m a x . This interval is divided into m classes. Accordingly, the lightning current’s peak value is selected from a given class i as follows:
I = i I m i n + r   ·   i I m a x i I m i n
where i I m i n represents the minimal value and i m a x represents the maximum peak value chosen from the i-th class. Note that both i I m i n and i m a x are calculated as follows:
i I m i n = I m i n + i 1   ·   Δ I
i I m a x = i I m i n + Δ I
Δ I = I m a x I m i n N c
As the stepped leader descends toward the surface, it makes several jumps of different distances in a stochastic path. The strike distance (jump) is calculated in metres as a function of the chosen lightning current peak as follows:
R = A   ·   T P   ·   I cos I m e a n + I s t d
With reference to Figure 3, the stepped leader head starts at a given point in space, then makes j jumps downward. The coordinates of the stepped leader head are calculated as follows:
x j = x j 1 + R   ·   sin σ j 1   ·   cos φ j 1
y j = y j 1 + R   ·   sin σ j 1   ·   sin φ j 1
h j = h j 1 + R   ·   cos σ j 1
where the coordinates of the next position of the stepped leader head are determined stochastically as follows:
φ j 1 = r   ·   2 π
σ j 1 = r + 1   ·   π 2
Equations (12)–(16) present continuous stochastic processes that continue until reaching the earth’s surface. In addition, this process is repeated an arbitrary number of times, as new lightning strikes may start at different positions on any given cloud. This process summarises the randomness of the lightning strike phenomena through the undetermined random paths that each strike initiates.

4.2. Detailed Design of Strike Stream Cipher

Our Strike stream cipher is composed of three main phases. The first is responsible for setting up the security parameters. The input to this phase is the secret key (SKey) and an initial vector (IVec). Then, the second phase (keystream generation) is initiated. This phase generates lightning strikes which are later transferred to keystream sequences of keystream. The inputs to this phase are lightning strike-related attributes, including strike jumps distances, peak current intervals, and the stepped leader coordinates. Lastly, the generated keystream is passed to the encryption phase, which XOR the plaintext bits with the corresponding keystream. The general structure of the Strike cipher is depicted in Figure 4. The main security attributes used in our model are also listed and described in Table 3.
Figure 4. General structure of Strike stream cipher.
Table 3. Logarithmic normal distribution of lightning current parameters.

4.2.1. Security Parameters Setup

The setup process takes two input values: SKey of 128-bit length and the IVec of 32-bit length to initialise all other parameters used in our Strike cipher. The process follows the following steps:
  • Extract bits from SKey and IVec to be assigned to all other parameters, such that SKey bits from 0–55 are assigned to the parameters a, b, c, r, j, and s sequentially.
  • Initialise the peak current intervals (PCi) using the SKey bits from 56–119.
  • Initialise the KSC parameter using the remaining SKey bits from 120–127, which will later help in shifting the SKey.
  • Initialise the Imean parameter using the IVec bits from 0–7.
  • Extract the IVec bits from 8–15 and 16–23 to initialise Istd and IVSC, respectively.
  • Extract the remaining IVec bits from 24–31 to initialise iclasses parameter.
  • Initialise the coordinates of the lightning strike using Equations (4)–(6).
The span of each class in each PCi interval is computed to generate peak current classes for each PCi. Algorithm 1 describes the main processes carried out in the security parameter setup phase of the Strike cipher.
Algorithm 1 Skey/IVec Setup
01:

02:
Input:   128-bit value SKey
               32-bit value IVec
Output: 8-bit values a, b, c, r, j, s
                8-bit values KSC, Imean, Istd, IVSC, iclasses
                16-bit values PC1, PC2, PC3, PC4
                16-bit values x0, y0, h0
03:// extract Secrete Key (SKey) parameters
04:a = SKey[bit_0–bit_7]
05:b = SKey[bit_8–bit_15]
06:c = SKey[bit_16–bit_23]
07:r = (SKey[bit_24–bit_31] + SKey[bit_32–bit_39]) mod 255
08:j = SKey[bit_40–bit_47]
09:s = SKey[bit_48–bit_55]
10:// initialize the min and max peak currents of each PC interval
11:function   Calculate_PCs (SKey)
12:          PC1 = [I_min = Min (SKey[bit_56–bit_63], SKey[bit_64–bit_71]),
                      I_max = Max (SKey[bit_56–bit_63], SKey[bit_64–bit_71])]
13:          PC2 = [I_min = Min (SKey[bit_72–bit_79], SKey[bit_80–bit_87]),
                       I_max = Max (SKey[bit_72–bit_79], SKey[bit_80–bit_87])]
14:          PC3 = [I_min = Min (SKey[bit_88–bit_95], SKey[bit_96–bit_103]),
                       I_max = Max (SKey[bit_88–bit_95], SKey[bit_96–bit_103])]
15:          PC4 = [I_min = Min (SKey[bit_104–bit_111], SKey[bit_112–bit_119]),
                            I_max = Max (SKey[bit_104–bit_111], SKey[bit_112–bit_119])]
16:end function
17:KSC = SKey[bit_120–bit_127]
18:// extract Initial Vector (IVec) parameters
19:Imean = IVec[bit_0–bit_7]
20:Istd = IVec[bit_8–bit_15]
21:IVSC = IVec[bit_16–bit_23]
22:iclasses = IVec[bit_24–bit_31]
23:// calculate the initial lightning strike coordinates over 3D space
24:function  Initialize_Coord (a, b, c, r)
25:          x0 = r   ·   a
26:          y0 = r   ·   b
27:           h0 = r   ·   c
28:end function
29://calculate span of each class in each PC
30:function  Generate_Classes (PC1, PC2, PC3, PC4, iclasses)
31:          for PC = 1 to PC = 4 do
32:                    PC_span_I[PC] = (I_max − I_min)/iclasses
33:          end for
34:          // generate peak current classes for each PC interval
35:          for PC = 1 to PC = 4 do
36:                    for cls = 1 to cls = iclasses do
37:                              iclass_I_min = I_min[PC] + (iclasses − 1)   ·   PC_span_I[PC]
38:                              iclass_I_max = iclass_I_min + PC_span_I[PC]
39:                    end for
40:          end for
41:end function

4.2.2. Keystream Generation

Our stream cipher’s keystream generator acts as a lightning strike generator. The lightning strike process is composed of five stages: selecting the peak current, computing the probability density function, calculating the jump distances, locating the stepped leader head and generating the keystream. The structure of the lightning strike generator for the keystream generation process is illustrated in Figure 5.
Figure 5. Lightning strike generator for keystream.
The first step starts from the peak current selection by choosing four peaks (I1I4) from their corresponding intervals (PC1–PC4), where [I1, I3] are chosen as the maximum peaks and [I2, I4] are chosen as the minimum peaks. Upon selecting the four peaks, the final general peak (I) is computed by XORing ( ) the four peaks as follows:
I = I 1   I 2     I 3   I 4
Next, the probability density function is processed by applying Equations (1)–(3). Note that the series n = 0 1 n u 0 2 n + 1 n ! 2 n + 1 presented in Equation (2) is found to be convergent. Hence, the infinite upper limit can be replaced by a fixed value based on the following ratio test:
lim n a n + 1 a n = lim n u 0 2 n + 3 n + 1 ! 2 n + 3   ·   n ! 2 n + 1 u 0 2 n + 1
= lim n 2 u 0 2 n + u 0 2 2 n 2 + 5 n + 3 = 0 < 1
The probability density function will result in 4 bits (1 bit for each peak value). These bits are later concatenated to generate the total peak value (TP). As we calculated the TP, we proceeded to calculate the distance of each jump of the lightning strike using Equation (11). Consequently, the new coordinates of the stepped leader head are calculated using Equations (12)–(16). Lastly, the 16-bit length keystream is generated by XORing the x, y, and h coordinates using Equation (20):
K s t r e a m = ( x j     y j     h j )   < <   TP
Upon generating the keystream bits, a complete shuffling process is applied over all security parameters to ensure a sufficient level of randomness before generating new lightning strikes for new keystreams. Algorithm 2 presents the detailed processes of keystream generation inspired by the lightning strike phenomena.
Algorithm 2 Keystream Generation (Lightning Strike Generator)
01:Input:     8-bit values Imean, Istd
                 16-bit value PC1, PC2, PC3, PC4, x0, y0, h0
02:Output: 16-bit value Kstream
03:// select a peak current from each PC interval
04:I1 = iclass_I_max(PC1, s mod iclasses)
05:I2 = iclass_I_min(PC2, s mod iclasses)
06:I3 = iclass_I_max(PC3, s mod iclasses)
07:I4 = iclass_I_min(PC4, s mod iclasses)
08:// calculate the final peak current I
09:I = I1  I1  I1 I1
10:// calculate the probability density function of all selected currents
11:u1 = ((log(I1) − log(Imean))/(sqrt(2) · Istd)
12:u2 = ((log(I2) − log(Imean))/(sqrt(2) · Istd)
13:u3 = ((log(I3) − log(Imean))/(sqrt(2) · Istd)
14:u4 = ((log(I4) − log(Imean))/(sqrt(2) · Istd)
15:init = 1 − (2/sqrt(Pi))
16:sum = 0
17:for i = 1 to i = 4 do
18:          for n = 0 to n = 10 do
19:                    sum = sum + ((−1)^n · (ui)^(2n + 1)/(n! · (2n + 1))
20:          end for
21:          erfc[i] = init · sum
22:end for
23:for i = 1 to n = 4 do
24:          P[i] = 1 · erfc[i]
25:end for
26:// concatenate P[i] to generate 4-bit TP value
27:TP = P [1] || P [2] || P [3] || P [4]
28:// calculate the distance of each jump
29:R = 10 · (TP · I^(cos(Imean + Istd))
30:// re-calculate the new coordinates of stepped leader head
31:for i = 1 to i = j do
32:          phij−1 = r · (2 · Pi)
33:          sigmaj−1 = (r + 1) · (Pi/2)
34:          xj = xj−1 + R · sin(sigmaj−1) · cos(Phij−1)
35:          yj = yj−1 + R · sin(sigmaj−1) · sin(Phij−1)
36:          hj = hj−1 + R · cos(sigmaj−1)
37:end for
38:// calculate the keystream (Kstream) of 16-bit length
39:Kstream = (xj  yj  hj) << TP
40:// shuffle security parameters
41:r << KSC
42:j >> KSC
43:s << KSC
44:Skey >> KSC
45:Imean << IVSC
46:Istd >> IVSC
47:Iclasses << IVSC
48:IVSC >> KSC
49:KSC << IVSC
50:// re-calculate PC1-PC4
51:Calculate_PCs (SKey)
52:// re-initialize coordinates
53:a = SKey[bit_0–bit_7]
54:b = SKey[bit_8–bit_15]
55:c = SKey[bit_16–bit_23]
56:Initialize_Coord (a, b, c, r)
57:// re-generate peak current classes
58:Generate_Classes (PC1, PC2, PC3, PC4, iclasses)

4.2.3. Data Encryption

Plaintext encryption is a straightforward process that involves XORing the plaintext (Ptext) bits with the keystream (Kstream) bits to generate the ciphertext (Ctext). The length of each sequence is 16 bits. Once the keystream bits are completely used during encryption, the keystream generator is re-called to generate new keystream sequences. The plaintext encryption is illustrated in Figure 6, and the main processes are depicted in Algorithm 3.
Figure 6. Plaintext Encryption.
Algorithm 3 Encryption
01:
02:
Input:      16-bit values PText, Kstream
Output:  16-bit values CText
03://use Kstream to be exclusively or’ed with plaintext PText
04:while PText != null do
05:        for bit = 0 to bit = 15 do
06:                CText[bit] = PText[bit] Kstream[bit]
07:        end for
08://generate more SSK by the four threads
09:Keystream_Generation()
10:end while

5. Security Analysis of Strike

5.1. Statistical Tests and Balance

Testing the stream cipher with statistical tests is critical to ensure that the cipher is secure against statistical attacks [34,35]. Our Strike stream cipher is tested against the standard statistical test suite NIST [36]. The NIST statistical test is composed of 15 tests that calculate 188 results values [35]. The test is carried out on 1500 sequences of keystream (1.5 GB of data), which represent the sample size used in this test. The size of each sequence is 1-MB resulting from 64 keystreams. The results presented in Table 4 show that the Strike cipher successfully passed all the NIST tests.
Table 4. NIST statistical tests results.
In addition to NIST tests, we carried out a balance test to examine whether the generated keystream has an equal number of zeros and ones. The test examined 300 different keystreams. The number of zeros and ones is counted in each keystream. The test shows that no biased is detected in the generated keystream. The number of zeros and ones was almost equal in all keystreams, with a minor difference that does not exceed 2 bits. Figure 7 visualises the balance test. These results indicate that Strike is able to generate balanced keystreams that are resistant to several statistical attacks.
Figure 7. Balance analysis.

5.2. Avalanche Effect

Our Strike cipher is inspired by the stochastic behaviour of lightning strike phenomena. This behaviour is completely random and unpredictable, as each strike starts at a random point and moves in different directions and distances (jumps). In addition, every single keystream is generated using a completely new set of scrambled parameters, which produces a new sequence of bits that differ from previously generated sequences.
In this test, we consider the cryptographic property known as the avalanche effect. It mainly measures the impact of altering (flipping) one bit of the secret key (SKey) on the generated keystream (Kstream). The test was applied to a data set of 500 keystreams. The results are presented in Table 5. The dots visualised in Figure 8 represent the percentage of changes resulting in each keystream after flipping one bit in the secret key (SKey). The testing results show that Strike achieved an average avalanche percentage of about 74%.
Table 5. Avalanche effect on Kstream.
Figure 8. Avalanche effect on Kstream.

5.3. Cryptanalysis Attacks

5.3.1. Brute-Force Attacks

Brute-force techniques aim to guess all possible choices in a given search space. The search space of our Strike cipher is enormous. Strike cipher uses a 128-bit SKey and 32-bit IVec to generate one Kstream in each iteration. This requires the attacker to make 2128 + 232 guesses to reveal both the SKey and IVec, which is practically impossible with currently available resources. Hence, the Strike cipher is found to be secure against brute-force attacks.

5.3.2. Known-Plaintext Attack

In this kind of attack, the attacker attempts to gain access to the complete list of ciphertexts and their mapped plaintext to retrieve SKey. In the Strike cipher, each sequence of Ctext is obtained from an XOR operation between Ptext and Kstream. A complete scrambling process is applied to every single parameter used in the keystream generator. Hence, the randomness of the behaviour of the generated strike will generate a completely different ciphertext, even for two identical plaintexts. Recall that each lightning strike is associated with different peak current intervals, stepped leader coordinates and jumps, all of which are extracted stochastically from SKey. Accordingly, the Strike cipher is found to be resistant to known-plaintext attacks.

5.3.3. Ciphertext-Only Attack

In this kind of attack, an attacker attempts to gain access to the ciphertext in order to retrieve the plaintext after guessing the secret key. Once the attacker succeeds, all the ciphertext can be decrypted using the key. However, our stream cipher generates a new lightning strike in each iteration. Hence, two identical ciphertext segments are mapped to two completely different lightning strikes. As a result, our Strike cipher is found to be secure against this kind of attack.

5.3.4. Differential Attack

Differential attacks try to reveal or reduce the time needed to reveal the secret key by performing intensive and comprehensive analysis over pairs of plaintext and ciphertext. In our Strike cipher, the keystream generator produces a completely new SKey at each iteration, where each lightning strike has its own unique set of attributes. Thus, attributes are scrambled and randomised at the end of each iteration, ensuring the uniqueness of each generated SKey. Accordingly, two identical plaintexts will be converted into two different ciphertexts. Hence, our Strike cipher is resistant to differential attacks.

6. Complexity and Performance Analysis

In this section, we analyse the complexity of the Strike cipher. The cipher is composed of three main stages: security parameters setup, lightning strike generation and data encryption. The complexity analysis revealed efficient results, as tabulated in Table 6.
Table 6. Complexity Analysis.
The performance of the Strike cipher is also examined and analysed. The cipher is implemented in a Python environment installed on four computing devices with different computing capabilities to measure the algorithm’s efficiency. The specifications of these machines are listed in Table 7.
Table 7. Specification of testing environments.
The performance of the Strike stream cipher is tested and compared against well-known stream ciphers, including AES-128, Snow 2.0–128, Salsa-20, HC-128 [34,37], Trivium [8], Mickey-128 [9], Grain [10] and the cipher proposed by [28]. The testing results show that the Strike cipher achieved a throughput of 22,796.4 Mbit/s on the M1 machine. The results are tabulated in Table 8, which shows that our stream cipher outperforms other ciphers. The last column of Table 8 shows the ratio of efficiency of our cipher compared to others. The efficiency ranges from 2.5% (against [28]) to 99.9% (against Grain). Figure 9 visualises the throughputs of all tested ciphers.
Table 8. Stream ciphers performance results on M1.
Figure 9. Stream ciphers throughput analysis on M1.
In addition, the Strike cipher is tested on different machines (M1–M4). The results presented in Table 9 show that the algorithm’s structure was not affected by the computing power capabilities available on different machines. For instance, the major difference in performance is found between M1 and M4, where the performance is degraded by 7.25%; this is mainly due to the slower CPU processing speed and lower RAM capacity.
Table 9. Encryption throughout (Mbit/s) of Strike over different machines.

7. Conclusions and Future Works

In this research, we presented the Strike stream cipher. Strike is inspired by the stochastic behaviour of lightning strike phenomena. Each lightning strike has its own unique attributes, including the source and destination points, jump distances, peak intervals, power and pathways. These attributes represent the core security parameters of our lightning strike generator, which later generates keystreams for data encryption and decryption. In each iteration of keystream generation, the strike’s attributes are updated and scrambled to ensure that the keystreams are correlation-free and resistant to statistical and cryptanalysis attacks.
The scientific novelty of Strike cipher lies in the utilisation of the stochastic behaviour of lightning strike phenomena to reduce operations complexity and enhance the performance of data encryption. Such enhancements enabled Strike to work efficiently on a wide range of computing devices with limited resources. Strike outperforms other ciphers, including AES, Snow 2.0–128 and other well-known ciphers. The performance of Strike was tested on different environments with different computing capabilities. The results show that Strike managed to achieve a throughput of about 22,796 Mbit/s on a high-performance machine and about 21,143 Mbit/s on a low-performance machine. These results indicate that Strike is an efficient alternative for providing secure communication on various machines with different capabilities. In addition, further enhancement of Strike’s performance is also possible through parallelism. The structure of Strike is designed to support multithreading, where multiple threads can be initiated to generate multiple keystreams simultaneously.

Author Contributions

All authors contributed equally to this research work. All authors discussed the results and contributed to the final manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

No new data were created.

Acknowledgments

The authors would like to thank Arab Open University, Saudi Arabia, for supporting this study.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

AbbreviationDescription
IoTInternet of Things
ECRYPTEuropean Network of Excellence for Cryptology
NISTNational Institute of Standards and Technology
XORExclusive-OR
TLSTransport Layer Security
4GFourth Generation Communication
RFIDRadio-Frequency IDentification
LFSRLinear Feedback Shift Register
PRNGPseudo Random Number Generator
CMLCoupled Map Lattice
LELyapunov exponents
IESImage encryption structure
PSNRPeak signal-to-noise ratio
GAGenetic Algorithm
NFSRNonlinear feedback shift registers
LESCALightwEight Stream Cipher Algorithm
WLANWireless Local Area Network
HTTPSHypertext Transfer Protocol
Mathematical SymbolDescription
Δ I a change in the value of I in calculus.
σ Standard deviation
φ Phi (approx. 1.61803.)
Exclusive-OR operation
Summation
l i m limit
loglogarithm
sqrtSquare root
sintrigonometric functions of an angle
costrigonometric functions of an angle
p-valueProbability-value

References

  1. Atawneh, B.; Abutaha, M.; Al-hammoury, L. Power Consumption of a Chaos-Based Stream Cipher Algorithm. In Proceedings of the 3rd International Conference on Computer Applications & Information Security, Riyadh, Saudi Arabia, 19–21 March 2020. [Google Scholar] [CrossRef]
  2. Vavrenyuk, A.B.; Makarov, V.V.; Shurygin, V.A. Synchronous Stream Encryption Using an Additional Channel to Set the Key. Procedia Comput. Sci. 2021, 190, 797–802. [Google Scholar] [CrossRef]
  3. ECRYPT Stream Cipher Project, March 2012. Available online: https://www.ecrypt.eu.org/stream/ (accessed on 20 September 2022).
  4. Armknecht, F.; Mikhalev, V. On Lightweight Stream Ciphers with Shorter Internal States. In Fast Software Encryption; International Workshop on Fast Software Encryption; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar] [CrossRef]
  5. Ghafari, V.A.; Hu, H. Fruit-80: A Secure Ultra-Lightweight Stream Cipher for Constrained Environments. Entropy 2018, 20, 180. [Google Scholar] [CrossRef]
  6. Hamannm, M.; Krause, M.; Meier, W. LIZARD—A Lightweight Stream Cipher for Power-Constrained Devices. IACR Trans. Symmetric Cryptol. 2017, 2017, 45–79. [Google Scholar] [CrossRef]
  7. Mikhalev, V.; Armknecht, F.; Müller, C. On Ciphers That Continuously Access the Non-Volatile Key. IACR Trans. Symmetric Cryptol. 2016, 2016, 52–79. [Google Scholar] [CrossRef]
  8. Cannière, C. Trivium: A Stream Cipher Construction Inspired by Block Cipher Design Principles. Lect. Notes Comput. Sci. 2006, 4176, 71–186. [Google Scholar] [CrossRef]
  9. Babbage, S.; Dodd, M. The Stream Cipher MICKEY 2.0. December 2022. Available online: http://www.ecrypt.eu.org/stream/p3ciphers/mickey/mickey_p3.pdf (accessed on 10 November 2022).
  10. Ågren, M.; Hell, M.; Johansson, T.; Meier, W. Grain-128a: A New Version of Grain-128 with Optional. Int. J. Wirel. Mob. Comput. 2011, 5, 48–59. [Google Scholar] [CrossRef]
  11. Mihaljevic, M.; Gangopadhyay, S.; Paul, G.; Imai, H. Generic Cryptographic Weakness of K-Normal Boolean Functions in Certain Stream Ciphers and Cryptanalysis of Grain-128. Period. Math. Hung 2012, 65, 205–227. [Google Scholar] [CrossRef]
  12. Stankovski, P. Greedy Distinguishers and Nonrandomness Detectors. Lect. Notes Comput. Sci. 2010, 6498, 210–226. [Google Scholar] [CrossRef]
  13. Almanasra, S. Parallel Platform for Supporting Stream Ciphers Over Multi-core Processors. Int. J. Adv. Comput. Sci. Appl. 2019, 10, 181–190. [Google Scholar] [CrossRef]
  14. Daldoul, I.; Tlili, S. Secured Transmission Design Schemes Based On Chaotic Synchronization and Optimal High Gain Observers. Simul. Model. Pract. Theory 2022, 120, 102625. [Google Scholar] [CrossRef]
  15. Ding, L.; Liu, C.; Zhang, Y.; Ding, Q. A New Lightweight Stream Cipher Based on Chaos. Symmetry 2019, 11, 853. [Google Scholar] [CrossRef]
  16. Turan, M.; McKay, K.; Chang, D.; Calik, C.; Bassham, L.; Kang, J.; Kelsey, J.E. Status Report on the Second Round of the NIST Lightweight Cryptography Standardization Process; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2021. [CrossRef]
  17. Noura, H.; Salman, O.; Couturier, R.; Chehab, A. LESCA: LightwEight Stream Cipher Algorithm for Emerging Systems. Ad Hoc Netw. 2023, 138, 102999. [Google Scholar] [CrossRef]
  18. Sarajčev, I.; Sarajčev, P.; Vujević, S. Mathematical Model of Lightning Stroke Development. In Proceedings of the 16th International Conference on Software, Telecommunications and Computer Networks, Split, Croatia, 25–27 September 2008. [Google Scholar] [CrossRef]
  19. Aumasson, J. Serious Cryptography: A Practical Introduction to Modern Encryption; No Starch Press: San Francisco, CA, USA, 2018; ISSN 978-1593278267. [Google Scholar]
  20. Rakov, V.; Uman, M. Lightning: Physics and Effects; Cambridge University Press: Cambridge, UK, 2007; ISSN 9780521035415. [Google Scholar]
  21. Golde, R.H. Lightning, Volume 1: Physiscs of Lightning; Academic Press: London, UK, 1977; ISSN 978-0122878015. [Google Scholar]
  22. Su, R.; Wang, J.; Cai, L.; Zhou, M.; Fan, Y.; Cao, J.; Wang, F.; Wang, J. Characteristics of Dart Leader and Attempted Leader in A Triggered Lightning. Electr. Power Syst. Res. 2023, 214, 108812. [Google Scholar] [CrossRef]
  23. IEC. Protection against Lightning—Part 1: General Principles; IEC: Geneva, Switzerland, 2006. [Google Scholar]
  24. Ghasemi, F.; Babaie, S. A lightweight Secure Authentication Approach Based on Stream Ciphering for RFID-based Internet of Things. Comput. Electr. Eng. 2022, 102, 108288. [Google Scholar] [CrossRef]
  25. Ding, Y.; Tan, F.; Qin, Z.; Cao, M.; Choo, R.; Qin, Z. DeepKeyGen: A Deep Learning-Based Stream Cipher Generator for Medical Image Encryption and Decryption. IEEE Trans. Neural Netw. Learn. Syst. 2022, 33, 4915–4929. [Google Scholar] [CrossRef] [PubMed]
  26. Fan, C.; Ding, Q. A Novel Image Encryption Scheme Based On Self-Synchronous Chaotic Stream Cipher and Wavelet Transform. Entropy 2018, 20, 445. [Google Scholar] [CrossRef]
  27. Hasan, F.S.; Saffo, M.A. FPGA Hardware Co-Simulation of Image Encryption Using Stream Cipher Based on Chaotic Maps. Sens. Imaging 2020, 12, 35. [Google Scholar] [CrossRef]
  28. Liu, Z.; Wang, Y.; Zhao, Y.; Zhang, L. A Stream Cipher Algorithm Based On 2D Coupled Map Lattice and Partitioned Cellular Automata. Nonlinear Dyn. 2020, 101, 1383–1396. [Google Scholar] [CrossRef]
  29. Noura, H.N.; Salman, O.; Couturier, R.; Chehab, A. LoRCA: Lightweight Round Block and Stream Cipher Algorithms for IoV Systems. Veh. Commun. 2022, 34, 100416. [Google Scholar] [CrossRef]
  30. Khedr, W.I. A New Efficient and Configurable Image Encryption Structure for Secure Transmission. Multimed. Tools Appl. 2020, 79, 16797–16821. [Google Scholar] [CrossRef]
  31. Sudeepa, K.B.; Aithal, G.; Rajinikanth, V.; Satapathy, S.C. Genetic Algorithm Based Key Sequence Generation for Cipher System. Pattern Recognit. Lett. 2020, 133, 341–348. [Google Scholar] [CrossRef]
  32. Zheng, J.; Hu, H. A Highly Secure Stream Cipher Based on Analog-Digital Hybrid Chaotic System. Inf. Sci. 2022, 587, 226–246. [Google Scholar] [CrossRef]
  33. Belmeguenai, A.; Ahmida, Z.; Ouchtati, S.; Djemii, R. A Novel Approach Based On Stream Cipher for Selective Speech Encryption. Int. J. Speech Technol. 2017, 20, 685–698. [Google Scholar] [CrossRef]
  34. Suwais, K. Stream Cipher Based on Game Theory and DNA Coding. Intell. Autom. Soft Comput. 2022, 33, 1815–1834. [Google Scholar] [CrossRef]
  35. Maksymovych, V.; Shabatura, M.; Harasymchuk, O.; Shevchuk, R.; Sawicki, P.; Zajac, T. Combined Pseudo-Random Sequence Generator for Cybersecurity. Sensors 2022, 22, 9700. [Google Scholar] [CrossRef]
  36. Rukhin, A.; Soto, J.; Nechvatal, J. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2010.
  37. Kuznetsov, O.; Potii, O.; Perepelitsyn, A.; Ivanenko, D.; Poluyanenko, N. Lightweight Stream Ciphers for Green IT Engineering. In Green IT Engineering: Social, Business and Industrial Applications; Studies in Systems, Decision and Control; Springer: Berlin/Heidelberg, Germany, 2019; Volume 171. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.