cryptography

: Cryptography is an unexpected revolution in information security in the recent decades, where remarkable improvements have been created to provide conﬁdentiality and integrity. Quantum cryptography is one such improvement that has grown rapidly since the ﬁrst announced protocol. Quantum cryptography contains substantial elements that must be addressed to ensure secure communication between legitimate parties. Quantum key distribution (QKD), a technique for creating a secret key, is one of the most interesting areas in quantum cryptography. This paper reviews some well-known quantum key distribution techniques that have been demonstrated in the past three decades. Furthermore, this paper discusses the process of creating a secret key using quantum mechanics and cryptography methods. Moreover, it explains the relationships between many basic aspects of QKD protocols and suggests some improvements in the cryptosystem. An accurate quantitative comparison between the QKD protocols is presented, especially the runtime execution for each QKD protocol. In addition, the paper will demonstrate a general model of each considered QKD protocol based on security principles.


Introduction
For several years, cryptographers have experimented with encryption/decryption techniques to create effective and robust methods to secure communications between two or more legitimate entities. The first known method is conventional (classical) cryptography, which involves sharing a message between two legitimate parties through insecure channels (for example, the Internet). The shared message (plaintext) should be sent from Alice (the sender) to Bob (the receiver) without the intervention by Eve (an eavesdropper). To prevent impersonation and listening, both Alice and Bob are supposed to send an X encrypted plaintext. Alice encrypts the plaintext X to become ciphertext C. On the other hand, Bob decrypts the ciphertext C to reveal the original plaintext X. The two legitimate participants use a shared code (secret key) to produce a ciphertext C [1]. For a long time, various algorithms have been used in the cryptosystem, and Caesar Cipher is one of them. Later, several cryptographic algorithms were introduced based on the large amount of data used by the Internet. RSA [2] and Diffie-Hellman [3] are the two most popular classical algorithms used in today's cryptographic systems.
Due to the huge amount of data that is shared over the Internet, classical cryptography may not provide sufficient protection. Hence, scientists are seeking a more reliable system based on the law of physics. A quantum system is the next solution for cryptography, where quantum cryptography is empowered by quantum mechanics. The power of quantum cryptography was initially introduced by Wiesner and Bennett in 1979 [4,5]. Quantum cryptography applies theories of physics to produce a secret key that can be shared by communicating parties. Moreover, sharing a secret key usually contains a random string of qubits (quantum bits) between the two entities. The encryption/decryption of plaintext X Figure 1. A simplified model of a symmetric encryption in the classical system, where X is a plaintext, S is an algorithm, and Ciphertext is the encoded message.

Quantum Cryptography
Presently, quantum cryptography is a sparkling topic in the field of communications and information technology. There is no doubt that the main focus of the cryptosystem is to prevent any entity from accessing the shared data, except for legal correspondents. Confidential communications between the sender and the receiver message must be ensured, and the principles of quantum communication ensure that data are transmitted over a secure channel with notification in the event of a data interruption.
Quantum cryptography uses symmetric key encryption, which is very common in classical cryptography methods. Moreover, symmetric key encryption provides straightforwardness between communicating parties in a quantum system, such as the One-Time Pad (OTP) encryption technique [15]. Furthermore, the Shared Secret Key (SSK) is used in Figure 1. A simplified model of a symmetric encryption in the classical system, where X is a plaintext, S is an algorithm, and Ciphertext is the encoded message.

Quantum Cryptography
Presently, quantum cryptography is a sparkling topic in the field of communications and information technology. There is no doubt that the main focus of the cryptosystem is to prevent any entity from accessing the shared data, except for legal correspondents. Confidential communications between the sender and the receiver message must be ensured, and the principles of quantum communication ensure that data are transmitted over a secure channel with notification in the event of a data interruption.
Quantum cryptography uses symmetric key encryption, which is very common in classical cryptography methods. Moreover, symmetric key encryption provides straightforwardness between communicating parties in a quantum system, such as the One-Time Pad (OTP) encryption technique [15]. Furthermore, the Shared Secret Key (SSK) is used in the OTP mechanism by converting the entire plaintext X into a long string of n-bits. On the other hand, the SSK should be created to match the same length (number of bits) of the original plaintext X, where the plaintext X and secret key SSK will be XORed (⊗) to produce a ciphertext C. This process can be used in quantum cryptography when both legitimate parties obtain an SSK with the known plaintext X. An interesting point in quantum cryptography is the inability to make a copy of the original plaintext X or even listen to the message content by an eavesdropper, due to the rules of quantum mechanics (non-cloning theory) [16]. For instance, if two connected terminals are interrupted during a quantum communication, then the quantum system will be altered. This alteration is recognized by destroying the content of the message. Therefore, communicating parties can detect the information attacks, while the eavesdropper cannot take advantage of a system interruption.
Furthermore, several requirements are available to achieve secure communication using quantum systems. The first condition is a quantum channel, where the submitted data (set of quantum bits) is transmitted. The quantum channel should be either free space or fiber optics [17]. The data submitted in the quantum channel includes information about the shared secret key (SSK), which is carried by elementary particles. The second condition consists of a classical channel that should be established to recognize whether the shared key was detected by an eavesdropper or altered by the environment [18]. The classical channel uses a sifting process to correct errors that occur during the transmission of quantum channel. In addition, it is used to terminate the communication initiated between the parties if the detected error rate is high.
Public key cryptography provides only a certain amount of protection. Therefore, quantum mechanics will provide a complete solution for the next generation of secure communication networks. Quantum cryptography is based on quantum mechanics, in which some of theories of physics are applied. Moreover, there are many physical quantities or observables, such as photon polarization, momentum, and mass that can be used in the field of cryptography [19]. Based on the law of physics, the process of exchanging information within a quantum system is naturally protected from passive attacks, but it is still a challenge for active attacks. Here, the information used is initiated as a string of bits that are converted by quantum devices into quantum bits (qubits). The qubits are directed by light filters to different polarized states |ϕ i . Therefore, a single photon can be initiated and measured based on multiple states. The explanations for used symbols are shown in Table 1. Then, this paper introduces some well-known QKD protocols and explains each QKD protocol based on the mechanism of the adopted algorithm. In addition, the QKD protocols were tested and analyzed to demonstrate the differences between all selected QKD protocols. In 1984, the BB84 protocol was introduced by Bennett and Brassard [20]. The concept of the BB84 protocol depends on the exchange of a secret key between Alice and Bob through a secure quantum channel. The process is described as a tossing-coin, whereby two communication channels (quantum and classical channels) are initiated between Alice and Bob. The quantum channel is technically the emission of a photon in either a free space or fiber-optic cable. The classical channel is an ordinary, traditional bit-shift channel, in which communications during the classical channel do not need to be secure. Both the sender and receiver should have a random number generator and four polarizing filters to generate qubits. These requirements should be available to fulfill the quality of photon submissions [21,22].
Moreover, generating a secret key using the BB84 protocol requires each of the communicating parties (the sender and receiver) to have a random number generator that should be placed in an appropriate position. The generator can be set in the middle between the legitimate parties. Primarily, the sender (Alice) starts preparing plaintext X, which is converted to a string of bits. Simultaneously, Alice initiates a random set of bases (recliner or diagonal) that matches the length of plaintext X. These bases include four states (|+ , |− , |0 , and |1 ). Each state on a different basis reflects the probability of (0 or 1). Furthermore, the entire prepared states |ϕ i will be submitted to a quantum channel with the same polarization of the prepared state as long as there is no interruption [23].
The probability of X encoded during Alice's setup represents the randomness of an encryption algorithm, where encoding the same information of X many times produces various ciphertexts [24]. Although many schemes have been published illustrating the inefficiency of the BB84 protocol as well as the weaknesses in the encryption mechanism, the BB84 protocol remains a solid background for many modern QKD protocols. The BB84 protocol is also considered to demonstrate the relationship between simplicity and durability, as shown in Figure 2.
Then, this paper introduces some well-known QKD protocols and explains each QKD protocol based on the mechanism of the adopted algorithm. In addition, the QKD protocols were tested and analyzed to demonstrate the differences between all selected QKD protocols.

The BBB84 Protocol
In 1984, the BB84 protocol was introduced by Bennett and Brassard [20]. The concept of the BB84 protocol depends on the exchange of a secret key between Alice and Bob through a secure quantum channel. The process is described as a tossing-coin, whereby two communication channels (quantum and classical channels) are initiated between Alice and Bob. The quantum channel is technically the emission of a photon in either a free space or fiber-optic cable. The classical channel is an ordinary, traditional bit-shift channel, in which communications during the classical channel do not need to be secure. Both the sender and receiver should have a random number generator and four polarizing filters to generate qubits. These requirements should be available to fulfill the quality of photon submissions [21,22].
Moreover, generating a secret key using the BB84 protocol requires each of the communicating parties (the sender and receiver) to have a random number generator that should be placed in an appropriate position. The generator can be set in the middle between the legitimate parties. Primarily, the sender (Alice) starts preparing plaintext X, which is converted to a string of bits. Simultaneously, Alice initiates a random set of bases (recliner or diagonal) that matches the length of plaintext X. These bases include four states (|+⟩, |−⟩, |0⟩, and |1⟩). Each state on a different basis reflects the probability of (0 or 1). Furthermore, the entire prepared states |φ i ⟩ will be submitted to a quantum channel with the same polarization of the prepared state as long as there is no interruption [23]. The probability of X encoded during Alice's setup represents the randomness of an encryption algorithm, where encoding the same information of X many times produces various ciphertexts [24]. Although many schemes have been published illustrating the inefficiency of the BB84 protocol as well as the weaknesses in the encryption mechanism, the BB84 protocol remains a solid background for many modern QKD protocols. The BB84 protocol is also considered to demonstrate the relationship between simplicity and durability, as shown in Figure 2. The main outline of secret key's process in quantum key distribution protocols, where the sender initiates the communication from up with converting the bits to quantum bit. Then processing the submissions between the sender and receiver through quantum channels, and finally the confirmation and error-correction will be using a classical system.
In addition, the BB84 protocol relies on the non-cloning theorem and the Heisenberg uncertainty principle to secure the submitted qubits. The non-cloning theorem is derived from the superposition principles of quantum mechanics [25]. Moreover, the non-cloning feature makes the BB84 protocol more stable by detecting any attack, although attackers never stop attempting to crack any cryptographic protocol. The Heisenberg uncertainty Figure 2. The main outline of secret key's process in quantum key distribution protocols, where the sender initiates the communication from up with converting the bits to quantum bit. Then processing the submissions between the sender and receiver through quantum channels, and finally the confirmation and error-correction will be using a classical system.
In addition, the BB84 protocol relies on the non-cloning theorem and the Heisenberg uncertainty principle to secure the submitted qubits. The non-cloning theorem is derived from the superposition principles of quantum mechanics [25]. Moreover, the non-cloning feature makes the BB84 protocol more stable by detecting any attack, although attackers never stop attempting to crack any cryptographic protocol. The Heisenberg uncertainty principle is described as the impossibility to prepare or measure states simultaneously in a specific environment based on position and momentum with quantum conditions.
In general, quantum key distribution protocols can be categorized by two disciplines of the photon behavior: the first one is based on superposition states (orthogonal/nonorthogonal) and the second one is based on the entangled states, where the BB84 protocol uses polarized orthogonal states [26]. In superposition states, Alice sends a state that should Cryptography 2022, 6, 12 6 of 25 be generated on bases of (×) or (+) as above, where in this case, Bob should work on one of these bases randomly. Furthermore, if Alice uses the (×) basis to submit a |1 state, she will send a | state. Following the same, if she wants to send a | ↑ state, and Bob already measured the | ↑ state in the (+) basis, he will record a |1 state. Additionally, if Alice sends a photon as | or | state and Bob just measures the photon in the basis (+), the measurement will be in the polarized states in Equation (1) as follows: (1) Therefore, there is a 50% chance of recording |0 or |1 state by Bob as well as four possibilities [9] in Equation (2) as follows: These possibilities are shown on the Bloch sphere to display the measure of each polarization state that can be displayed in a three-dimensional space (x, y, and z) as shown in Figure 3.
In general, quantum key distribution protocols can be categorized by two disciplines of the photon behavior: the first one is based on superposition states (orthogonal/non-orthogonal) and the second one is based on the entangled states, where the BB84 protocol uses polarized orthogonal states [26]. In superposition states, Alice sends a state that should be generated on bases of (×) or (+) as above, where in this case, Bob should work on one of these bases randomly. Furthermore, if Alice uses the (×) basis to submit a |1⟩ state, she will send a |↖⟩ state. Following the same, if she wants to send a |↑⟩ state, and Bob already measured the |↑⟩ state in the (+) basis, he will record a|1⟩ state. Additionally, if Alice sends a photon as |↗⟩ or |↖⟩ state and Bob just measures the photon in the basis (+), the measurement will be in the polarized states in Equation (1) as follows: (1) Therefore, there is a 50% chance of recording |0⟩ or |1⟩ state by Bob as well as four possibilities [9] in Equation (2) as follows: These possibilities are shown on the Bloch sphere to display the measure of each polarization state that can be displayed in a three-dimensional space (x, y, and z) as shown in Figure 3. In fact, there are many sequential steps for both parties to create a successful Shared Secret Key (SSK) using the BB84 protocol, as shown in Figure 2. These steps are described as follows: In fact, there are many sequential steps for both parties to create a successful Shared Secret Key (SSK) using the BB84 protocol, as shown in Figure 2. These steps are described as follows: Step 1: The length of the plaintext X should be set up by Alice to become a string of n-bits, and then the n-bits are applied to a randomly prepared basis (× or+).
Step 2: Each random basis will produce a random state either |0 or |1 if the basis is |× , or |0 or |1 if the basis is |+ as shown in Table 2. Alice's random bits 0 1 1 0 1 1 Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Table 3. Bob receives n random bits in random measurements. 0  1  2  3  4  5 Bob's random bases

Bit Number
Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits.  Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits.  Step 3: When the string of n-qubits is submitted by Alice, Bob measures t ing n-qubits based on random bases, as shown in Table 3. Next, Bob obtains states that reflect n-bits. If Bob cannot measure all the submitted qubits, both p release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caus where many error-correction methods [27] are used in the BB84 protocol. The key is processed, when Alice and Bob compare the matching bits, where the un bits are discarded, as shown in Table 4. This is called a sifting procedure, which any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication m reconciliation phase only if the error rate is low. On the other hand, Alice and B the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreov key contains the matched qubits of both parties. Unmatched qubits are supp removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in phase, as shown in Table 5, as they endeavor to reduce the number of exposed Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits. Step 1: The length of the plaintext X should be set up by Alice to become a string of n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ if the basis is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2.  Alice's random bits 0 1 1 0 1 1 Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits. Step 1: The length of the plaintext X should be set up by Alice to become n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2.  Alice's random bits 0 1 1 0 1 Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures ing n-qubits based on random bases, as shown in Table 3. Next, Bob obtains states that reflect n-bits. If Bob cannot measure all the submitted qubits, both release additional qubits by sharing the used bases through a public channel. Table 3. Bob receives n random bits in random measurements.

Bit Number
Step 4: Both Alice and Bob start estimating the errors that could be cau where many error-correction methods [27] are used in the BB84 protocol. The key is processed, when Alice and Bob compare the matching bits, where the u bits are discarded, as shown in Table 4. This is called a sifting procedure, whic any attempt by Eve to obtain information and detect any error [28]. Alice's random bases Step 5: After matching the sent and received qubits, the communication m reconciliation phase only if the error rate is low. On the other hand, Alice and the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreov key contains the matched qubits of both parties. Unmatched qubits are supp removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in phase, as shown in Table 5, as they endeavor to reduce the number of exposed Step 1: The length of the plaintext X should be set up by Alice to become a string of n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ if the basis is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2.  Alice's random bits 0 1 1 0 1 1 Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Alice's random bases Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits. Step 1: The length of the plaintext X should be set up by Alice to become n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2.  Alice's random bits 0 1 1 0 1 Alice's random bases Step 3: When the string of n-qubits is submitted by Alice, Bob measures ing n-qubits based on random bases, as shown in Table 3. Next, Bob obtains states that reflect n-bits. If Bob cannot measure all the submitted qubits, both release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be cau where many error-correction methods [27] are used in the BB84 protocol. The key is processed, when Alice and Bob compare the matching bits, where the u bits are discarded, as shown in Table 4. This is called a sifting procedure, whic any attempt by Eve to obtain information and detect any error [28]. Alice's random bases Step 5: After matching the sent and received qubits, the communication m reconciliation phase only if the error rate is low. On the other hand, Alice and the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreov key contains the matched qubits of both parties. Unmatched qubits are supp removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in phase, as shown in Table 5, as they endeavor to reduce the number of exposed Step 8: After checking for errors, Alice and Bob share an SSK that has the same length of plaintext X [29,30]. In other words, Alice could cheat in this position by sending a different basis (rectilinear and diagonal basis or neither rectilinear nor diagonal photon), so that she is not in a position to agree with any of Bob's table records in step (3). In contrast, Bob's table records the result of probabilistic behavior that is not under the control of the matching raw key [31].
Hence, it is very important to realize that if Alice tries to cheat in step (1), for instance, by sending a mixture of rectilinear and diagonal states, Alice will lose the ability to agree with Bob's records table after step (1). Finally, the BB84 protocol is assigned a secure protocol as mentioned in [32], and it is a simple protocol compared with current QKD protocols. This simplicity is based on the law of physics that occur during key generation.

The SARG04 Protocol
In 2004, SARG04 was introduced by Scarain, Acin, Ribordy, and Gisin [33]. This protocol was then extracted using the previous protocol BB84. The SARG04 protocol uses the same bases and states as the BB84 protocol, where two bases (× or +) and four states (|+ , |− , |0 , |1 ) are used to initiate quantum submissions between the communicating parties. The SARG04 protocol is designed to be a robust protocol against Photon-Number-Splitting (PNS) attacks, especially when weakened laser pulses are emitted instead of a single photon source. Furthermore, SARG04 and BB84 are essentially equivalent to each other in the quantum communication phase, but the variation occurs by encoding and decoding the exchanged information into the classical channel [34].
The SARG04 protocol has a certain number of instructive differences, of which Bob must always choose the bases with a probability of 1 2 , even when Alice uses the same bases [35,36], [37] (p. 4). Although the SARG04 protocol is considered a new quantum mechanism for creating a secure shared key, the BB84 protocol is still seen in the instructions of the SARG04 protocol. In other words, when Alice matches the initiated qubits with the equivalent qubits from Bob, the Quantum Bit Error Rate (QBER) increases based on the presence of the error (unlike BB84, which is satisfied by the sifting phase).
To abstract the sequential steps of the SARG04 protocol between the two legitimate parties Alice and Bob, one-way communication was applied as follows: Step 1: Alice creates n photons that start randomly with each of the four states (|ϕ i , i = 0, 1, 2, 3. ); Bob should receive one of the four states.
Step 2: When the photon is sent to Bob, it is measured randomly into quantum detectors using two bases (×or +). If this measurement does not match or cannot be measured, Bob informs Alice to ignore this photon.
Step 3: Alice informs Bob about the states of photons |ϕ i that were chosen during the initiation period. Bob then matches outcomes using only two states. If the result was proven to be an orthogonal state to one of the set of states, the other states will already be proven. However, if the measured photons are not orthogonal, Bob should know that the measurements are not incisive. He then asks Alice to provide more specific details in the reconciliation phase.
Step 4: In the reconciliation phase, some qubits are chosen randomly to be tested and corrected by Alice, where Bob calculates the QBER. If the measurement of QBER was very high, Alice and Bob would agree to cancel the protocol and start another communication.
Step 5: In accordance with the previous step, both Alice and Bob retain only the conclusively matched qubits, which are used in a raw key. Unmatched qubits are treated during the qubit error-correction and privacy amplification phases [38][39][40].
SARG04 protocol can withstand PNS attacks. Although SARG04 appears as the BB84 protocol for all manipulations at the quantum level, it differs in the error-correction phase (sifting phase), where both parties communicate using a classical channel by encoding and decoding the shared information.

The B92 Protocol
B92 was proposed by Bennett in 1992 [41]. The protocol contains only two particle states, rather than four states in the BB84 protocol. The two states should be nonorthogonal, as illustrated in Figure 4. The process of the B92 protocol is involved in the quantum phase as follows: Step 1: Alice sends a random string of qubits (A) to Bob; where A ∈ {0, 1} n , n > N (which N is the length of final key), so if Alice sent the |0 state that means A i = 0, and A i = 1 if she sent |+ state, for all i ∈ {0, 1, . . . n}.
Step 2: On the other hand, Bob creates a vector of bits (B) where B ∈ {0, 1} n , n > N, which if (B i = 0); then Bob will choose the basis (+), and if (B i = 1) he will choose the basis (×) for all i ∈ {0, 1 . . . n}.
Step 3: When Bob starts measuring the upcoming qubits, each qubit is measured on a selected (+) or (×) basis.
Step 4: After measuring the vector of states, Bob starts completing the following rules: if the measurement of the qubit produces |0 or |+ then T i = 0, and if it produces |1 or |− , T i = 1 for all i ∈ {0, 1 . . . n} [42].
nal, as illustrated in Figure 4. The process of the B92 protocol is involved in the q phase as follows: Step 1: Alice sends a random string of qubits (A) to Bob; where A ∈ {0,1} n (which N is the length of final key), so if Alice sent the |0⟩ state that means A i = A i = 1 if she sent |+⟩ state, for all i ∈ {0, 1, … n}.
Step 2: On the other hand, Bob creates a vector of bits (B) where B ∈ {0,1} n which if (B i = 0); then Bob will choose the basis (+), and if (B i = 1) he will ch basis (×) for all i ∈ {0,1 … n}.
Step 3: When Bob starts measuring the upcoming qubits, each qubit is meas a selected (+) or (×) basis.
Step 4: After measuring the vector of states, Bob starts completing the fo rules: if the measurement of the qubit produces |0⟩ or |+⟩ then T i = 0, and i duces |1⟩ or |−⟩, T i = 1 for all i ∈ {0,1 … n} [42]. In general, the B92 protocol uses a non-orthogonal state to transmit informa quantum channel. The protocol has a robust scheme with optical imperfection an tor noise, unlike the BB84 protocol. Naturally, the noise at the end of the commu can be as high as 1.6% [43]. Moreover, the B92 protocol technically has less usage tum memory (if any) and quantum channel capacity.

The Coherent One-Way Protocol
The Coherent One-Way (COW) is a simple protocol [44,45], which depend coding the information into time slots. Alice sends coherent pulses in logic state or decoy states. Each logical bit is encoded to either (μ − 0) for logical (0) or for logical (1) by a sequence of two pulses. Furthermore, to improve the securit protocol, Alice adds decoy sequences of (μ − μ) while submitting the other states. If the pulses submitted to the interferometer are well aligned on Bob's si the received pulses will be perfectly detected on DM1 (interferometer) and there no detection on DM2 (detector). Therefore, the loss of coherence will be displaye detector when the eavesdropper tries to listen [46]. where μ is the mean photon number per pulse.
In this protocol, the transmission and reception of data depends on the time o of the signal and does not depend on the polarization of the optical signals. Th protocol works briefly as follows: In general, the B92 protocol uses a non-orthogonal state to transmit information to a quantum channel. The protocol has a robust scheme with optical imperfection and detector noise, unlike the BB84 protocol. Naturally, the noise at the end of the communication can be as high as 1.6% [43]. Moreover, the B92 protocol technically has less usage of quantum memory (if any) and quantum channel capacity.

The Coherent One-Way Protocol
The Coherent One-Way (COW) is a simple protocol [44,45], which depends on decoding the information into time slots. Alice sends coherent pulses in logic states as [35] or decoy states. Each logical bit is encoded to either (µ − 0) for logical (0) or (0 − µ) for logical (1) by a sequence of two pulses. Furthermore, to improve the security of this protocol, Alice adds decoy sequences of (µ − µ) while submitting the other logical states. If the pulses submitted to the interferometer are well aligned on Bob's side, then the received pulses will be perfectly detected on DM1 (interferometer) and there will be no detection on DM2 (detector). Therefore, the loss of coherence will be displayed on the detector when the eavesdropper tries to listen [46].
where µ is the mean photon number per pulse.
In this protocol, the transmission and reception of data depends on the time of arrival of the signal and does not depend on the polarization of the optical signals. The COW protocol works briefly as follows: Step 1: Alice transmits a sequence of binary bits using time slots to Bob and generates both logical states of |1 or |0 (which has the same probability unless decoy states are added). Obtaining a probability of 1 2 for each of |1 or |0 states and adding the decoy states are calculated by (1 − f)/2 (where f is the probability of decoy state generation).
Step 2: Bob exploits the time detection to generate a raw key, where all previous processes are performed by different detectors to improve the security rate in Equation (4).
where p D Mj is the probability of the D Mj clicks at the time when (D M1 ) should click, as shown in Figure 5.
Cryptography 2022, 6, x FOR PEER REVIEW 10 of 2 Step 1: Alice transmits a sequence of binary bits using time slots to Bob and generate both logical states of |1⟩ or |0⟩ (which has the same probability unless decoy states ar added). Obtaining a probability of ½ for each of |1⟩ or |0⟩ states and adding the deco states are calculated by (1 − f) 2 ⁄ (where f is the probability of decoy state generation).
Step 2: Bob exploits the time detection to generate a raw key, where all previous pro cesses are performed by different detectors to improve the security rate in Equation (4).
where p(D Mj ) is the probability of the (D Mj ) clicks at the time when (D M1 ) should click as shown in Figure 5. Step 3: Bob declares the number of bits by simultaneous procedures between the dat detector and time detection on the side.
Step 4: On monitoring the detectors, Alice ensures that the sequence of decoy state and bit sequences still exists. If not, Eve has tapped the communication. In this case, Alic breaks the coherence into two pulses to detect an interrupted state.
Step 5: Alice informs Bob about the bits that have been removed from the raw ke because those bits belong to the decoy state sequence.
Step 6: The secret key is extracted after dropping the decoy sequences from the raw key using a classical process, and the shared key is obtained by error-correction and pr vacy amplification [47].
This protocol, as reported in [48], is designed to be a robust quantum protocol agains reduced interference visibility and PNS attacks. The COW protocol also has simple trans missions into data lines, low losses at the measurement side, and a small QBER detection

The KMB09 Protocol
This protocol was presented in 2009 [49] by Khan, Murphy, and Beige, and is de signed to be robust against PNS attacks. Khan et al. describe the protocol as being betwee two parties (Alice and Bob) and an eavesdropper (Eve). Both parties must use two base e and f, where both parties should use different indices i whenever they use the sam basis [50]. Moreover, the i index is publicly declared between two legitimate parties which can be pointed to Alice's prepared indices as i and Bob's measured indices as j.
In KMB09, the authors attempted to create a protocol that could withstand PNS attacks In addition, KMB09 was created when other protocols were used for a few kilometers where the system error rate could exceed the eavesdropper's presence. The protocol wa optimized by using an Index Transmission Error Rate (ITER) instead of QBER during th reconciliation phase. The next steps briefly explain the KMB09 protocol as follows: Step 3: Bob declares the number of bits by simultaneous procedures between the data detector and time detection on the side.
Step 4: On monitoring the detectors, Alice ensures that the sequence of decoy states and bit sequences still exists. If not, Eve has tapped the communication. In this case, Alice breaks the coherence into two pulses to detect an interrupted state.
Step 5: Alice informs Bob about the bits that have been removed from the raw key because those bits belong to the decoy state sequence.
Step 6: The secret key is extracted after dropping the decoy sequences from the raw key using a classical process, and the shared key is obtained by error-correction and privacy amplification [47].
This protocol, as reported in [48], is designed to be a robust quantum protocol against reduced interference visibility and PNS attacks. The COW protocol also has simple transmissions into data lines, low losses at the measurement side, and a small QBER detection.

The KMB09 Protocol
This protocol was presented in 2009 [49] by Khan, Murphy, and Beige, and is designed to be robust against PNS attacks. Khan et al. describe the protocol as being between two parties (Alice and Bob) and an eavesdropper (Eve). Both parties must use two bases e and f, where both parties should use different indices i whenever they use the same basis [50]. Moreover, the i index is publicly declared between two legitimate parties, which can be pointed to Alice's prepared indices as i. and Bob's measured indices as j.
In KMB09, the authors attempted to create a protocol that could withstand PNS attacks. In addition, KMB09 was created when other protocols were used for a few kilometers, where the system error rate could exceed the eavesdropper's presence. The protocol was optimized by using an Index Transmission Error Rate (ITER) instead of QBER during the reconciliation phase. The next steps briefly explain the KMB09 protocol as follows: Step 1: Alice randomly generates a sequence of classical bits, and then randomly specifies an index i = 1, 2 . . . N.
Step 2: Alice sends the prepared bits in a single photon into either |e i or |f i basis to Bob.
Step 3: Each incoming state is measured by Bob to be randomly switched between bases e and f.
Step 4: Alice announces in public communication to Bob about the random sequential indices i to obtain the secret key.
Step 5: Bob translates the measurement outcomes.
Step 6: Bob communicates with Alice publicly to share that the photon measurements were successfully received and obtained the secret key.
Step 7: Alice and Bob can determine whether Eve is eavesdropping on the communication as Equation (5) [51].
where e, f and g are bases, and the state of |g k is Eve's possible measurement outcomes, and it is forwarded to Bob without alteration. The polarization of a single photon is initiated in multi-dimensional states, as shown in Figure 6, which is based on orthogonal or non-orthogonal bases [52].
Step 1: Alice randomly generates a sequence of classical bits, and then ra specifies an index i = 1, 2 … N.
Step 2: Alice sends the prepared bits in a single photon into either |e i ⟩ or | to Bob.
Step 3: Each incoming state is measured by Bob to be randomly switched bases e and f.
Step 4: Alice announces in public communication to Bob about the random tial indices i to obtain the secret key.
Step 5: Bob translates the measurement outcomes.
Step 6: Bob communicates with Alice publicly to share that the photon measu were successfully received and obtained the secret key.
Step 7: Alice and Bob can determine whether Eve is eavesdropping on the nication as Equation (5) [51].
where e, f and g are bases, and the state of |g k ⟩ is Eve's possible measurement ou and it is forwarded to Bob without alteration. The polarization of a single photon is initiated in multi-dimensional states, a in Figure 6, which is based on orthogonal or non-orthogonal bases [52]. The KMB09 protocol is designed to be used under ideal conditions, where possible for Alice and Bob to have different indices while using the same basis. T tocol is more robust against any eavesdropper who tries to hide his/her presenc dition, the strong correlation between QBER and ITER makes the eavesdropper a distinct signature that is easy to detect.

The EPR Protocol
EPR Pair Paradox was inspired by Einstein, Podolsky, and Rosen, who pre dialectical paper in 1935 [53]. The presented theory has led to an argument about q mechanics, which is not a completely physical theory. The main concept uses thr of polarization considering |θ⟩, where the polarization state of the photon is line larized at angle θ. More precisely, the EPR is a pair of particles that can be separa over a great distance, so that both photons show in a paradox "action at a distanc To explain the nature of the EPR pair paradox clearly, when one photon is m on the right side, the outcome may be a vertical linear polarization |0⟩ state. On t hand, the measurement will be a |1⟩ state on the left side, where the measured will be horizontally in a linear polarization state |π/2⟩ (and vice versa). There EPR is one of the four Bell states as Equation (6). The KMB09 protocol is designed to be used under ideal conditions, where it is impossible for Alice and Bob to have different indices while using the same basis. This protocol is more robust against any eavesdropper who tries to hide his/her presence. In addition, the strong correlation between QBER and ITER makes the eavesdropper produce a distinct signature that is easy to detect.

The EPR Protocol
EPR Pair Paradox was inspired by Einstein, Podolsky, and Rosen, who presented a dialectical paper in 1935 [53]. The presented theory has led to an argument about quantum mechanics, which is not a completely physical theory. The main concept uses three states of polarization considering |θ , where the polarization state of the photon is linearly polarized at angle θ. More precisely, the EPR is a pair of particles that can be separated even over a great distance, so that both photons show in a paradox "action at a distance" [54].
To explain the nature of the EPR pair paradox clearly, when one photon is measured on the right side, the outcome may be a vertical linear polarization |0 state. On the other hand, the measurement will be a |1 state on the left side, where the measured photons will be horizontally in a linear polarization state |π/2 (and vice versa). Therefore, the EPR is one of the four Bell states as Equation (6).
The EPR protocol was presented by Artur K. Ekert in 1991 [55], which is completely based on the use of an entanglement state between two remote parties. Moreover, few Cryptography 2022, 6, 12 12 of 25 modifications have been made since the first EPR protocol has become popular. Hwang et al. [56] explained some of these modifications to the EPR protocol. The EPR process is shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled qubits) n, where one photon is stored in a quantum memory and sends the other to Bob.
Step 2: Both communicators randomly choose a sequence of bases (×or +); these bases are used to measure the particles at each side of the communication, as shown in Table 6. Alice's random bases Step 3: In public, Alice and Bob match the outcomes of their measurements and keep only the qubits that were measured on the same basis, as in Table 7. Alice's random bases The EPR protocol was presented by Artur K. Ekert in 1991 [55], which is completely based on the use of an entanglement state between two remote parties. Moreover, few modifications have been made since the first EPR protocol has become popular. Hwang et al. [56] explained some of these modifications to the EPR protocol. The EPR process is shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled qubits) n, where one photon is stored in a quantum memory and sends the other to Bob.
Step 2: Both communicators randomly choose a sequence of bases (× or +); these bases are used to measure the particles at each side of the communication, as shown in Table 6. Step 3: In public, Alice and Bob match the outcomes of their measurements and keep only the qubits that were measured on the same basis, as in Table 7. The remaining of EPR protocol includes decisions made by communicating parties. The public channel will be the next choice to ignore any errors while exchanging qubits through the quantum channel. Therefore, classical communication is analogous to the reconciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this protocol has a different technique compared to the previous protocols. S09 relies on public-private key cryptography, and the main process of the S09 is based on exchanging a qubit multiple times to build a secret key between Alice and Bob. However, the S09 protocol transfers the qubit into any arbitrary state that is agreed on between Alice and Bob only through the quantum channel. The sequences of the S09 protocol are briefly explained as follows.
The EPR protocol was presented by Artur K. Ekert in 1991 [55], which is completely based on the use of an entanglement state between two remote parties. Moreover, few modifications have been made since the first EPR protocol has become popular. Hwang et al. [56] explained some of these modifications to the EPR protocol. The EPR process is shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled qubits) n, where one photon is stored in a quantum memory and sends the other to Bob.
Step 2: Both communicators randomly choose a sequence of bases (× or +); these bases are used to measure the particles at each side of the communication, as shown in Table 6. Table 6. the measurements in the EPR protocol Alice and bob measure in each of their random bases.

Bit Number 1 2 3 4 5 6
Alice's random bases Step 3: In public, Alice and Bob match the outcomes of their measurements and keep only the qubits that were measured on the same basis, as in Table 7. The remaining of EPR protocol includes decisions made by communicating parties. The public channel will be the next choice to ignore any errors while exchanging qubits through the quantum channel. Therefore, classical communication is analogous to the reconciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this protocol has a different technique compared to the previous protocols. S09 relies on public-private key cryptography, and the main process of the S09 is based on exchanging a qubit multiple times to build a secret key between Alice and Bob. However, the S09 protocol transfers the qubit into any arbitrary state that is agreed on between Alice and Bob only through the quantum channel. The sequences of the S09 protocol are briefly explained as follows.
The EPR protocol was presented by Artur K. Ekert in 1991 [55], which is completel based on the use of an entanglement state between two remote parties. Moreover, few modifications have been made since the first EPR protocol has become popular. Hwan et al. [56] explained some of these modifications to the EPR protocol. The EPR process shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled qubits) n, where on photon is stored in a quantum memory and sends the other to Bob. Step 2: Both communicators randomly choose a sequence of bases (× or +); thes bases are used to measure the particles at each side of the communication, as shown i Table 6. Table 6. the measurements in the EPR protocol Alice and bob measure in each of their random bases.

Bit Number 1 2 3 4 5 6
Alice's random bases Step 3: In public, Alice and Bob match the outcomes of their measurements and kee only the qubits that were measured on the same basis, as in Table 7. The remaining of EPR protocol includes decisions made by communicating partie The public channel will be the next choice to ignore any errors while exchanging qubit through the quantum channel. Therefore, classical communication is analogous to the rec onciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this protocol has a differen technique compared to the previous protocols. S09 relies on public-private key cryptog raphy, and the main process of the S09 is based on exchanging a qubit multiple times t build a secret key between Alice and Bob. However, the S09 protocol transfers the qub into any arbitrary state that is agreed on between Alice and Bob only through the quantum channel. The sequences of the S09 protocol are briefly explained as follows.
The EPR protocol was presented by Artur K. Ekert in 1991 [55], which is based on the use of an entanglement state between two remote parties. Mo modifications have been made since the first EPR protocol has become popu et al. [56] explained some of these modifications to the EPR protocol. The EP shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled qubits) n, photon is stored in a quantum memory and sends the other to Bob.
Step 2: Both communicators randomly choose a sequence of bases (× o bases are used to measure the particles at each side of the communication, a Table 6. Table 6. the measurements in the EPR protocol Alice and bob measure in each of t bases.

Bit Number 1 2 3 4 5
Alice's random bases Step 3: In public, Alice and Bob match the outcomes of their measuremen only the qubits that were measured on the same basis, as in Table 7. The remaining of EPR protocol includes decisions made by communicat The public channel will be the next choice to ignore any errors while exchan through the quantum channel. Therefore, classical communication is analogou onciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this protocol ha technique compared to the previous protocols. S09 relies on public-private k raphy, and the main process of the S09 is based on exchanging a qubit multi build a secret key between Alice and Bob. However, the S09 protocol transfe into any arbitrary state that is agreed on between Alice and Bob only through t channel. The sequences of the S09 protocol are briefly explained as follows.
The EPR protocol was presented by Artur K. Ekert in 1991 [55 based on the use of an entanglement state between two remote p modifications have been made since the first EPR protocol has bec et al. [56] explained some of these modifications to the EPR protoc shown in steps that demonstrate the original protocol [9]: Step 1: Alice creates a sequence of EPR photons (entangled photon is stored in a quantum memory and sends the other to Bob.
Step 2: Both communicators randomly choose a sequence of bases are used to measure the particles at each side of the commu Table 6. Table 6. the measurements in the EPR protocol Alice and bob measure bases.

Bit Number 1 2 3
Alice's random bases Step 3: In public, Alice and Bob match the outcomes of their m only the qubits that were measured on the same basis, as in Table 7  The remaining of EPR protocol includes decisions made by co The public channel will be the next choice to ignore any errors wh through the quantum channel. Therefore, classical communication i onciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this p technique compared to the previous protocols. S09 relies on publi raphy, and the main process of the S09 is based on exchanging a q build a secret key between Alice and Bob. However, the S09 proto into any arbitrary state that is agreed on between Alice and Bob only channel. The sequences of the S09 protocol are briefly explained as The EPR protocol was presented by Artur K. Ekert based on the use of an entanglement state between two modifications have been made since the first EPR proto et al. [56] explained some of these modifications to the E shown in steps that demonstrate the original protocol [9] Step 1: Alice creates a sequence of EPR photons ( photon is stored in a quantum memory and sends the ot Step 2: Both communicators randomly choose a se bases are used to measure the particles at each side of t Table 6. Table 6. the measurements in the EPR protocol Alice and bo bases.

Bit Number 1 2
Alice's random bases × × Alice's observations   Bob's random bases × + Bob's observations   Step 3: In public, Alice and Bob match the outcomes only the qubits that were measured on the same basis, as The remaining of EPR protocol includes decisions m The public channel will be the next choice to ignore any through the quantum channel. Therefore, classical comm onciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in technique compared to the previous protocols. S09 relie raphy, and the main process of the S09 is based on exch build a secret key between Alice and Bob. However, the into any arbitrary state that is agreed on between Alice an channel. The sequences of the S09 protocol are briefly ex Bob's random bases × + + × × + Agree 22, 6, x FOR PEER REVIEW 7 of 26 Step 1: The length of the plaintext X should be set up by Alice to become a string of n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ if the basis is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2. Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits. Step 1: The length of the plaintext X should be set up by Alice to become a string of n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ if the basis is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2. Step 3: When the string of n-qubits is submitted by Alice, Bob measures the upcoming n-qubits based on random bases, as shown in Table 3. Next, Bob obtains a string of states that reflect n-bits. If Bob cannot measure all the submitted qubits, both parties will release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be caused by Eve, where many error-correction methods [27] are used in the BB84 protocol. The raw secret key is processed, when Alice and Bob compare the matching bits, where the uncorrelated bits are discarded, as shown in Table 4. This is called a sifting procedure, which enhances any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication moves to the reconciliation phase only if the error rate is low. On the other hand, Alice and Bob end up the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreover, the raw key contains the matched qubits of both parties. Unmatched qubits are supposed to be removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in a separate phase, as shown in Table 5, as they endeavor to reduce the number of exposed qubits. Step 1: The length of the plaintext X should be set up by Alice to become n-bits, and then the n-bits are applied to a randomly prepared basis (× or +).
Step 2: Each random basis will produce a random state either |0⟩ or|1⟩ is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2. Step 3: When the string of n-qubits is submitted by Alice, Bob measures ing n-qubits based on random bases, as shown in Table 3. Next, Bob obtains states that reflect n-bits. If Bob cannot measure all the submitted qubits, both release additional qubits by sharing the used bases through a public channel. Step 4: Both Alice and Bob start estimating the errors that could be cau where many error-correction methods [27] are used in the BB84 protocol. The key is processed, when Alice and Bob compare the matching bits, where the u bits are discarded, as shown in Table 4. This is called a sifting procedure, whic any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the communication m reconciliation phase only if the error rate is low. On the other hand, Alice and the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw key. Moreov key contains the matched qubits of both parties. Unmatched qubits are supp removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qubits again in phase, as shown in Table 5, as they endeavor to reduce the number of exposed Step 1: The length of the plaintext X should be set up by Alice n-bits, and then the n-bits are applied to a randomly prepared basis Step 2: Each random basis will produce a random state eithe is |×⟩, or |0⟩ or|1⟩ if the basis is |+⟩ as shown in Table 2. Step 3: When the string of n-qubits is submitted by Alice, Bob ing n-qubits based on random bases, as shown in Table 3. Next, B states that reflect n-bits. If Bob cannot measure all the submitted qu release additional qubits by sharing the used bases through a publi Table 3. Bob receives n random bits in random measurements. Step 4: Both Alice and Bob start estimating the errors that cou where many error-correction methods [27] are used in the BB84 pr key is processed, when Alice and Bob compare the matching bits, w bits are discarded, as shown in Table 4. This is called a sifting proce any attempt by Eve to obtain information and detect any error [28]. Step 5: After matching the sent and received qubits, the commu reconciliation phase only if the error rate is low. On the other hand, the current communication if the error rate is too high.
Step 6: If the error rate is low, Alice and Bob share the raw ke key contains the matched qubits of both parties. Unmatched qubi removed from the shared key SSK.
Step 7: Next, Alice and Bob start correcting the erroneous qub phase, as shown in Table 5, as they endeavor to reduce the number The remaining of EPR protocol includes decisions made by communicating parties. The public channel will be the next choice to ignore any errors while exchanging qubits through the quantum channel. Therefore, classical communication is analogous to the reconciliation phase of the BB84 protocol.

The S09 Protocol
S09 protocol was presented by Esteban and Serna in 2012; this protocol has a different technique compared to the previous protocols. S09 relies on public-private key cryptography, and the main process of the S09 is based on exchanging a qubit multiple times to build a secret key between Alice and Bob. However, the S09 protocol transfers the qubit into any arbitrary state that is agreed on between Alice and Bob only through the quantum channel. The sequences of the S09 protocol are briefly explained as follows.
Step 1: Generate a bit i by Alice that would be in element of a secret base (B k ) to create a qubit |Ψ, k , which in turn is sent to Bob with a quantum channel.
Step 2: Bob applies U j to qubit |Ψ, k on the other side, which is only recognized by Bob. Thus, he can send the outcome of the qubit to Alice.
Step 3: When Alice receives the qubit, it is measured in the base (B k ) and includes bit j, where the qubit must be in a pure state (ρ) by the operator density [50]: Step 2: To obtain the public key, Bob encrypts: Step 3: Alice makes a summation to obtain the private string of m k , which is: and then decrypts the string (m 1 m 2 . . . m N ).
Step 5: Bob sums the sequence of bases m k with l k , where (m k ⊕ l k ), k = 1, 2 . . . N. This is to obtain the private string s k .
Bob then obtains the private string from Alice (i 1 i 2 . . . i N ). Finally, the S13 protocol is designed to be functional with existing devices, especially in the exchange phase after a qubit transmission. Several exchanges in the public channel will lead to a waste of time, as well as a chance for an eavesdropper to tap data. Furthermore, S13 is an improvement of the S09 protocol, which was ranked as a complex QKD protocol.

The Differential-Phase-Shift Protocol
The Differential-Phase-Shift (DPS) protocol was developed in 2002 by Inoue et al. [48]. The DPS protocol is based on four fully non-orthogonal states, in which Alice's photon splits into three pulses and it is randomly modulated. On the other hand, Bob measures the incoming photons from Alice with a differential phase measurement. As mentioned in [58], the DPS protocol is more suitable for fiber-optic transmission and provides a higher effective shared key than the BB84 protocol. Additionally, the DPS protocol has specific advantageous features that are included in a simple configuration, accurate time usage, and robustness again PNS attacks [59].
Technically, the DPS is used to create a secret key between two parties, and it starts at Alice's side when the single photon is divided into three paths (a, b, and c) and then recombined them using a beam splitter (BS) or optical switcher (SW), as shown in Figure 7. Moreover, the time delay (between a, b and b, c) is equal, so that the recombined photon is converted to each of (0 || π). The incoming photons from Alice to Bob are divided into two paths and recombined using (50:50) beam splitters. The entire expected scenario of the DPS protocol is performed in the following sequential steps.
Step 1: At Alice's side, a photon is sent from (a) to the short path on Bob's side.
Step 2: Another photon is pushed through (a) to the long path on Bob's side and through (b) to the short path.
Step 3: A photon is pushed through (b) to the long path on Bob's side, and (c) to the short path.
Step 4: Another photon is pushed through (c) to the long path on Bob's side.
In the first part of processing DPS, two probabilities overlap in steps (2) and (3), where the phase difference is (0 or ± π) which depends on Alice's modulation. Moreover, each detector clicks on (0) and the other clicks on (±π) phase difference. Finally, when Bob's detectors click, Bob records the time and knows which detector clicks. During the classical two-way communication, Alice knows which one clicks at Bob's detector [48,58]. Step 1: At Alice's side, a photon is sent from (a) to the short path on Bob's si Step 2: Another photon is pushed through (a) to the long path on Bob's through (b) to the short path.
Step 3: A photon is pushed through (b) to the long path on Bob's side, and short path.
Step 4: Another photon is pushed through (c) to the long path on Bob's side In the first part of processing DPS, two probabilities overlap in steps (2) and (3), w phase difference is (0 ± ) which depends on Alice's modulation. Moreover, tector clicks on (0) and the other clicks on (± ) phase difference. Finally, when B tectors click, Bob records the time and knows which detector clicks. During the two-way communication, Alice knows which one clicks at Bob's detector [48,58]

The QKD Protocols Features Based on Quantum Computing
As stated in the previous schemes, each quantum key distribution protoc dressed in two critical aspects. The first aspect is the movement of particles, wh lated to quantum mechanics and theories of physics. Moreover, this aspect sh physical motion of specific photons using the required observables (polarization, tum, mass, etc.) at initiation and measurement conditions. The second aspect re the comfort of using a classical system (or our current computer) with quan (qubits). The ability to convert qubits to bits in existing platforms using quantum ers is still unavailable.
Furthermore, the conclusion of the previous aspects has been collected on t tographic point of view as shown in Table 8 [60], where the main security classi of the quantum cryptography for some well-known QKD protocols (review of literature) are presented. These classifications focused on the instructions for t protocols that used either the law of physics or the fundamentals of classical raphy. However, many cryptographic features are still not available for approv such as professional quantum apparatus and quantum hardware. To improve t ence of these features, the entire classical system used, and the upcoming quantum should overlap. For example, security attackers attempt to break any information by discovering vulnerabilities and weaknesses into those platforms.

The QKD Protocols Features Based on Quantum Computing
As stated in the previous schemes, each quantum key distribution protocol is addressed in two critical aspects. The first aspect is the movement of particles, which is related to quantum mechanics and theories of physics. Moreover, this aspect shows the physical motion of specific photons using the required observables (polarization, momentum, mass, etc.) at initiation and measurement conditions. The second aspect represents the comfort of using a classical system (or our current computer) with quantum bits (qubits). The ability to convert qubits to bits in existing platforms using quantum computers is still unavailable.
Furthermore, the conclusion of the previous aspects has been collected on the cryptographic point of view as shown in Table 8 [60], where the main security classifications of the quantum cryptography for some well-known QKD protocols (review of previous literature) are presented. These classifications focused on the instructions for the QKD protocols that used either the law of physics or the fundamentals of classical cryptography. However, many cryptographic features are still not available for approval today, such as professional quantum apparatus and quantum hardware. To improve the presence of these features, the entire classical system used, and the upcoming quantum system should overlap. For example, security attackers attempt to break any information system by discovering vulnerabilities and weaknesses into those platforms.

Runtime Analysis of QKD Protocols
Since the processing time of each QKD protocol is a critical term for secret key generation, the runtime execution has been experimented with in a specific ecological scheme. The same number of n-qubits has been implemented, and all QKD algorithms are formatted based on the original protocol, with many improvements recently updated. Moreover, the experiments present runtime simulations of all QKD protocols in a classical system by applying quantum libraries [61,62] in MATLAB. All these simulations reflected a high percentage of reality as far as they are used in a quantum system. These simulations were implemented by applying 500 qubits to create a secret key (SSK), where each protocol has an independent scheme. In terms of the number of qubits that can be sent from Alice to Bob, each QKD protocol expects an error rate (covered qubits). Based on the recorded error rate, both participants can decide to either extend the protocol's operations or cancel the communication entirely.
Figures 8-16 [60] show only one of the runtime execution measurements for each QKD protocol, although several implementations were performed to determine the behavior of each QKD protocol. The measurements show variations during the process of each QKD protocol, as well as the real-time of each protocol, especially, when the QKD protocol applies more than 500 qubits between two legitimate parties. The gaps between each runtime execution depend on the properties of the states used (arbitrary, superposition, or entangled) and the number of bases used (orthogonal or non-orthogonal) that are employed for encrypting/decrypting the plaintext X. In addition, the differences between the studied QKD are related to the type of communication channels that are initiated between two legitimate parties (e.g., quantum or public channels). Each communication channel should have a certain mechanism, either to generate a specific state of a photon or to measure the received qubits. Therefore, runtime execution measurements were applied in the absence of Eve since Eve can cause relative and unstable errors. These errors can produce large variations based on different methods [63]. However, noise was applied in these experiments, which are usually generated by the environment.
After simulating each QKD algorithm by applying the runtime execution T(n) function, the results show the relative complexity in each QKD protocol with obvious variations. The T(n) function is linear and will lead to an increase in the life of the key generation, as long as the communication is active. For instance, the SARG04 protocol is similar to the BB84 protocol, except that SARG04 has a higher complexity than the BB84 protocol. Furthermore, SARG04 takes (≈ 0.815 ms) to generate a secret key more than BB84 (≈ 0.364 ms). Table IX shows the runtime execution of the QKD protocol limited to 500 qubits (ms).
In addition, the runtime execution measurement for the DPS protocol shows differentiation because initiating the DPS requires applying a photon in multiple states (arbitrary states). The differentiation of running each QKD protocol at certain functions and operations is based on the nature of each operation complexity such as converting a bit to qubit. In addition, the looping of each function produces sequential procedures before creating the SSK.

Figure 8.
The Runtime Execution is measured in the BB84 by applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. This QKD protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 9. The Runtime Execution in the SARG04 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The SARG04 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.  . The Runtime Execution in the SARG04 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The SARG04 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 9. The Runtime Execution in the SARG04 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The SARG04 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 10. The Runtime Execution in the B92 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The B92 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 11. The Runtime Execution in COW after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The COW protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 10. The Runtime Execution in the B92 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The B92 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.
Cryptography 2022, 6, x FOR PEER REVIEW 18 of 26 Figure 10. The Runtime Execution in the B92 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The B92 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 11. The Runtime Execution in COW after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The COW protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 11. The Runtime Execution in COW after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The COW protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 12. The Runtime Execution in the KMB09 after assigning multidimensional qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The KMB09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 13. The Runtime Execution in the EPR after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The EPR protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 12. The Runtime Execution in the KMB09 after assigning multidimensional qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The KMB09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.
Cryptography 2022, 6, x FOR PEER REVIEW 19 of 26 Figure 12. The Runtime Execution in the KMB09 after assigning multidimensional qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The KMB09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 13. The Runtime Execution in the EPR after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The EPR protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 13. The Runtime Execution in the EPR after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The EPR protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Cryptography 2022, 6, x FOR PEER REVIEW 20 of 26 Figure 14. The Runtime Execution in the S09 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 15. The Runtime Execution in the S13 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S13 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 14. The Runtime Execution in the S09 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.
Cryptography 2022, 6, x FOR PEER REVIEW 20 of 26 Figure 14. The Runtime Execution in the S09 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S09 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 15. The Runtime Execution in the S13 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S13 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 15. The Runtime Execution in the S13 after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The S13 protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key. Figure 16. The Runtime Execution in the DPS after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The DPS protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.
After simulating each QKD algorithm by applying the runtime execution T(n) function, the results show the relative complexity in each QKD protocol with obvious variations. The T(n) function is linear and will lead to an increase in the life of the key generation, as long as the communication is active. For instance, the SARG04 protocol is similar to the BB84 protocol, except that SARG04 has a higher complexity than the BB84 protocol. Furthermore, SARG04 takes (≈ 0.815 ms) to generate a secret key more than BB84 (≈ 0.364 ms). Table Ⅸ shows the runtime execution of the QKD protocol limited to 500 qubits (ms).
In addition, the runtime execution measurement for the DPS protocol shows differentiation because initiating the DPS requires applying a photon in multiple states (arbitrary states). The differentiation of running each QKD protocol at certain functions and operations is based on the nature of each operation complexity such as converting a bit to qubit. In addition, the looping of each function produces sequential procedures before creating the SSK.
For instance, matching the measured qubits with the expected raw key depends on a separate reconciliation algorithm. Hence, the operations of running each reconciliation algorithm are calculated with the entire execution process, which starts from initiating a stream of bits until the secret key SSK is created before correcting any errors. Therefore, the following formula is applied to measure the runtime execution for each QKD protocol: where is a single loop of each QKD protocol process, is the total time taken by each loop, and is the length of plaintext X. Furthermore, each QKD protocol should have multiple operations during the quantum communication and reconciliation (usually classical communications) phases to generate a secret key. Afterwards, the QKD protocols are similar in three sequential phases: the first phase is initiation and preparation, the second phase is a submission, and the third phase is a reconciliation phase. These phases are shown in the previous QKD protocol, Algorithm 1. Figure 16. The Runtime Execution in the DPS after applying 500 qubits of transferred data (qubits) into quantum channel as well as reconciliation phase into classical channel. The DPS protocol was experimented with in a classical system using quantum libraries, where these libraries designed in Python as well as MATLAB. The accuracy of these experiments would be high enough to run the QKD protocols and measure the time needed to create a secret key.
For instance, matching the measured qubits with the expected raw key depends on a separate reconciliation algorithm. Hence, the operations of running each reconciliation algorithm are calculated with the entire execution process, which starts from initiating a stream of bits until the secret key SSK is created before correcting any errors. Therefore, the following formula is applied to measure the runtime execution for each QKD protocol: where p is a single loop of each QKD protocol process, t is the total time taken by each loop, and n is the length of plaintext X. Furthermore, each QKD protocol should have multiple operations during the quantum communication and reconciliation (usually classical communications) phases to generate a secret key. Afterwards, the QKD protocols are similar in three sequential phases: the first phase is initiation and preparation, the second phase is a submission, and the third phase is a reconciliation phase. These phases are shown in the previous QKD protocol, Algorithm 1.
More precisely, many execution loops occurred in the S09 and S13 protocols, especially during the reconciliation phase, unlike the BB84 and B92 protocols. The KMB09 protocol uses unique reconciliation procedures by exchanging indices instead of bases, which makes the correction phase more efficient. Therefore, runtime execution reflects the simplicity of using each QKD protocol. Thus, the BB84 protocol is classified as a simple QKD protocol based on previous measurement.

Comparison between QKD Protocols
Subsequently, several cryptographic approaches were extracted from the well-known QKD protocol (BB84, B92, SARG04, EPR, COW, DPS, KMB09, S09, and S13), which clarified the variations between these QKD protocols. These variations assist in realizing the weaknesses and strengths of each QKD process during communication between two users. As shown in the previous sections, some technical details are presented in the definition of each protocol, especially when a certain protocol has a unique design, such as the Coherent-One-Way (COW) protocol. The COW protocol depends on the insertion of the decoy states (µ i ) in pulse transmission. Using decoy states means more protection against PNS attacks, while extra time is required during either the submission or reconciliation phases.
Moreover, the QKD protocols vary in terms of the techniques used to determine the reliability of each QKD protocol against attack challenges. Security, simplicity, and efficiency are factors that are typically applied to measure QKD protocols. The previous QKD protocols were tested using one of these factors, where the simplicity factor was applied to test the runtime execution at a limited number of qubits. On the other hand, the major issue in most QKD protocols is the verification of the identity of the communicated parties. As demonstrated in Table 9, the authentication is not approved in the previous QKD protocols except for the S13 protocol, which requires verification of user identity in the classical channel. Moreover, verification requires additional procedures that reduce the lifetime of the protocol. Thus, spending a long term could expose communication, especially when the public channel is used to confirm the transferred data during the quantum channel. In other words, the multiple processes that occur in the classical channel provide a high rate of information gain by eavesdroppers. In addition, there are three categories that cryptosystem designers try to achieve. First, designing a cryptographic algorithm assists the submitted data in being heavily mixed and complex. Second, creating encryption/decryption keys locks and unlocks the submitted plaintext X. Finally, the secure keys should be distributed between trusted communicating entities. In other words, there are still several hard attempts to break the QKD protocol or at least show weak points. None of these attempts can be functionally considered, even when Eve tries to intercept and resend the submitted particles and then generate new particles. On the other hand, the eavesdropper wishes to read at least 25% of the originally submitted message, where the rest of the message remains for guessing as null.
Furthermore, Intercepted/Resend attacks (IRA) are a well-known strategy against QKD protocols. IRA is the most popular attack, which is based on replacing some of the submitted qubits by applying a random basis (× or +) when Alice sends qubits to Bob. Meanwhile, Eve leaves the rest of these qubits without changes because Eve wishes that the qubits should be received by Bob without changes. Next, when Alice and Bob start to compare the matching qubits, Eve constructs other qubits to be incompatible measurements. More precisely, if Eve attempts to listen to the transmitted qubits between Alice and Bob, Eve and Bob will use identical bases sent by Alice. Bob obtains identical bases to the eavesdropper, but no one can detect Eve. In other words, if Eve used a different measurement to intercept the bases sent by Alice, Eve will would experience uncertain changes in the state's polarization.

Conclusions
This paper presents a set of QKD protocols over a period of time, as QKD is a new generation of cryptography in the information theory world. Moreover, several issues in quantum cryptography are theoretically solved using the QKD protocol; in particular, QKD is powered by quantum mechanics. The reason behind the strength of quantum mechanics is the non-cloning theory, which produces an alteration of any permeation. On the other hand, the explanation of ambiguous ideas was clearly discovered in this study to show the mechanism of each QKD protocol. One of the most important insights is to implement the runtime of each QKD protocol, as the use of multi-communications in a classical channel requires extending the life of the QKD protocol process as well as increasing the rate of information attacks. The classical channel is used heavily during the implementation of each QKD protocol, where a significant amount of processing time is spent during the reconciliation phase. In contrast, a classical channel is needed, as long as there is no way to reconcile the submitted information during the quantum channel. In other words, the classical channel should not completely affect the implementation of the QKD protocol, as this will lead to an infinite experience. Finally, the QKD protocol provides a Secure Shared Key (SSK) between legitimate parties through the secure communication. The secret key should be robust against any type of information attack with a 0.0% exposure to the SSK. QKD is expected to be the next generation of secret key in various information exchange systems.