US20160218868A1 - Quantum key distribution device, quantum key distribution system, and computer program product - Google Patents
Quantum key distribution device, quantum key distribution system, and computer program product Download PDFInfo
- Publication number
- US20160218868A1 US20160218868A1 US14/859,507 US201514859507A US2016218868A1 US 20160218868 A1 US20160218868 A1 US 20160218868A1 US 201514859507 A US201514859507 A US 201514859507A US 2016218868 A1 US2016218868 A1 US 2016218868A1
- Authority
- US
- United States
- Prior art keywords
- bit string
- photon
- error
- quantum key
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
- H04L9/0858—Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
Definitions
- An embodiment described herein relates generally to a quantum key distribution device, a quantum key distribution system, and a computer program product.
- a quantum key distribution system is configured with a transmitter, a receiver, and an optical fiber link that connects the transmitter and the receiver.
- the transmitter transmits photons to the receiver via the optical fiber link (a quantum communication channel) that serves as the communication channel for optical fiber.
- the transmitter and the receiver exchange control information with each other, and share cryptographic keys.
- QKD quantum key distribution
- the key distillation includes sifting, error correction, and privacy amplification.
- the transmitter and the receiver share cryptographic keys.
- the shared cryptographic keys are used while performing cryptographic data communication between the transmitter and the receiver or between applications connected to the transmitter and the receiver.
- the amount of the shared cryptographic keys generated per unit time is called a secure key rate. Being able to use a number of cryptographic keys enables performing high-speed and safer cryptographic data communication. Hence, it can be said that, higher the secure key rate, the more enhanced is the performance of a quantum key distribution system.
- the photons used for the purpose of sharing cryptographic keys possess quantum uncertainty which is one of the basic principles of quantum mechanics indicating that the photons undergo physical changes when tapped. Due to such a principle, if the photons including the information of the cryptographic key are transmitted from a transmitter and are tapped in the quantum communication channel by an eavesdropper, then the photons undergo physical changes thereby enabling the receiver that receives the photons to know that the photons have been tapped by an eavesdropper. At that time, the changes in the physical state of the photons appears in the form a quantum bit error rate (QBER) of the link between the transmitter and the receiver.
- QBER quantum bit error rate
- the decoy-state protocol represents a protocol for generating a photon string using pulses for generating cryptographic key (hereinafter, called signal pulses) and laser pulses having a lower intensity than the signal pulses (hereinafter, called decoy pulses).
- decoy pulses are used that are different pulses than the signal pulses as described above.
- vacuum pulses laser pulses having a lower intensity than the decoy pulses
- the protocol having a bias in the selection probabilities of the bases represents a protocol in which the transmitter and the receiver do not randomly select one of two types of bases (for example, a rectilinear base and a diagonal base) for observing polarization of photons. Instead, the selection probabilities are set to have a bias, so that the bit loss attributed to sifting is reduced and the length of the eventually-obtained cryptographic key is increased.
- the two types of bases one type is referred to as “+ base” (for example, the rectilinear base) and the other type is referred to as “x base” (for example, the diagonal base).
- the decoy pulses and the vacuum pulses have a low laser intensity, the decoy pulses and the vacuum pulses happen to have a high QBER of 20[%] and 50[%], respectively.
- errors in the bit data cannot be corrected, or it takes a long period of time for the error correction. That may lead to a decline in the generation efficiency of cryptographic keys.
- FIG. 1 is a diagram illustrating a quantum key distribution system
- FIG. 2 is a diagram illustrating quantum key distribution (QKD) devices
- FIG. 3 is a diagram illustrating an example of functional blocks of the QKD devices
- FIG. 4 is a schematic diagram for explaining about the types of pulses and about photons
- FIG. 5 is a diagram illustrating the types of data required in calculating the length of cryptographic keys
- FIG. 6 is a diagram for explaining the relationship between the types of bases and the errors in bit data
- FIGS. 7A and 7B are diagrams for explaining the selection probabilities of the bases
- FIG. 8 is a sequence diagram illustrating an example of the operation for generating cryptographic keys in the QKD devices
- FIG. 9 is a flowchart for explaining the details regarding the flow of data during the operation for generating cryptographic keys.
- FIG. 10 is a diagram for explaining a method for calculating the quantum bit error rate (QBER) based on various types of data.
- QBER quantum bit error rate
- a quantum key distribution device is connected to another quantum key distribution device by a quantum communication channel and a classical communication channel, and generates and shares an identical cryptographic key.
- the quantum key distribution device includes a quantum key distributor, a sifter, a corrector, an identifier, a classifier, a calculator, and a privacy amplifier.
- the quantum key distributor obtains a photon string by performing quantum key distribution via the quantum communication channel with respect to photons included in two or more intensities of light pulses, and obtains a photon bit string corresponding to the photon string on the basis of base information that is generated.
- the sifter generates a shared bit string from the photon bit string by performing sifting based on base information of the quantum key distributor and base information of the other quantum key distribution device, and obtains pulse information indicating the light pulse to which each bit of the shared bit string corresponds.
- the corrector performs error correction to correct an error included in the shared bit string and generates a post-correction bit string.
- the identifier generates error position information which enables identification of a bit in the post-correction bit string from which error was corrected during the error correction of the corrector.
- the classifier classifies, using the pulse information and the base information, the light pulse and a base to which each bit in the shared bit string corresponds.
- the calculator calculates an error rate for each of the light pulses and each of the bases classified by the classifier using the error position information.
- the privacy amplifier performs privacy amplification to compress the post-correction bit string on the basis of each of the error rates, and generates the cryptographic key.
- FIG. 1 is a diagram illustrating an exemplary configuration of a quantum key distribution system. Thus, explained with reference to FIG. 1 is the configuration of a quantum key distribution system 100 .
- the quantum key distribution system 100 includes a transmitter 1 , a receiver 2 , and an optical fiber link 3 .
- the quantum key distribution system 100 that includes a single transmitter 1 and a single receiver 2
- QAN quantum access network
- the receiver 2 has a plurality of interfaces for optical fiber communication
- a plurality of transmitters 1 is connected to the receiver 2 via the interfaces.
- the transmitter 1 and the receiver 2 can have their roles reversed.
- the transmitter 1 transmits, to the receiver 2 via the optical fiber link 3 , a photon string that is made of single photons which are generated by a laser and which serve as the basis for generating cryptographic keys. Moreover, the transmitter 1 performs key distillation (described later) (i.e., sifting, error correction, and key compression) to the photon string that is transmitted; and generates a cryptographic key. Moreover, the transmitter 1 performs data communication with the receiver 2 via a classical communication channel, which is a communication channel other than a quantum communication channel implemented using the optical fiber link 3 and which is implemented using a communication cable such as an Ethernet (registered trademark) cable. The data communicated via the classical communication channel may include control data required in the key distillation or may include some other general-purpose data.
- the receiver 2 receives, from the transmitter 1 via the optical fiber link 3 , the photon string made of single photons that serve as the basis for generating cryptographic keys. Then, the receiver 2 performs key distillation (described later) (i.e., sifting, error correction, and key compression) to the photon string that is received; and generates a cryptographic key that is identical to the cryptographic key generated by the transmitter 1 . That is, the transmitter 1 and the receiver 2 generate and share identical cryptographic keys. Moreover, the receiver 2 performs data communication with the transmitter 1 via the classical communication channel, which is a communication channel other than the quantum communication channel implemented using the optical fiber link 3 and which is implemented using a communication cable such as an Ethernet (registered trademark) cable.
- the classical communication channel which is a communication channel other than the quantum communication channel implemented using the optical fiber link 3 and which is implemented using a communication cable such as an Ethernet (registered trademark) cable.
- the optical fiber link 3 is an optical fiber cable that serves as the quantum communication channel for transmitting single photons output by the transmitter 1 .
- the transmitter 1 and the receiver 2 are connected not only by the quantum communication channel in the form of the optical fiber link 3 but also by a communication cable (a classical communication channel) that is used in communicating regular digital data of 0 s and 1 s.
- a classical communication channel need not be a wired communication channel, and can be a wireless communication channel.
- the optical fiber link 3 serves as the quantum communication channel
- a communication cable such as an Ethernet (registered trademark) cable
- the same optical fiber link 3 can be configured to have a photon communication channel for sending and receiving photons and an optical data communication channel for communicating optical data.
- the photon communication channel serves as a quantum communication channel
- the optical data communication channel serves as a classical communication channel.
- the photon string sent by the transmitter 1 is tapped by an eavesdropper from the optical fiber link 3
- the photons undergo physical changes thereby enabling the receiver 2 that has received the photons to know that the photons have been tapped by an eavesdropper.
- the term “QKD devices” is used.
- FIG. 2 is a diagram illustrating a hardware configuration of the QKD devices. With reference to FIG. 2 , the explanation is given about a hardware configuration of the QKD devices (i.e., the transmitter 1 and the receiver 2 ).
- each QKD device includes a central processing unit (CPU) 80 ; a read only memory (ROM) 81 ; a random access memory (RAM) 82 ; a communication I/F 83 ; an auxiliary memory device 84 ; an optical processing device 85 ; and a bus 86 that connects the constituent elements to each other.
- CPU central processing unit
- ROM read only memory
- RAM random access memory
- communication I/F communication I/F
- auxiliary memory device 84 an auxiliary memory device 84
- optical processing device 85 includes a bus 86 that connects the constituent elements to each other.
- the CPU 80 is a processor that controls the operations of the entire QKD device.
- the ROM 81 is a nonvolatile memory device that is used in storing computer programs executed by the CPU 80 to control various functions.
- the RAM 82 is a volatile memory device that functions as the work memory of the CPU 80 .
- the communication I/F 83 is an interface that enables data communication via a classical communication channel of a network such as a local area network (LAN) or a wireless network.
- a network such as a local area network (LAN) or a wireless network.
- the communication I/F 83 is an interface compatible to Ethernet (registered trademark) such as 10Base-T, 100Base-TX, or 1000Base-T.
- the auxiliary memory device 84 is a nonvolatile memory device that is used in storing various computer programs executed by the CPU 80 and storing the data generated during the key distillation.
- the auxiliary memory device 84 is a memory device such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or an optical disk in which information can be stored in an electrical, magnetic, or optical manner.
- HDD hard disk drive
- SSD solid state drive
- flash memory or an optical disk in which information can be stored in an electrical, magnetic, or optical manner.
- the optical processing device 85 is an optical device that transmits and receives photon strings.
- the optical processing device 85 of the transmitter 1 transmits, to the optical processing device 85 of the receiver 2 via the quantum communication channel (i.e., via the optical fiber link 3 illustrated in FIG. 1 ), a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a bit string (a photon bit string) generated using random numbers.
- each photon holds 1-bit information of either “0” or “1”.
- the optical processing device 85 of the receiver 2 receives the photon string from the optical processing device 85 of the transmitter 1 via the quantum communication channel and, as described later, obtains a photon bit string by reading the received photon string on the basis of base information generated to have a bias in the selection probabilities of the bases.
- FIG. 3 is a diagram illustrating an exemplary configuration of functional blocks of the QKD devices.
- FIG. 4 is a schematic diagram for explaining about the types of pulses and the photons included in the pulses.
- FIG. 5 is a diagram illustrating the types of data required in calculating the length of cryptographic keys.
- FIG. 3 is a configuration of the functional blocks of the transmitter 1 and the receiver 2 .
- FIG. 4 are the types of laser pulses generated by the transmitter 1 and the photons included in the pulses.
- FIG. 5 are the types of data that can be calculated by a calculator 14 (described later).
- the transmitter 1 includes a photon transmitter 10 (a quantum key distributor), a sifter 11 , an error corrector 12 (a corrector), an error position identifier 13 (an identifier), the calculator 14 , an extractor 15 , a privacy amplifier 16 , and a memory 17 .
- the photon transmitter 10 is a functional unit configured to transmit, to a photon receiver 20 of the receiver 2 via the quantum communication channel, a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a photon bit string generated using random numbers.
- the photon transmitter 10 is implemented using the optical processing device 85 illustrated in FIG. 2 .
- the photon transmitter 10 generates photons by generating three types of pulses (light pulses) having different laser intensities (i.e., signal pulses 200 , decoy pulses 201 , and vacuum pulses 202 ). More particularly, the photon transmitter 10 generates the signal pulses 200 at a laser intensity X, generates the decoy pulses 201 at a laser intensity Y, and generates the vacuum pulses 202 at a laser intensity Z.
- the three types of pulses are randomly generated at predetermined probabilities.
- the laser intensities satisfy the relationship of intensity X>intensity Y>intensity Z.
- the number of photons 210 included in such laser pulses is determined according to the Poisson distribution. Hence, there may be pulses in which the photons 210 are not included, and thereby may be pulses in which two or more photons 210 are included.
- the number of average photons satisfies the relationship of x>y>z.
- the photons included in the signal pulses 200 assume the role of transmitting bit information that constitutes a cryptographic key.
- the photons included in the decoy pulses 201 and the vacuum pulses 202 are not used as bit information constituting a cryptographic key.
- the number of photons included in each type of pulses is determined according to the Poisson distribution. Besides, the number of average photons in each type of pulses satisfies the relationship of x>y>z. An eavesdropper cannot distinguish the pulses in which the tapped photons are included. Moreover, in case the photons are tapped by an eavesdropper, the pulse-by-pulse bit strings in the photon bit string have different error rates. Furthermore, the photon transmitter 10 recognizes whether the generated pulses are the signal pulses 200 , the decoy pulses 201 , or the vacuum pulses 202 ; as well as recognizes which photons in the generated photon string are included in which type of pulses.
- the photon transmitter 10 generates three types of pulses having different laser intensities (i.e., the signal pulses 200 , the decoy pulses 201 , and the vacuum pulses 202 ), that is not the only possible case.
- the photon transmitter 10 can generate two types of pulses having different laser intensities (one of the types is equivalent to the signal pulses 200 ), or can generate four or more types of pulses having different laser intensities (at least one of the types is equivalent to the signal pulses 200 ).
- the sifter 11 is a functional unit to receive, from a sifter 21 of the receiver 2 via the classical communication channel, base information generated by the photon receiver 20 of the receiver 2 to have a bias in the selection probabilities of the bases; and perform sifting that includes comparing the received base information with the base information generated by the photon transmitter 10 , extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string. Meanwhile, the functions of the sifters 11 and 21 need not be included in both the transmitter 1 and the receiver 2 .
- the sifter 11 can compare two pieces of base information and send matching information indicating the matching portion to the sifter 21 .
- the sifting explained herein is only exemplary, and any other method can alternatively be implemented.
- the sifter 11 uses the recognition result obtained by the photon transmitter 10 about the type of pulse to which each bit of the photon bit string corresponds, and generates information indicating the type of pulse to which each bit of the shared bit string corresponds. More particularly, regarding the shared bit string, the sifter 11 generates signal pulse information indicating the positions of the bits corresponding to the signal pulses, generates decoy pulse information indicating the positions of the bits corresponding to the decoy pulses, and generates vacuum pulse information indicating the positions of the bits corresponding to the vacuum pulses.
- the sifter 11 sends the signal pulse information, the decoy pulse information, and the vacuum pulse information to the sifter 21 of the receiver 2 via the classical communication channel, as well as stores that information in the memory 17 .
- the signal pulses, the decoy pulses, and the vacuum pulses without distinguishing therebetween or in the case of collectively referring to the signal pulses, the decoy pulses, and the vacuum pulses; they are simply referred to as “pulses”.
- the sifter 11 need not generate all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, the sifter 11 can generate at least two types of pulse information from among the three types of pulse information. That is because, if at least two types of pulse information are known from among the three types of pulse information, the remaining one type of pulse information can also be explicitly derived.
- the sifter 11 compares the base information received from the sifter 21 of the receiver 2 via the classical communication channel and the base information generated by the photon transmitter 10 ; extracts the matching portion; and stores the extracted base information in the memory 17 .
- This extracted base information serves as the information indicating which bits of the shared bit string correspond to + base and which bits of the shared bit string correspond to x base.
- the error corrector 12 is a functional unit configured to perform error correction that includes exchanging control data (error correction (EC) information) with an error corrector 22 of the receiver 2 via the classical data communication channel; correcting the bit errors in the shared bit string; and generating a post-correction bit string. Then, the error corrector 12 stores the post-correction bit string in the memory 17 .
- the post-correction bit string generated by the error corrector 12 matches with a post-correction bit string generated by the error corrector 22 (described later) of the receiver 2 by correcting the shared bit string. Meanwhile, since the post-correction bit string is generated by correcting the bit errors in the shared bit string, the length of the post-correction bit string is identical to the length of the shared bit string.
- the error corrector 12 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with the error corrector 22 . Greater the number of leaked bits, greater is the probability of tapping and more is the probability of a greater amount of information being tapped. The error corrector 12 stores the number of leaked bits in the memory 17 .
- the error position identifier 13 is a functional unit configured to generate, during the error correction performed by the error corrector 12 , error position information indicating the bits in the shared bit string in which an error is present, that is, information indicating the bits in the post-correction bit string that were subjected to error correction.
- the calculator 14 is a functional unit configured to calculate, from the post-correction bit string generated by the error corrector 12 , the quantum bit error rate (QBER) of the bit string corresponding to each type of pulse and each type of base.
- the calculator 14 includes a data classifier 14 a (a classifier). More particularly, firstly, the calculator 14 reads the post-correction bit string, the pulse information, and the base information stored in the memory 17 . Then, the data classifier 14 a uses the pulse information and the base information, and classifies the type of pulse and the type of base to which each bit in the post-correction bit string corresponds.
- the calculator 14 calculates 12 types of data as follows: the bit count and the QBER of the bit string corresponding to the x base and the signal pulses; the bit count and the QBER of the bit string corresponding to the x base and the decoy pulses; the bit count and the QBER of the bit string corresponding to the x base and the vacuum pulses; the bit count and the QBER of the bit string corresponding to the + base and the signal pulses; the bit count and the QBER of the bit string corresponding to the + base and the decoy pulses; and the bit count and the QBER of the bit string corresponding to the + base and the vacuum pulse.
- These pieces of data are used in calculating the length of cryptographic keys during the privacy amplification performed by the privacy amplifier 16 .
- the calculator 14 sends the 12 types of data to a privacy amplifier 26 of the receiver 2 via the classical communication channel.
- bit strings corresponding to the decoy pulses and the vacuum pulses generally have a higher QBER than the QBER of the bit strings corresponding to the signal pulses.
- the decoy pulses may have the QBER of about 20[%] and the vacuum pulses may have the QBER reaching to about 50[%].
- the QBER is high for only the bit strings corresponding to the decoy pulses and the vacuum pulses. Hence, correction may not be achieved irrespective of performing error correction, or a long processing time is required even if correction succeeds. Hence, it is not an efficient method.
- the shared bit string is not divided in advance into pulse-by-pulse bit strings and base-by-base bit strings.
- the error corrector 12 performs error correction with respect to the entire shared bit string.
- the error position identifier 13 generates error position information indicating the bits in the shared bit string in which an error is present.
- the calculator 14 uses the error position information generated by the error position identifier 13 , and calculates the bit count and the QBER of the bit string corresponding to each type of pulse and each type of base classified by the data classifier 14 a (i.e., calculates the 12 types of data described above).
- the extractor 15 is a functional unit configured to read, from the memory 17 , the post-correction bit string generated by the error corrector 12 ; read, from the memory 17 , the pulse information generated by the sifter 11 ; extract, from the post-correction bit string, the bit string corresponding to the signal pulses specified in the pulse information; and generate an extracted bit string.
- the extracted bit string corresponding to the signal pulses is used as the bit string for generating a cryptographic key.
- the extractor 15 need not read all of the signal pulse information, the decoy pulse information, and the vacuum pulse information as the pulse information. That is, at least the signal pulse information is read, and it becomes possible to know the positions of the bits of the shared bit string that correspond to the signal pulses. Hence, the extracted bit string can be generated.
- the privacy amplifier 16 is a functional unit configured to read, from the memory 17 , the number of leaked bits that are calculated by the error corrector 12 ; and perform privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and the 12 types of data calculated by the calculator 14 , compressing the extracted bit string generated by the extractor 15 , and generating a cryptographic key having the calculated length.
- the cryptographic key generated by the privacy amplifier 16 matches with the cryptographic key generated by the privacy amplifier 26 (described later) of the receiver 2 .
- identical cryptographic keys are shared. These shared cryptographic keys are used while performing cryptographic data communication between the transmitter 1 and the receiver 2 or between applications connected to the transmitter 1 and the receiver 2 .
- the memory 17 is a functional unit configured to store therein the pulse information and the base information generated by the sifter 11 , the post-correction bit string generated by the error corrector 12 , and the number of leaked bits.
- the memory 17 is implemented using the auxiliary memory device 84 illustrated in FIG. 2 .
- the sifter 11 , the error corrector 12 , the error position identifier 13 , the calculator 14 , the extractor 15 , and the privacy amplifier 16 are implemented when the CPU 80 illustrated in FIG. 2 loads the computer programs from the auxiliary memory device 84 into the RAM 82 and executes them.
- the sifter 11 , the error corrector 12 , the error position identifier 13 , the calculator 14 , the extractor 15 , and the privacy amplifier 16 are not all limited to be implemented by the execution of computer programs.
- at least some of the sifter 11 , the error corrector 12 , the error position identifier 13 , the calculator 14 , the extractor 15 , and the privacy amplifier 16 can be implemented using hardware circuitry.
- the receiver 2 includes the photon receiver 20 , the sifter 21 , the error corrector 22 , an extractor 25 , the privacy amplifier 26 , and a memory 27 .
- the photon receiver 20 is a functional unit configured to receive, from the photon transmitter 10 of the transmitter 1 via the quantum communication channel, a photon string and, as described later, obtain a photon bit string by reading the received photon string based on base information generated to have a bias in the selection probabilities of the bases.
- the photon receiver 20 is implemented using the optical processing device 85 illustrated in FIG. 2 .
- the sifter 21 is a functional unit configured to receive, from the sifter 11 of the transmitter 1 via the classical communication channel, base information generated by the photon transmitter 10 of the transmitter 1 to have a bias in the selection probabilities of the bases; and perform sifting that includes comparing the received base information with the base information generated by the photon receiver 20 , extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string. Meanwhile, the functions of the sifters 11 and 21 need not be included in both the transmitter 1 and the receiver 2 .
- the sifter 21 can compare two pieces of base information and send matching information indicating the matching portion to the sifter 11 .
- the sifting explained herein is only exemplary, and any other method can alternatively be implemented.
- the sifter 21 receives the signal pulse information, the decoy pulse information, and the vacuum pulse information generated by the sifter 11 via the classical communication channel; and stores that information in the memory 27 . Meanwhile, the sifter 21 need not receive all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, the sifter 21 can receive at least two types of pulse information from among the three types of pulse information. That is because, if at least two types of pulse information are known from among the three types of pulse information, the remaining one type of pulse information can also be explicitly derived.
- the error corrector 22 is a functional unit configured to perform error correction that includes exchanging control data (EC information) with the error corrector 12 of the transmitter 1 via the classical data communication channel; correcting the bit errors in the shared bit string; and generating a post-correction bit string. Then, the error corrector 22 stores the post-correction bit string in the memory 27 .
- the post-correction bit string generated by the error corrector 22 matches with the post-correction bit string generated by the error corrector 12 of the transmitter 1 by correcting the shared bit string. Meanwhile, since the post-correction bit string is generated by correcting the bit errors in the shared bit string, the length of the post-correction bit string is identical to the length of the shared bit string.
- the error corrector 22 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with the error corrector 12 . Then, the error corrector 22 stores the number of leaked bits in the memory 27 .
- the extractor 25 is a functional unit configured to read, from the memory 27 , the post-correction bit string generated by the error corrector 22 ; read, from the memory 27 , the pulse information generated by the sifter 21 ; extract, from the post-correction bit string, the bit string corresponding to the signal pulses specified in the pulse information; and generate an extracted bit string.
- the pulse information read by the extractor 25 need not include all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, at least the signal pulse information is read, and it becomes possible to know the positions of the bits of the shared bit string that correspond to the signal pulses. Hence, the extracted bit string can be generated.
- the privacy amplifier 26 is a functional unit configured to read, from the memory 27 , the number of leaked bits that are calculated by the error corrector 22 ; and perform privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and the 12 types of data received from the calculator 14 via the classical communication channel, compressing the extracted bit string generated by the extractor 25 , and generating a cryptographic key having the calculated length.
- the memory 27 is a functional unit configured to store therein the pulse information received by the sifter 21 , the post-correction bit string generated by the error corrector 22 , and the number of leaked bits.
- the memory 27 is implemented using the auxiliary memory device 84 illustrated in FIG. 2 .
- the sifter 21 , the error corrector 22 , the extractor 25 , and the privacy amplifier 26 are implemented when the CPU 80 illustrated in FIG. 2 loads the computer programs from the auxiliary memory device 84 into the RAM 82 and executes them.
- the sifter 21 , the error corrector 22 , the extractor 25 , and the privacy amplifier 26 are not all limited to be implemented by the execution of computer programs.
- at least some of the sifter 21 , the error corrector 22 , the extractor 25 , and the privacy amplifier 26 can be implemented using hardware circuitry.
- the functional block configuration of the transmitter 1 and the receiver 2 illustrated in FIG. 3 is meant to illustrate the functions in a conceptual manner. That is, the configuration is not limited to the functional block configuration illustrated in FIG. 3 .
- a plurality of independent functional units illustrated in FIG. 3 can be combined as a single functional unit.
- the function of a single functional unit illustrated in FIG. 3 can be divided into a plurality of functions and can be implemented using a plurality of functional units.
- FIG. 6 is a diagram for explaining the relationship between the types of bases and the errors in bit data. Thus, explained with reference to FIG. 6 is the relationship between the types of bases and the errors in bit data.
- the pieces of base information may or may not match with each other.
- the photon receiver 20 can correctly read the polarization state of the photons on the basis of the identical type of base, and the bit information that is obtained matches with the bit information of the photon string transmitted from the photon transmitter 10 .
- the bases do not match.
- the photon receiver 20 cannot correctly read the polarization state of the photons.
- the bit information obtained by the photon receiver 20 from the photon string that is transmitted by the photon transmitter 10 may or may not match in hindsight with the bit information of the photon string transmitted from the photon transmitter 10 .
- the bit information corresponding to the non-matching bases is removed.
- the bases match, if the photon string transmitted from the photon transmitter 10 is affected by the noise included in the quantum communication channel or is tapped in the quantum communication channel by an eavesdropper, then the photons undergo physical changes according to quantum uncertainty thereby leading to a situation in which the bit information obtained by the photon receiver 20 by reading the photon string based on its own base may not match with the bit information of the photon string transmitted from the photon transmitter 10 . As a result, even in the shared bit string obtained after performing the sifting, the mismatch appears in the form of bit errors.
- FIGS. 7A and 7B are diagrams for explaining the selection probabilities of the bases.
- the explanation about the bias in the selection probabilities of the bases is given with reference to FIGS. 7A and 7B .
- the selection probability of each of the two bases is random in nature, that is, equal to half; then the probability at which the base generated by the photon transmitter 10 matches with the base generated by the photon receiver 20 also becomes equal to half. That is, statistically, the length of the shared bit strings generated by the sifters 11 and 21 becomes equal to half of the length of the photon bit string. Thus, statistically, the length of the shared bit strings cannot be increased to be greater than half of the length of the photon bit string.
- the length of the shared bit strings generated by the sifters 11 and 21 becomes equal to 25/32 of the length of the photon bit string, and thus becomes greater than the length calculated in Equation (2).
- the length of the shared bit strings generated by the sifters 11 and 21 becomes equal to 25/32 of the length of the photon bit string, and thus becomes greater than the length calculated in Equation (2).
- FIG. 8 is a sequence diagram illustrating an example of the operation for generating cryptographic keys in the QKD devices.
- FIG. 9 is a flowchart for explaining the details regarding the flow of data during the operation for generating cryptographic keys.
- FIG. 10 is a diagram for explaining a method for calculating the QBER based on various types of data. Thus, explained with reference to FIGS. 8 to 10 is a flow of operations performed to generate cryptographic keys.
- the photon transmitter 10 transmits, to the photon receiver 20 of the receiver 2 via the quantum communication channel, a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a photon bit string generated using random numbers.
- the photon transmitter 10 generates photons by generating three types of pulses having different laser intensities (i.e., the signal pulses 200 , the decoy pulses 201 , and the vacuum pulses 202 ).
- the photon receiver 20 receives the photon string from the photon transmitter 10 of the transmitter 1 via the quantum communication channel, and obtains a photon bit string by reading the received photon string on the basis of base information generated to have a bias in the selection probabilities of the bases.
- the sifter 11 receives, from the sifter 21 of the receiver 2 via the classical communication channel, base information generated by the photon receiver 20 of the receiver 2 to have a bias in the selection probabilities of the bases; and performs sifting that includes comparing the received base information with the base information generated by the photon transmitter 10 , extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string as illustrated in FIG. 9 .
- the sifter 11 generates, from the recognition result obtained by the photon transmitter 10 about the type of pulse to which each bit of the photon bit string corresponds, information indicating the type of pulse to which each bit of the shared bit string corresponds. More particularly, as illustrated in FIG. 9 , regarding the shared bit string, the sifter 11 generates signal pulse information indicating the positions of the bits corresponding to the signal pulses, generates decoy pulse information indicating the positions of the bits corresponding to the decoy pulses, and generates vacuum pulse information indicating the positions of the bits corresponding to the vacuum pulses. Then, the sifter 11 sends the signal pulse information, the decoy pulse information, and the vacuum pulse information to the sifter 21 of the receiver 2 via the classical communication channel, as well as stores that information in the memory 17 .
- the sifter 11 compares the base information received from the sifter 21 of the receiver 2 via the classical communication channel and the base information generated by the photon transmitter 10 ; extracts the matching portion; and stores the extracted base information in the memory 17 .
- the sifter 21 receives, from the sifter 11 of the transmitter 1 via the classical communication channel, base information generated by the photon transmitter 10 of the transmitter 1 to have a bias in the selection probabilities of the bases; and performs sifting that includes comparing the received base information with the base information generated by the photon receiver 20 , extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string.
- the sifter 21 receives the signal pulse information, the decoy pulse information, and the vacuum pulse information generated by the sifter 11 via the classical communication channel, and stores that information in the memory 27 .
- the error corrector 12 performs error correction that includes exchanging control data (EC information) with the error corrector 22 of the receiver 2 via the classical data communication channel; correcting the bit errors in the shared bit string generated by the sifter 11 ; and generating a post-correction bit string as illustrated in FIG. 9 .
- the error corrector 12 then stores the post-correction bit string in the memory 17 .
- the error corrector 12 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with the error corrector 22 .
- the error corrector 12 then stores the number of leaked bits in the memory 17 .
- the error position identifier 13 generates, during the error correction performed by the error corrector 12 , error position information indicating the bits in the shared bit string in which an error is present, that is, information indicating the bits in the post-correction bit string that were subjected to error correction as illustrated in FIG. 9 .
- the error corrector 22 performs error correction that includes exchanging control data (EC information) with the error corrector 12 of the transmitter 1 via the classical data communication channel; correcting the bit errors in the shared bit string generated by the sifter 21 ; and generating a post-correction bit string.
- the error corrector 22 then stores the post-correction bit string in the memory 27 .
- the error corrector 22 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with the error corrector 12 .
- the error corrector 22 then stores the number of leaked bits in the memory 27 .
- the calculator 14 calculates, from the post-correction bit string generated by the error corrector 12 , the QBER of the bit string corresponding to each type of pulse and each type of base. More particularly, firstly, the calculator 14 reads the post-correction bit string, the pulse information, and the base information stored in the memory 17 . Then, the data classifier 14 a uses the pulse information and the base information, and classifies the type of pulse and the type of base to which each bit in the post-correction bit string corresponds.
- the calculator 14 calculates 12 types of data as follows: the bit count and the QBER of the bit string corresponding to the x base and the signal pulses; the bit count and the QBER of the bit string corresponding to the x base and the decoy pulses; the bit count and the QBER of the bit string corresponding to the x base and the vacuum pulses; the bit count and the QBER of the bit string corresponding to the + base and the signal pulses; the bit count and the QBER of the bit string corresponding to the + base and the decoy pulses; and the bit count and the QBER of the bit string corresponding to the + base and the vacuum pulse. Then, the calculator 14 sends the 12 types of data to the privacy amplifier 26 of the receiver 2 via the classical communication channel.
- the calculator 14 calculates the bit count and the QBER of the bit string corresponding to each pulse and each base
- the following method can be implemented.
- the type of pulse to which the bit at each position corresponds can be distinguished using the pulse information (the signal pulse information, the decoy pulse information, and the vacuum pulse information).
- the type of base to which the bit at each position corresponds can be distinguished using the base information. For example, with reference to FIG. 10 , it is assumed that “1” represents the + base and “0” represents the x base.
- the post-correction bit string using the pulse information and the base information to distinguish the type of pulse and the type of base to which the bit at each position corresponds is equivalent to the classification performed by the data classifier 14 a.
- the positions of the bits that were subjected to error correction can be distinguished using the error position information. For example, with reference to FIG. 10 , in the error position information, “1” represents the bits that were subjected to error correction and “0” represents the bits that were not subjected to error correction.
- each bit in the post-correction bit string is distinguished in the manner described above, for example, the bit at the fourth bit position can be distinguished to be corresponding to the signal pulses and the + base, and further can be distinguished to have been subjected to error correction.
- the bit string corresponding to the x base and the signal pulses is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]).
- the bit string corresponding to the x base and the decoy pulse is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]).
- bit string corresponding to the x base and the vacuum pulse is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]). Furthermore, the bit string corresponding to the + base and the signal pulse is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]). Moreover, the bit string corresponding to the + base and the decoy pulse is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]). Furthermore, the bit string corresponding to the + base and the vacuum pulse is calculated to have the bit count of “2” and the QBER of 1 ⁇ 2 (50[%]).
- the extractor 15 reads, from the memory 17 , the post-correction bit string generated by the error corrector 12 ; reads, from the memory 17 , the pulse information generated by the sifter 11 ; extracts, from the post-correction bit string, the bit string corresponding to the signal pulses indicated by the pulse information; and generates an extracted bit string.
- the extractor 25 reads, from the memory 27 , the post-correction bit string generated by the error corrector 22 ; reads, from the memory 27 , the pulse information generated by the sifter 21 ; extracts, from the post-correction bit string, the bit string corresponding to the signal pulses indicated by the pulse information; and generates an extracted bit string.
- the privacy amplifier 16 reads, from the memory 17 , the number of leaked bits that are calculated by the error corrector 12 ; and performs privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and based on the 12 types of data calculated by the calculator 14 , compressing the extracted bit string generated by the extractor 15 , and generating a cryptographic key having the calculated length.
- the privacy amplifier 26 reads, from the memory 27 , the number of leaked bits that are calculated by the error corrector 22 ; and performs privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and based on the 12 types of data received from the calculator 14 via the classical communication channel, compressing the extracted bit string generated by the extractor 25 , and generating a cryptographic key having the calculated length.
- the data generated by various functional units illustrated in FIG. 3 some of the data is stored in the memories 17 and 27 . However, all of that data need not always be stored. Alternatively, the data can be directly sent to the functional units responsible for the respective next processes. For example, as described above, the error corrector 12 stores the generated post-correction bit string in the memory 17 ; and the calculator 14 and the extractor 15 read the post-correction bit string from the memory 17 . Instead, the error corrector 12 can directly send the post-correction bit string to the calculator 14 and the extractor 15 without storing it in the memory 17 . Conversely, of the data generated by various functional units illustrated in FIG.
- some of the data is directly sent to the functional units responsible for the respective next processes without storing the data in the memories 17 and 27 .
- the data can be once stored in the memories 17 and 27 .
- the sifter 11 sends the generated shared bit string directly to the error corrector 12 .
- the sifter 11 can once store the generated shared bit string in the memory 17 .
- the error corrector 12 can read the shared bit string from the memory 17 , and perform the error correction.
- the shared bit string is not divided in advance into pulse-by-pulse bit strings and base-by-base bit strings.
- the error corrector 12 performs error correction with respect to the entire shared bit string.
- the error position identifier 13 generates error position information that indicates the bits in the shared bit string in which an error is present.
- the calculator 14 uses the error position information generated by the error position identifier 13 , and calculates the bit count and the QBER of the bit string corresponding to each type of pulse and each type of base classified by the data classifier 14 a (i.e., calculates the 12 types of data described above).
- the transmitter 1 includes the error position identifier 13 and the calculator 14 ; while the receiver 2 does not include those functional units.
- the receiver 2 can include the functional units equivalent to the error position identifier 13 and the calculator 14 .
- the calculator 14 of the receiver 2 can use the pulse information generated in the transmitter 1 , and can generate the bit count and the QBER corresponding to each type of pulse and each type of base.
- the transmitter 1 as well as the receiver 2 can include the functional units equivalent to the error position identifier 13 and the calculator 14 .
- the calculator 14 of the receiver 2 independently calculates the 12 types of data.
- the calculator 14 of the transmitter 1 need not send the 12 types of data to the privacy amplifier 26 of the receiver 2 .
- the privacy amplifier 16 of the transmitter 1 as well as the privacy amplifier 26 of the receiver 2 calculates the length of the cryptographic keys on the basis of the number of leaked bits and the 12 types of data. However, that is not the only possible case.
- either the privacy amplifier 16 or the privacy amplifier 26 can calculate the length of cryptographic keys and send the length to the other privacy amplifier via the classical communication channel. Then, the other privacy amplifier can make use of the received length of cryptographic keys and perform the privacy amplification.
- the computer programs executed in the QKD devices according to the embodiment are stored in advance in, for example, the ROM 81 .
- the computer programs executed in the QKD devices according to the embodiment can be recorded as installable or executable files in a computer-readable recording medium such as a compact disk read only memory (CD-ROM), a flexible disk (ED), a compact disk recordable (CD-R), or a digital versatile disk (DVD); and can be provided as a computer program product.
- a computer-readable recording medium such as a compact disk read only memory (CD-ROM), a flexible disk (ED), a compact disk recordable (CD-R), or a digital versatile disk (DVD)
- CD-ROM compact disk read only memory
- ED flexible disk
- CD-R compact disk recordable
- DVD digital versatile disk
- the computer programs executed in the QKD devices according to the embodiment can be saved as downloadable files on a computer connected to the Internet or can be made available for distribution through a network such as the Internet.
- the computer programs executed in the QKD devices can make a computer function as the constituent elements of the QKD devices (i.e., the sifter 11 , the error corrector 12 , the error position identifier 13 , the calculator 14 , the extractor 15 , and the privacy amplifier 16 ; or the sifter 21 , the error corrector 22 , the extractor 25 , and the privacy amplifier 26 ).
- the CPU 80 can read the computer programs from a computer-readable memory medium, load them in a main memory device, and execute them.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
According to an embodiment, a quantum key distribution device includes a quantum key distributor, a sifter, a corrector, an identifier, a classifier, a calculator, and a privacy amplifier. The quantum key distributor obtains a photon string from a photon string of two or more intensities of light pulses. The sifter obtains pulse information indicating the light pulse to which each bit of a shared bit string corresponds. The corrector corrects an error included in the shared bit string and generates a post-correction bit string. The identifier generates error position information. The classifier classifies each bit of the post-correction bit string. The calculator calculates the error rate for each light pulse and each base using the error position information. The privacy amplifier generates a cryptographic key from the post-correction bit string on the basis of the error rate.
Description
- This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2015-011275, filed on Jan. 23, 2015; the entire contents of which are incorporated herein by reference.
- An embodiment described herein relates generally to a quantum key distribution device, a quantum key distribution system, and a computer program product.
- A quantum key distribution system is configured with a transmitter, a receiver, and an optical fiber link that connects the transmitter and the receiver. The transmitter transmits photons to the receiver via the optical fiber link (a quantum communication channel) that serves as the communication channel for optical fiber. After that, the transmitter and the receiver exchange control information with each other, and share cryptographic keys. This technology is implemented using the technology generally referred to as quantum key distribution (QKD).
- In order to share cryptographic keys between a transmitter and a receiver using quantum key distribution, it is necessary to perform key distillation in the transmitter as well as in the receiver. The key distillation includes sifting, error correction, and privacy amplification. As a result of performing the key distillation, the transmitter and the receiver share cryptographic keys. The shared cryptographic keys are used while performing cryptographic data communication between the transmitter and the receiver or between applications connected to the transmitter and the receiver. The amount of the shared cryptographic keys generated per unit time is called a secure key rate. Being able to use a number of cryptographic keys enables performing high-speed and safer cryptographic data communication. Hence, it can be said that, higher the secure key rate, the more enhanced is the performance of a quantum key distribution system.
- In the quantum key distribution, the photons used for the purpose of sharing cryptographic keys possess quantum uncertainty which is one of the basic principles of quantum mechanics indicating that the photons undergo physical changes when tapped. Due to such a principle, if the photons including the information of the cryptographic key are transmitted from a transmitter and are tapped in the quantum communication channel by an eavesdropper, then the photons undergo physical changes thereby enabling the receiver that receives the photons to know that the photons have been tapped by an eavesdropper. At that time, the changes in the physical state of the photons appears in the form a quantum bit error rate (QBER) of the link between the transmitter and the receiver. When an eavesdropper attempts to tap the photons, the physical state of the photons undergoes physical changes thereby leading to an increase in the QBER. That enables the transmitter and the receiver to know about the presence of an eavesdropper.
- Regarding such a quantum key distribution system, a system is proposed in which a decoy-state protocol and a protocol having a bias in the selection probabilities of the bases for observing polarization of photons are used, and highly-safe cryptographic keys from which the amount of information leaked to the eavesdropper is removed are generated in an efficient manner. The decoy-state protocol represents a protocol for generating a photon string using pulses for generating cryptographic key (hereinafter, called signal pulses) and laser pulses having a lower intensity than the signal pulses (hereinafter, called decoy pulses). Since the output photons follow the Poisson distribution, if generation of photons is done using only the signal pulses, then there is a probability of two or more photons being included in a single signal pulse, thereby allowing the eavesdropper to perform an attack of tapping a single photon (i.e., allow a photon number splitting attack). In order to deal with the attack, in the decoy-state protocol, decoy pulses are used that are different pulses than the signal pulses as described above. Moreover, there is also a method in which laser pulses having a lower intensity than the decoy pulses (hereinafter, called vacuum pulses) are used. The photons included in the decoy pulses and the vacuum pulses are not used for generating cryptographic keys. Besides, from among the signal pulses, the decoy pulses, and the vacuum pulses, it is not possible to distinguish the pulses in which the photons tapped by an eavesdropper were included. Meanwhile, the protocol having a bias in the selection probabilities of the bases represents a protocol in which the transmitter and the receiver do not randomly select one of two types of bases (for example, a rectilinear base and a diagonal base) for observing polarization of photons. Instead, the selection probabilities are set to have a bias, so that the bit loss attributed to sifting is reduced and the length of the eventually-obtained cryptographic key is increased. In the following explanation, of the two types of bases, one type is referred to as “+ base” (for example, the rectilinear base) and the other type is referred to as “x base” (for example, the diagonal base).
- In such a quantum key distribution system, in order to obtain the length of the final cryptographic key, it is common practice to use the QBER for estimating the amount of information leaked to the eavesdropper. In the case of using the decoy-state protocol and the protocol having a bias in the selection probabilities of the bases while observing polarization of photons, it is necessary to calculate the QBER of bit data for each combination of the type of pulse and the type of base. That is, it is necessary to calculate the QBER of bit data corresponding to each combination of three types of pulses (the signal pulses, the decoy pulses, and the vacuum pulses) and two types of bases (the + base and the x base). Hence, it is possible to think of method in which bit data is classified for each combination of the type of pulse and the type of base, and error correction is performed for each piece of classified bit data to calculate the QBER.
- However, if the error correction is performed after classifying the bit data for each combination of the type of pulse and the type of base, since the decoy pulses and the vacuum pulses have a low laser intensity, the decoy pulses and the vacuum pulses happen to have a high QBER of 20[%] and 50[%], respectively. Hence, errors in the bit data cannot be corrected, or it takes a long period of time for the error correction. That may lead to a decline in the generation efficiency of cryptographic keys.
-
FIG. 1 is a diagram illustrating a quantum key distribution system; -
FIG. 2 is a diagram illustrating quantum key distribution (QKD) devices; -
FIG. 3 is a diagram illustrating an example of functional blocks of the QKD devices; -
FIG. 4 is a schematic diagram for explaining about the types of pulses and about photons; -
FIG. 5 is a diagram illustrating the types of data required in calculating the length of cryptographic keys; -
FIG. 6 is a diagram for explaining the relationship between the types of bases and the errors in bit data; -
FIGS. 7A and 7B are diagrams for explaining the selection probabilities of the bases; -
FIG. 8 is a sequence diagram illustrating an example of the operation for generating cryptographic keys in the QKD devices; -
FIG. 9 is a flowchart for explaining the details regarding the flow of data during the operation for generating cryptographic keys; and -
FIG. 10 is a diagram for explaining a method for calculating the quantum bit error rate (QBER) based on various types of data. - According to an embodiment, a quantum key distribution device is connected to another quantum key distribution device by a quantum communication channel and a classical communication channel, and generates and shares an identical cryptographic key. The quantum key distribution device includes a quantum key distributor, a sifter, a corrector, an identifier, a classifier, a calculator, and a privacy amplifier. The quantum key distributor obtains a photon string by performing quantum key distribution via the quantum communication channel with respect to photons included in two or more intensities of light pulses, and obtains a photon bit string corresponding to the photon string on the basis of base information that is generated. The sifter generates a shared bit string from the photon bit string by performing sifting based on base information of the quantum key distributor and base information of the other quantum key distribution device, and obtains pulse information indicating the light pulse to which each bit of the shared bit string corresponds. The corrector performs error correction to correct an error included in the shared bit string and generates a post-correction bit string. The identifier generates error position information which enables identification of a bit in the post-correction bit string from which error was corrected during the error correction of the corrector. The classifier classifies, using the pulse information and the base information, the light pulse and a base to which each bit in the shared bit string corresponds. The calculator calculates an error rate for each of the light pulses and each of the bases classified by the classifier using the error position information. The privacy amplifier performs privacy amplification to compress the post-correction bit string on the basis of each of the error rates, and generates the cryptographic key.
- An exemplary embodiment of a quantum key distribution device, a quantum key distribution system, and a computer program product is described below in detail with reference to the accompanying drawings. In the accompanying drawings, the same constituent elements are referred to by the same reference numerals. However, the drawings are only schematic in nature, and the specific configuration should be determined by taking into account the explanation given below.
-
FIG. 1 is a diagram illustrating an exemplary configuration of a quantum key distribution system. Thus, explained with reference toFIG. 1 is the configuration of a quantumkey distribution system 100. - As illustrated in
FIG. 1 , the quantumkey distribution system 100 includes atransmitter 1, areceiver 2, and anoptical fiber link 3. Herein, although the following explanation is given about the quantumkey distribution system 100 that includes asingle transmitter 1 and asingle receiver 2, it is also possible to have a configuration in which what is called a quantum access network (QAN), which has asingle receiver 2 connected with a plurality oftransmitters 1 via optical devices, is integrated with a quantum key distribution system. Alternatively, it is possible to have a quantum key distribution system in which thereceiver 2 has a plurality of interfaces for optical fiber communication, and a plurality oftransmitters 1 is connected to thereceiver 2 via the interfaces. Moreover, in these cases, thetransmitter 1 and thereceiver 2 can have their roles reversed. - The
transmitter 1 transmits, to thereceiver 2 via theoptical fiber link 3, a photon string that is made of single photons which are generated by a laser and which serve as the basis for generating cryptographic keys. Moreover, thetransmitter 1 performs key distillation (described later) (i.e., sifting, error correction, and key compression) to the photon string that is transmitted; and generates a cryptographic key. Moreover, thetransmitter 1 performs data communication with thereceiver 2 via a classical communication channel, which is a communication channel other than a quantum communication channel implemented using theoptical fiber link 3 and which is implemented using a communication cable such as an Ethernet (registered trademark) cable. The data communicated via the classical communication channel may include control data required in the key distillation or may include some other general-purpose data. - The
receiver 2 receives, from thetransmitter 1 via theoptical fiber link 3, the photon string made of single photons that serve as the basis for generating cryptographic keys. Then, thereceiver 2 performs key distillation (described later) (i.e., sifting, error correction, and key compression) to the photon string that is received; and generates a cryptographic key that is identical to the cryptographic key generated by thetransmitter 1. That is, thetransmitter 1 and thereceiver 2 generate and share identical cryptographic keys. Moreover, thereceiver 2 performs data communication with thetransmitter 1 via the classical communication channel, which is a communication channel other than the quantum communication channel implemented using theoptical fiber link 3 and which is implemented using a communication cable such as an Ethernet (registered trademark) cable. - The
optical fiber link 3 is an optical fiber cable that serves as the quantum communication channel for transmitting single photons output by thetransmitter 1. Meanwhile, although not illustrated inFIG. 1 , thetransmitter 1 and thereceiver 2 are connected not only by the quantum communication channel in the form of theoptical fiber link 3 but also by a communication cable (a classical communication channel) that is used in communicating regular digital data of 0 s and 1 s. A classical communication channel need not be a wired communication channel, and can be a wireless communication channel. - Herein, although the
optical fiber link 3 serves as the quantum communication channel, and a communication cable (not illustrated) such as an Ethernet (registered trademark) cable serves as the classical communication channel; that is not the only possible case. Alternatively, for example, using the wavelength division multiplex (WDM) technology, the sameoptical fiber link 3 can be configured to have a photon communication channel for sending and receiving photons and an optical data communication channel for communicating optical data. In that case, in theoptical fiber link 3, the photon communication channel serves as a quantum communication channel, while the optical data communication channel serves as a classical communication channel. - In the quantum
key distribution system 100 including thetransmitter 1 and thereceiver 2, in case the photon string sent by thetransmitter 1 is tapped by an eavesdropper from theoptical fiber link 3, the photons undergo physical changes thereby enabling thereceiver 2 that has received the photons to know that the photons have been tapped by an eavesdropper. - Meanwhile, in the case of collectively referring to the
transmitter 1 and thereceiver 2, the term “QKD devices” is used. -
FIG. 2 is a diagram illustrating a hardware configuration of the QKD devices. With reference toFIG. 2 , the explanation is given about a hardware configuration of the QKD devices (i.e., thetransmitter 1 and the receiver 2). - As illustrated in
FIG. 2 , each QKD device includes a central processing unit (CPU) 80; a read only memory (ROM) 81; a random access memory (RAM) 82; a communication I/F 83; anauxiliary memory device 84; anoptical processing device 85; and a bus 86 that connects the constituent elements to each other. - The CPU 80 is a processor that controls the operations of the entire QKD device. The ROM 81 is a nonvolatile memory device that is used in storing computer programs executed by the CPU 80 to control various functions. The RAM 82 is a volatile memory device that functions as the work memory of the CPU 80.
- The communication I/F 83 is an interface that enables data communication via a classical communication channel of a network such as a local area network (LAN) or a wireless network. For example, the communication I/F 83 is an interface compatible to Ethernet (registered trademark) such as 10Base-T, 100Base-TX, or 1000Base-T.
- The
auxiliary memory device 84 is a nonvolatile memory device that is used in storing various computer programs executed by the CPU 80 and storing the data generated during the key distillation. Theauxiliary memory device 84 is a memory device such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, or an optical disk in which information can be stored in an electrical, magnetic, or optical manner. - The
optical processing device 85 is an optical device that transmits and receives photon strings. For example, theoptical processing device 85 of thetransmitter 1 transmits, to theoptical processing device 85 of thereceiver 2 via the quantum communication channel (i.e., via theoptical fiber link 3 illustrated inFIG. 1 ), a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a bit string (a photon bit string) generated using random numbers. In the photon string generated by theoptical processing device 85 of thetransmitter 1, each photon holds 1-bit information of either “0” or “1”. Thus, theoptical processing device 85 of thereceiver 2 receives the photon string from theoptical processing device 85 of thetransmitter 1 via the quantum communication channel and, as described later, obtains a photon bit string by reading the received photon string on the basis of base information generated to have a bias in the selection probabilities of the bases. -
FIG. 3 is a diagram illustrating an exemplary configuration of functional blocks of the QKD devices.FIG. 4 is a schematic diagram for explaining about the types of pulses and the photons included in the pulses.FIG. 5 is a diagram illustrating the types of data required in calculating the length of cryptographic keys. Thus, explained with reference toFIG. 3 is a configuration of the functional blocks of thetransmitter 1 and thereceiver 2. Moreover, explained with reference toFIG. 4 are the types of laser pulses generated by thetransmitter 1 and the photons included in the pulses. Furthermore, explained with reference toFIG. 5 are the types of data that can be calculated by a calculator 14 (described later). - As illustrated in
FIG. 3 , thetransmitter 1 includes a photon transmitter 10 (a quantum key distributor), asifter 11, an error corrector 12 (a corrector), an error position identifier 13 (an identifier), thecalculator 14, anextractor 15, aprivacy amplifier 16, and amemory 17. - For example, as described later, the
photon transmitter 10 is a functional unit configured to transmit, to aphoton receiver 20 of thereceiver 2 via the quantum communication channel, a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a photon bit string generated using random numbers. Thephoton transmitter 10 is implemented using theoptical processing device 85 illustrated inFIG. 2 . - As illustrated in
FIG. 4 , thephoton transmitter 10 generates photons by generating three types of pulses (light pulses) having different laser intensities (i.e.,signal pulses 200,decoy pulses 201, and vacuum pulses 202). More particularly, thephoton transmitter 10 generates thesignal pulses 200 at a laser intensity X, generates thedecoy pulses 201 at a laser intensity Y, and generates thevacuum pulses 202 at a laser intensity Z. Herein, the three types of pulses are randomly generated at predetermined probabilities. Moreover, the laser intensities satisfy the relationship of intensity X>intensity Y>intensity Z. The number ofphotons 210 included in such laser pulses is determined according to the Poisson distribution. Hence, there may be pulses in which thephotons 210 are not included, and thereby may be pulses in which two ormore photons 210 are included. - Due to the above-mentioned relationship among the pulse intensities, if an average of x number of photons is included in the
signal pulses 200, if an average of y number of photons is included in thedecoy pulses 201, and if an average of z number of photons is included in thevacuum pulses 202; then the number of average photons satisfies the relationship of x>y>z. The photons included in thesignal pulses 200 assume the role of transmitting bit information that constitutes a cryptographic key. On the other hand, the photons included in thedecoy pulses 201 and thevacuum pulses 202 are not used as bit information constituting a cryptographic key. As described above, the number of photons included in each type of pulses is determined according to the Poisson distribution. Besides, the number of average photons in each type of pulses satisfies the relationship of x>y>z. An eavesdropper cannot distinguish the pulses in which the tapped photons are included. Moreover, in case the photons are tapped by an eavesdropper, the pulse-by-pulse bit strings in the photon bit string have different error rates. Furthermore, thephoton transmitter 10 recognizes whether the generated pulses are thesignal pulses 200, thedecoy pulses 201, or thevacuum pulses 202; as well as recognizes which photons in the generated photon string are included in which type of pulses. - Herein, although the
photon transmitter 10 generates three types of pulses having different laser intensities (i.e., thesignal pulses 200, thedecoy pulses 201, and the vacuum pulses 202), that is not the only possible case. Alternatively, for example, thephoton transmitter 10 can generate two types of pulses having different laser intensities (one of the types is equivalent to the signal pulses 200), or can generate four or more types of pulses having different laser intensities (at least one of the types is equivalent to the signal pulses 200). - The
sifter 11 is a functional unit to receive, from asifter 21 of thereceiver 2 via the classical communication channel, base information generated by thephoton receiver 20 of thereceiver 2 to have a bias in the selection probabilities of the bases; and perform sifting that includes comparing the received base information with the base information generated by thephoton transmitter 10, extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string. Meanwhile, the functions of thesifters transmitter 1 and thereceiver 2. That is, alternatively, after the base information is sent to thesifter 11 from thesifter 21, thesifter 11 can compare two pieces of base information and send matching information indicating the matching portion to thesifter 21. Moreover, the sifting explained herein is only exemplary, and any other method can alternatively be implemented. - Moreover, the
sifter 11 uses the recognition result obtained by thephoton transmitter 10 about the type of pulse to which each bit of the photon bit string corresponds, and generates information indicating the type of pulse to which each bit of the shared bit string corresponds. More particularly, regarding the shared bit string, thesifter 11 generates signal pulse information indicating the positions of the bits corresponding to the signal pulses, generates decoy pulse information indicating the positions of the bits corresponding to the decoy pulses, and generates vacuum pulse information indicating the positions of the bits corresponding to the vacuum pulses. Then, thesifter 11 sends the signal pulse information, the decoy pulse information, and the vacuum pulse information to thesifter 21 of thereceiver 2 via the classical communication channel, as well as stores that information in thememory 17. Meanwhile, in the case of referring to the signal pulses, the decoy pulses, and the vacuum pulses without distinguishing therebetween or in the case of collectively referring to the signal pulses, the decoy pulses, and the vacuum pulses; they are simply referred to as “pulses”. In the case of referring to the signal pulse information, the decoy pulse information, and the vacuum pulse information without distinguishing therebetween or in the case of collectively referring to the signal pulse information, the decoy pulse information, and the vacuum pulse information; they are simply referred to as “pulse information”. Moreover, thesifter 11 need not generate all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, thesifter 11 can generate at least two types of pulse information from among the three types of pulse information. That is because, if at least two types of pulse information are known from among the three types of pulse information, the remaining one type of pulse information can also be explicitly derived. - Furthermore, the
sifter 11 compares the base information received from thesifter 21 of thereceiver 2 via the classical communication channel and the base information generated by thephoton transmitter 10; extracts the matching portion; and stores the extracted base information in thememory 17. This extracted base information serves as the information indicating which bits of the shared bit string correspond to + base and which bits of the shared bit string correspond to x base. - The
error corrector 12 is a functional unit configured to perform error correction that includes exchanging control data (error correction (EC) information) with anerror corrector 22 of thereceiver 2 via the classical data communication channel; correcting the bit errors in the shared bit string; and generating a post-correction bit string. Then, theerror corrector 12 stores the post-correction bit string in thememory 17. When the error correction is successful, the post-correction bit string generated by theerror corrector 12 matches with a post-correction bit string generated by the error corrector 22 (described later) of thereceiver 2 by correcting the shared bit string. Meanwhile, since the post-correction bit string is generated by correcting the bit errors in the shared bit string, the length of the post-correction bit string is identical to the length of the shared bit string. - Moreover, in order to correct the bit errors in the shared bit string and generate a post-correction bit string as described above, the
error corrector 12 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with theerror corrector 22. Greater the number of leaked bits, greater is the probability of tapping and more is the probability of a greater amount of information being tapped. Theerror corrector 12 stores the number of leaked bits in thememory 17. - The error position identifier 13 is a functional unit configured to generate, during the error correction performed by the
error corrector 12, error position information indicating the bits in the shared bit string in which an error is present, that is, information indicating the bits in the post-correction bit string that were subjected to error correction. - The
calculator 14 is a functional unit configured to calculate, from the post-correction bit string generated by theerror corrector 12, the quantum bit error rate (QBER) of the bit string corresponding to each type of pulse and each type of base. Thecalculator 14 includes adata classifier 14 a (a classifier). More particularly, firstly, thecalculator 14 reads the post-correction bit string, the pulse information, and the base information stored in thememory 17. Then, thedata classifier 14 a uses the pulse information and the base information, and classifies the type of pulse and the type of base to which each bit in the post-correction bit string corresponds. Subsequently, thecalculator 14 uses the error position information generated by the error position identifier 13, and calculates the bit count (i.e., the number of bits) and the QBER (=number of bit errors/bit count) of the bit string corresponding to each type of pulse and each type of base classified by thedata classifier 14 a. That is, as illustrated inFIG. 5 , thecalculator 14 calculates 12 types of data as follows: the bit count and the QBER of the bit string corresponding to the x base and the signal pulses; the bit count and the QBER of the bit string corresponding to the x base and the decoy pulses; the bit count and the QBER of the bit string corresponding to the x base and the vacuum pulses; the bit count and the QBER of the bit string corresponding to the + base and the signal pulses; the bit count and the QBER of the bit string corresponding to the + base and the decoy pulses; and the bit count and the QBER of the bit string corresponding to the + base and the vacuum pulse. These pieces of data are used in calculating the length of cryptographic keys during the privacy amplification performed by theprivacy amplifier 16. Then, thecalculator 14 sends the 12 types of data to aprivacy amplifier 26 of thereceiver 2 via the classical communication channel. - Regarding the method for calculating the bit count and the QBER of the bit string corresponding to each type of pulse and each type of base in the shared bit string, generally it is possible to think of a method that includes dividing the shared bit string in advance into pulse-by-pulse bit strings and base-by-base bit strings; performing error correction with respect to each bit string; and calculating the bit count and the QBER in each bit string. However, the bit strings corresponding to the decoy pulses and the vacuum pulses generally have a higher QBER than the QBER of the bit strings corresponding to the signal pulses. Although also dependent on the settings of the
photon transmitter 10, as an example, if the signal pulses have the QBER of about 4[%], the decoy pulses may have the QBER of about 20[%] and the vacuum pulses may have the QBER reaching to about 50[%]. Thus, the QBER is high for only the bit strings corresponding to the decoy pulses and the vacuum pulses. Hence, correction may not be achieved irrespective of performing error correction, or a long processing time is required even if correction succeeds. Hence, it is not an efficient method. - In contrast, in the embodiment, the shared bit string is not divided in advance into pulse-by-pulse bit strings and base-by-base bit strings. Instead, as described above, the
error corrector 12 performs error correction with respect to the entire shared bit string. During the error correction performed by theerror corrector 12, the error position identifier 13 generates error position information indicating the bits in the shared bit string in which an error is present. Then, thecalculator 14 uses the error position information generated by the error position identifier 13, and calculates the bit count and the QBER of the bit string corresponding to each type of pulse and each type of base classified by thedata classifier 14 a (i.e., calculates the 12 types of data described above). As a result, it becomes possible to avoid a situation in which errors in the shared bit string cannot be corrected or in which a lot of time is spent for error correction. That enables achieving prevention of a decline in the generation efficiency of the final cryptographic key. - The
extractor 15 is a functional unit configured to read, from thememory 17, the post-correction bit string generated by theerror corrector 12; read, from thememory 17, the pulse information generated by thesifter 11; extract, from the post-correction bit string, the bit string corresponding to the signal pulses specified in the pulse information; and generate an extracted bit string. Of the post-correction bit string, the extracted bit string corresponding to the signal pulses is used as the bit string for generating a cryptographic key. Meanwhile, theextractor 15 need not read all of the signal pulse information, the decoy pulse information, and the vacuum pulse information as the pulse information. That is, at least the signal pulse information is read, and it becomes possible to know the positions of the bits of the shared bit string that correspond to the signal pulses. Hence, the extracted bit string can be generated. - The
privacy amplifier 16 is a functional unit configured to read, from thememory 17, the number of leaked bits that are calculated by theerror corrector 12; and perform privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and the 12 types of data calculated by thecalculator 14, compressing the extracted bit string generated by theextractor 15, and generating a cryptographic key having the calculated length. When the privacy amplification is successful, the cryptographic key generated by theprivacy amplifier 16 matches with the cryptographic key generated by the privacy amplifier 26 (described later) of thereceiver 2. Thus, identical cryptographic keys are shared. These shared cryptographic keys are used while performing cryptographic data communication between thetransmitter 1 and thereceiver 2 or between applications connected to thetransmitter 1 and thereceiver 2. - The
memory 17 is a functional unit configured to store therein the pulse information and the base information generated by thesifter 11, the post-correction bit string generated by theerror corrector 12, and the number of leaked bits. Thememory 17 is implemented using theauxiliary memory device 84 illustrated inFIG. 2 . - Meanwhile, the
sifter 11, theerror corrector 12, the error position identifier 13, thecalculator 14, theextractor 15, and theprivacy amplifier 16 are implemented when the CPU 80 illustrated inFIG. 2 loads the computer programs from theauxiliary memory device 84 into the RAM 82 and executes them. However, thesifter 11, theerror corrector 12, the error position identifier 13, thecalculator 14, theextractor 15, and theprivacy amplifier 16 are not all limited to be implemented by the execution of computer programs. Alternatively, at least some of thesifter 11, theerror corrector 12, the error position identifier 13, thecalculator 14, theextractor 15, and theprivacy amplifier 16 can be implemented using hardware circuitry. - As illustrated in
FIG. 3 , thereceiver 2 includes thephoton receiver 20, thesifter 21, theerror corrector 22, anextractor 25, theprivacy amplifier 26, and amemory 27. - The
photon receiver 20 is a functional unit configured to receive, from thephoton transmitter 10 of thetransmitter 1 via the quantum communication channel, a photon string and, as described later, obtain a photon bit string by reading the received photon string based on base information generated to have a bias in the selection probabilities of the bases. Thephoton receiver 20 is implemented using theoptical processing device 85 illustrated inFIG. 2 . - The
sifter 21 is a functional unit configured to receive, from thesifter 11 of thetransmitter 1 via the classical communication channel, base information generated by thephoton transmitter 10 of thetransmitter 1 to have a bias in the selection probabilities of the bases; and perform sifting that includes comparing the received base information with the base information generated by thephoton receiver 20, extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string. Meanwhile, the functions of thesifters transmitter 1 and thereceiver 2. That is, alternatively, after the base information is sent to thesifter 21 from thesifter 11, thesifter 21 can compare two pieces of base information and send matching information indicating the matching portion to thesifter 11. Moreover, the sifting explained herein is only exemplary, and any other method can alternatively be implemented. - Furthermore, the
sifter 21 receives the signal pulse information, the decoy pulse information, and the vacuum pulse information generated by thesifter 11 via the classical communication channel; and stores that information in thememory 27. Meanwhile, thesifter 21 need not receive all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, thesifter 21 can receive at least two types of pulse information from among the three types of pulse information. That is because, if at least two types of pulse information are known from among the three types of pulse information, the remaining one type of pulse information can also be explicitly derived. - The
error corrector 22 is a functional unit configured to perform error correction that includes exchanging control data (EC information) with theerror corrector 12 of thetransmitter 1 via the classical data communication channel; correcting the bit errors in the shared bit string; and generating a post-correction bit string. Then, theerror corrector 22 stores the post-correction bit string in thememory 27. When the error correction is successful, the post-correction bit string generated by theerror corrector 22 matches with the post-correction bit string generated by theerror corrector 12 of thetransmitter 1 by correcting the shared bit string. Meanwhile, since the post-correction bit string is generated by correcting the bit errors in the shared bit string, the length of the post-correction bit string is identical to the length of the shared bit string. - Moreover, in order to correct the bit errors in the shared bit string and generate a post-correction bit string as described above, the
error corrector 22 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with theerror corrector 12. Then, theerror corrector 22 stores the number of leaked bits in thememory 27. - The
extractor 25 is a functional unit configured to read, from thememory 27, the post-correction bit string generated by theerror corrector 22; read, from thememory 27, the pulse information generated by thesifter 21; extract, from the post-correction bit string, the bit string corresponding to the signal pulses specified in the pulse information; and generate an extracted bit string. Meanwhile, the pulse information read by theextractor 25 need not include all of the signal pulse information, the decoy pulse information, and the vacuum pulse information. That is, at least the signal pulse information is read, and it becomes possible to know the positions of the bits of the shared bit string that correspond to the signal pulses. Hence, the extracted bit string can be generated. - The
privacy amplifier 26 is a functional unit configured to read, from thememory 27, the number of leaked bits that are calculated by theerror corrector 22; and perform privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and the 12 types of data received from thecalculator 14 via the classical communication channel, compressing the extracted bit string generated by theextractor 25, and generating a cryptographic key having the calculated length. - The
memory 27 is a functional unit configured to store therein the pulse information received by thesifter 21, the post-correction bit string generated by theerror corrector 22, and the number of leaked bits. Thememory 27 is implemented using theauxiliary memory device 84 illustrated inFIG. 2 . - Meanwhile, the
sifter 21, theerror corrector 22, theextractor 25, and theprivacy amplifier 26 are implemented when the CPU 80 illustrated inFIG. 2 loads the computer programs from theauxiliary memory device 84 into the RAM 82 and executes them. However, thesifter 21, theerror corrector 22, theextractor 25, and theprivacy amplifier 26 are not all limited to be implemented by the execution of computer programs. Alternatively, at least some of thesifter 21, theerror corrector 22, theextractor 25, and theprivacy amplifier 26 can be implemented using hardware circuitry. - Meanwhile, the functional block configuration of the
transmitter 1 and thereceiver 2 illustrated inFIG. 3 is meant to illustrate the functions in a conceptual manner. That is, the configuration is not limited to the functional block configuration illustrated inFIG. 3 . Alternatively, for example, a plurality of independent functional units illustrated inFIG. 3 can be combined as a single functional unit. On the other hand, the function of a single functional unit illustrated inFIG. 3 can be divided into a plurality of functions and can be implemented using a plurality of functional units. -
FIG. 6 is a diagram for explaining the relationship between the types of bases and the errors in bit data. Thus, explained with reference toFIG. 6 is the relationship between the types of bases and the errors in bit data. - As described above, when comparison is performed between the base information generated by the
photon transmitter 10 to have a bias in the selection probabilities of the bases and the base information generated by thephoton receiver 20 to have a bias in the selection probabilities of the bases, the pieces of base information may or may not match with each other. Consider the case in which the pieces of bias information match. In that case, when the single photons generated by thephoton transmitter 10 are normally transmitted to thephoton receiver 20 via the quantum communication channel, thephoton receiver 20 can correctly read the polarization state of the photons on the basis of the identical type of base, and the bit information that is obtained matches with the bit information of the photon string transmitted from thephoton transmitter 10. - On the other hand, consider the case in which the bases do not match. In that case, when the single photons generated by the
photon transmitter 10 are transmitted to thephoton receiver 20 via the quantum communication channel, thephoton receiver 20 cannot correctly read the polarization state of the photons. In that case, according to the principle of quantum mechanics, the bit information obtained by thephoton receiver 20 from the photon string that is transmitted by thephoton transmitter 10 may or may not match in hindsight with the bit information of the photon string transmitted from thephoton transmitter 10. However, as a result of performing the sifting, the bit information corresponding to the non-matching bases is removed. - Also in the case in which the bases match, if the photon string transmitted from the
photon transmitter 10 is affected by the noise included in the quantum communication channel or is tapped in the quantum communication channel by an eavesdropper, then the photons undergo physical changes according to quantum uncertainty thereby leading to a situation in which the bit information obtained by thephoton receiver 20 by reading the photon string based on its own base may not match with the bit information of the photon string transmitted from thephoton transmitter 10. As a result, even in the shared bit string obtained after performing the sifting, the mismatch appears in the form of bit errors. -
FIGS. 7A and 7B are diagrams for explaining the selection probabilities of the bases. Thus, the explanation about the bias in the selection probabilities of the bases is given with reference toFIGS. 7A and 7B . - In the
photon transmitter 10 and thephoton receiver 20, if δ represents the probability of selection of one type of base, then (δ−8) represents the probability of selection of the other type of base. Hence, the probability at which the bases match is expressed as given below in Equation (1). -
δ·δ+(1−δ)(1−δ)=2δ2−2δ+1 (1) - For example, as illustrated in
FIG. 7A , in thephoton transmitter 10 of thetransmitter 1 and thephoton receiver 20 of thereceiver 2, if the selection probability of each of the two bases is random in nature, that is, equal to half; then the probability at which the base generated by thephoton transmitter 10 matches with the base generated by thephoton receiver 20 also becomes equal to half. That is, statistically, the length of the shared bit strings generated by thesifters - In that regard, as described above, if the selection probability of each of the two bases is set to half, that is, if δ=½ is satisfied; then the probability at which the base generated by the
photon transmitter 10 matches with the base generated by thephoton receiver 20 becomes equal to half (50[%]) as given below in Equation (2). That is same as the description given earlier. -
2δ2−2δ+1=2(½)2−2(½)+1=½ (2) - For example, as illustrated in
FIG. 7B , if the probability of selecting the + base is set to δ=⅞ and if the probability of selecting the x base is set to (1−δ)=⅛; then the probability at which the base generated by thephoton transmitter 10 matches with the base generated by thephoton receiver 20 becomes equal to 25/32 (87.5[%]) as given below in Equation (3). -
2δ2−2δ+1=2(⅞)2−2(⅞)+1= 25/32 (3) - As a result, statistically, the length of the shared bit strings generated by the
sifters -
FIG. 8 is a sequence diagram illustrating an example of the operation for generating cryptographic keys in the QKD devices.FIG. 9 is a flowchart for explaining the details regarding the flow of data during the operation for generating cryptographic keys.FIG. 10 is a diagram for explaining a method for calculating the QBER based on various types of data. Thus, explained with reference toFIGS. 8 to 10 is a flow of operations performed to generate cryptographic keys. - Step S11
- For example, the
photon transmitter 10 transmits, to thephoton receiver 20 of thereceiver 2 via the quantum communication channel, a photon string that is made of single photons which are generated to be in a polarization state based on base information generated to have a bias in the selection probabilities of the bases, as against a photon bit string generated using random numbers. At that time, as illustrated inFIG. 4 , thephoton transmitter 10 generates photons by generating three types of pulses having different laser intensities (i.e., thesignal pulses 200, thedecoy pulses 201, and the vacuum pulses 202). - Step S12
- The
photon receiver 20 receives the photon string from thephoton transmitter 10 of thetransmitter 1 via the quantum communication channel, and obtains a photon bit string by reading the received photon string on the basis of base information generated to have a bias in the selection probabilities of the bases. - Step S13
- The
sifter 11 receives, from thesifter 21 of thereceiver 2 via the classical communication channel, base information generated by thephoton receiver 20 of thereceiver 2 to have a bias in the selection probabilities of the bases; and performs sifting that includes comparing the received base information with the base information generated by thephoton transmitter 10, extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string as illustrated inFIG. 9 . - Moreover, the
sifter 11 generates, from the recognition result obtained by thephoton transmitter 10 about the type of pulse to which each bit of the photon bit string corresponds, information indicating the type of pulse to which each bit of the shared bit string corresponds. More particularly, as illustrated inFIG. 9 , regarding the shared bit string, thesifter 11 generates signal pulse information indicating the positions of the bits corresponding to the signal pulses, generates decoy pulse information indicating the positions of the bits corresponding to the decoy pulses, and generates vacuum pulse information indicating the positions of the bits corresponding to the vacuum pulses. Then, thesifter 11 sends the signal pulse information, the decoy pulse information, and the vacuum pulse information to thesifter 21 of thereceiver 2 via the classical communication channel, as well as stores that information in thememory 17. - Furthermore, as illustrated in
FIG. 9 , thesifter 11 compares the base information received from thesifter 21 of thereceiver 2 via the classical communication channel and the base information generated by thephoton transmitter 10; extracts the matching portion; and stores the extracted base information in thememory 17. - Step S14
- The
sifter 21 receives, from thesifter 11 of thetransmitter 1 via the classical communication channel, base information generated by thephoton transmitter 10 of thetransmitter 1 to have a bias in the selection probabilities of the bases; and performs sifting that includes comparing the received base information with the base information generated by thephoton receiver 20, extracting the bits corresponding to the matching portion from the photon bit string, and generating a shared bit string. - Moreover, the
sifter 21 receives the signal pulse information, the decoy pulse information, and the vacuum pulse information generated by thesifter 11 via the classical communication channel, and stores that information in thememory 27. - Step S15
- The
error corrector 12 performs error correction that includes exchanging control data (EC information) with theerror corrector 22 of thereceiver 2 via the classical data communication channel; correcting the bit errors in the shared bit string generated by thesifter 11; and generating a post-correction bit string as illustrated inFIG. 9 . Theerror corrector 12 then stores the post-correction bit string in thememory 17. - Moreover, as illustrated in
FIG. 9 , in order to correct the bit errors in the shared bit string and generate a post-correction bit string, theerror corrector 12 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with theerror corrector 22. Theerror corrector 12 then stores the number of leaked bits in thememory 17. - The error position identifier 13 generates, during the error correction performed by the
error corrector 12, error position information indicating the bits in the shared bit string in which an error is present, that is, information indicating the bits in the post-correction bit string that were subjected to error correction as illustrated inFIG. 9 . - Step S16
- The
error corrector 22 performs error correction that includes exchanging control data (EC information) with theerror corrector 12 of thetransmitter 1 via the classical data communication channel; correcting the bit errors in the shared bit string generated by thesifter 21; and generating a post-correction bit string. Theerror corrector 22 then stores the post-correction bit string in thememory 27. - Moreover, in order to correct the bit errors in the shared bit string and generate a post-correction bit string as described above, the
error corrector 22 calculates the number of leaked bits on the basis of the amount of information of the EC information exchanged with theerror corrector 12. Theerror corrector 22 then stores the number of leaked bits in thememory 27. - Step S17
- The
calculator 14 calculates, from the post-correction bit string generated by theerror corrector 12, the QBER of the bit string corresponding to each type of pulse and each type of base. More particularly, firstly, thecalculator 14 reads the post-correction bit string, the pulse information, and the base information stored in thememory 17. Then, thedata classifier 14 a uses the pulse information and the base information, and classifies the type of pulse and the type of base to which each bit in the post-correction bit string corresponds. Subsequently, thecalculator 14 uses the error position information generated by the error position identifier 13, and calculates the bit count (i.e., the number of bits) and the QBER (=number of bit errors/bit count) of the bit string corresponding to each type of pulse and each type of base classified by thedata classifier 14 a. That is, as illustrated inFIG. 5 , thecalculator 14 calculates 12 types of data as follows: the bit count and the QBER of the bit string corresponding to the x base and the signal pulses; the bit count and the QBER of the bit string corresponding to the x base and the decoy pulses; the bit count and the QBER of the bit string corresponding to the x base and the vacuum pulses; the bit count and the QBER of the bit string corresponding to the + base and the signal pulses; the bit count and the QBER of the bit string corresponding to the + base and the decoy pulses; and the bit count and the QBER of the bit string corresponding to the + base and the vacuum pulse. Then, thecalculator 14 sends the 12 types of data to theprivacy amplifier 26 of thereceiver 2 via the classical communication channel. - Meanwhile, regarding a specific method by which the
calculator 14 calculates the bit count and the QBER of the bit string corresponding to each pulse and each base, for example, the following method can be implemented. As illustrated inFIG. 10 , in the post-correction bit string, the type of pulse to which the bit at each position corresponds can be distinguished using the pulse information (the signal pulse information, the decoy pulse information, and the vacuum pulse information). Moreover, in the post-correction bit string, the type of base to which the bit at each position corresponds can be distinguished using the base information. For example, with reference toFIG. 10 , it is assumed that “1” represents the + base and “0” represents the x base. In this way, in the post-correction bit string, using the pulse information and the base information to distinguish the type of pulse and the type of base to which the bit at each position corresponds is equivalent to the classification performed by thedata classifier 14 a. Moreover, in the post-correction bit string, the positions of the bits that were subjected to error correction can be distinguished using the error position information. For example, with reference toFIG. 10 , in the error position information, “1” represents the bits that were subjected to error correction and “0” represents the bits that were not subjected to error correction. - If each bit in the post-correction bit string is distinguished in the manner described above, for example, the bit at the fourth bit position can be distinguished to be corresponding to the signal pulses and the + base, and further can be distinguished to have been subjected to error correction. For example, as illustrated in
FIG. 10 , if attention is paid to the bit string having the bits from the first bit position to the 12-th bit position in the shared bit string, the bit string corresponding to the x base and the signal pulses is calculated to have the bit count of “2” and the QBER of ½ (50[%]). Similarly, the bit string corresponding to the x base and the decoy pulse is calculated to have the bit count of “2” and the QBER of ½ (50[%]). Moreover, the bit string corresponding to the x base and the vacuum pulse is calculated to have the bit count of “2” and the QBER of ½ (50[%]). Furthermore, the bit string corresponding to the + base and the signal pulse is calculated to have the bit count of “2” and the QBER of ½ (50[%]). Moreover, the bit string corresponding to the + base and the decoy pulse is calculated to have the bit count of “2” and the QBER of ½ (50[%]). Furthermore, the bit string corresponding to the + base and the vacuum pulse is calculated to have the bit count of “2” and the QBER of ½ (50[%]). - Step S18
- The
extractor 15 reads, from thememory 17, the post-correction bit string generated by theerror corrector 12; reads, from thememory 17, the pulse information generated by thesifter 11; extracts, from the post-correction bit string, the bit string corresponding to the signal pulses indicated by the pulse information; and generates an extracted bit string. - Step S19
- The
extractor 25 reads, from thememory 27, the post-correction bit string generated by theerror corrector 22; reads, from thememory 27, the pulse information generated by thesifter 21; extracts, from the post-correction bit string, the bit string corresponding to the signal pulses indicated by the pulse information; and generates an extracted bit string. - Step S20
- The
privacy amplifier 16 reads, from thememory 17, the number of leaked bits that are calculated by theerror corrector 12; and performs privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and based on the 12 types of data calculated by thecalculator 14, compressing the extracted bit string generated by theextractor 15, and generating a cryptographic key having the calculated length. - Step S21
- The
privacy amplifier 26 reads, from thememory 27, the number of leaked bits that are calculated by theerror corrector 22; and performs privacy amplification that includes calculating the length of a final cryptographic key on the basis of the number of leaked bits and based on the 12 types of data received from thecalculator 14 via the classical communication channel, compressing the extracted bit string generated by theextractor 25, and generating a cryptographic key having the calculated length. - As a result of the operations described above, identical cryptographic keys are generated in the
transmitter 1 and thereceiver 2. The cryptographic keys generated as a result of the operations described above are used as one time pads that are not used more than once. Hence, every time the operations are performed, different cryptographic keys are generated in a repeated manner. Meanwhile, the steps described above can be performed in parallel. For example, in parallel with the error correction performed at Steps S15 and S16, the sifting performed at Steps S13 and S14 can be performed with respect to a different bit string. - Of the data generated by various functional units illustrated in
FIG. 3 , some of the data is stored in thememories error corrector 12 stores the generated post-correction bit string in thememory 17; and thecalculator 14 and theextractor 15 read the post-correction bit string from thememory 17. Instead, theerror corrector 12 can directly send the post-correction bit string to thecalculator 14 and theextractor 15 without storing it in thememory 17. Conversely, of the data generated by various functional units illustrated inFIG. 3 , some of the data is directly sent to the functional units responsible for the respective next processes without storing the data in thememories memories sifter 11 sends the generated shared bit string directly to theerror corrector 12. Alternatively, thesifter 11 can once store the generated shared bit string in thememory 17. In this case, theerror corrector 12 can read the shared bit string from thememory 17, and perform the error correction. - As described above, in the embodiment, the shared bit string is not divided in advance into pulse-by-pulse bit strings and base-by-base bit strings. Instead, the
error corrector 12 performs error correction with respect to the entire shared bit string. During the error correction performed by theerror corrector 12, the error position identifier 13 generates error position information that indicates the bits in the shared bit string in which an error is present. Then, thecalculator 14 uses the error position information generated by the error position identifier 13, and calculates the bit count and the QBER of the bit string corresponding to each type of pulse and each type of base classified by thedata classifier 14 a (i.e., calculates the 12 types of data described above). As a result, it becomes possible to avoid a situation in which errors in the shared bit string cannot be corrected or in which a lot of time is spent for error correction. That enables achieving prevention of a decline in the generation efficiency of the final cryptographic key. Besides, calculation of the QBER can be done without having to perform communication for the purpose of matching and comparing the bit strings during the generation of cryptographic keys between thetransmitter 1 and thereceiver 2. - Meanwhile, with reference to
FIG. 3 , thetransmitter 1 includes the error position identifier 13 and thecalculator 14; while thereceiver 2 does not include those functional units. However, that is not the only possible configuration. Alternatively, for example, thereceiver 2 can include the functional units equivalent to the error position identifier 13 and thecalculator 14. In that case, thecalculator 14 of thereceiver 2 can use the pulse information generated in thetransmitter 1, and can generate the bit count and the QBER corresponding to each type of pulse and each type of base. Still alternatively, thetransmitter 1 as well as thereceiver 2 can include the functional units equivalent to the error position identifier 13 and thecalculator 14. In that case, thecalculator 14 of thereceiver 2 independently calculates the 12 types of data. Hence, as described above, thecalculator 14 of thetransmitter 1 need not send the 12 types of data to theprivacy amplifier 26 of thereceiver 2. - Moreover, the
privacy amplifier 16 of thetransmitter 1 as well as theprivacy amplifier 26 of thereceiver 2 calculates the length of the cryptographic keys on the basis of the number of leaked bits and the 12 types of data. However, that is not the only possible case. Alternatively, either theprivacy amplifier 16 or theprivacy amplifier 26 can calculate the length of cryptographic keys and send the length to the other privacy amplifier via the classical communication channel. Then, the other privacy amplifier can make use of the received length of cryptographic keys and perform the privacy amplification. - Meanwhile, the computer programs executed in the QKD devices according to the embodiment are stored in advance in, for example, the ROM 81.
- Alternatively, the computer programs executed in the QKD devices according to the embodiment can be recorded as installable or executable files in a computer-readable recording medium such as a compact disk read only memory (CD-ROM), a flexible disk (ED), a compact disk recordable (CD-R), or a digital versatile disk (DVD); and can be provided as a computer program product.
- Still alternatively, the computer programs executed in the QKD devices according to the embodiment can be saved as downloadable files on a computer connected to the Internet or can be made available for distribution through a network such as the Internet.
- The computer programs executed in the QKD devices according to the embodiment can make a computer function as the constituent elements of the QKD devices (i.e., the
sifter 11, theerror corrector 12, the error position identifier 13, thecalculator 14, theextractor 15, and theprivacy amplifier 16; or thesifter 21, theerror corrector 22, theextractor 25, and the privacy amplifier 26). In such a computer, the CPU 80 can read the computer programs from a computer-readable memory medium, load them in a main memory device, and execute them. - While a certain embodiment has been described, the embodiment has been presented by way of example only, and is not intended to limit the scope of the inventions. Indeed, the novel embodiment described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiment described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Claims (8)
1. A quantum key distribution device that is connected to another quantum key distribution device by a quantum communication channel and a classical communication channel and that generates and shares an identical cryptographic key, the quantum key distribution device comprising:
a quantum key distributor to obtain a photon string by performing quantum key distribution via the quantum communication channel with respect to photons included in two or more intensities of light pulses, and obtain a photon bit string corresponding to the photon string on the basis of base information that is generated;
a sifter to generate a shared bit string from the photon bit string by performing sifting based on base information of the quantum key distributor and base information of the other quantum key distribution device, and obtain pulse information indicating the light pulse to which each bit of the shared bit string corresponds;
a corrector to perform error correction to correct an error included in the shared bit string and generate a post-correction bit string;
an identifier to generate error position information which enables identification of a bit in the post-correction bit string from which error was corrected during the error correction of the corrector;
a classifier to classify, using the pulse information and the base information, the light pulse and a base to which each bit in the shared bit string corresponds;
a calculator to calculate an error rate for each of the light pulses and each of the bases classified by the classifier using the error position information; and
a privacy amplifier to perform privacy amplification to compress the post-correction bit string on the basis of each of the error rates, and generate the cryptographic key.
2. The device according to claim 1 , wherein
the quantum key distributor
generates each of the light pulses,
generates the photon string from photons included in each of the light pulses, and
transmits the photon string to the other quantum key distribution device via the quantum key communication channel, and
the sifter generates the pulse information according to types of the light pulses generated by the quantum key distributor.
3. The device according to claim 1 , wherein
the quantum key distributor receives the photon string from the other quantum key distribution device via the quantum key communication channel, and generates the photon bit string by reading information included in the photon string on the basis of the base information that is generated, and
the sifter receives the pulse information from the other quantum key distribution device via the classical communication channel.
4. The device according to claim 1 , further comprising an extractor to extract, from the post-correction bit string, a bit string indicated by the pulse information as an extracted bit string for purpose of forming the cryptographic key, wherein
the privacy amplifier generates the cryptographic key by performing the privacy amplification with respect to the extracted bit string.
5. The device according to claim 1 , wherein
the corrector calculates number of leaked bits on the basis of control information that is exchanged with the other quantum key distribution device via the classical communication channel during the error correction, and
the privacy amplifier performs the privacy amplification by further using the number of leaked bits.
6. The device according to claim 1 , wherein
the calculator further calculates, using the error position information, a bit count of a bit string in the post-correction bit string corresponding to each of the light pulses and each of the bases classified by the classifier, and
the privacy amplifier generates the cryptographic key by performing the privacy amplification on the basis of the error rate and the bit count.
7. A quantum key distribution system comprising:
a plurality of quantum key distribution devices that are connected by a quantum communication channel and a classical communication channel and that generates and shares identical cryptographic keys, wherein
at least one of the plurality quantum key distribution devices includes
a quantum key distributor to obtain a photon string by performing quantum key distribution via the quantum communication channel with respect to photons included in two or more intensities of light pulses, and obtains a photon bit string corresponding to the photon string on the basis of base information that is generated;
a sifter to generate a shared bit string from the photon bit string by performing sifting based on base information of the quantum key distributor and base information of another quantum key distribution device, and obtain pulse information indicating the light pulse to which each bit of the shared bit string corresponds;
a corrector to perform error correction to correct an error included in the shared bit string and generate a post-correction bit string;
an identifier to generate error position information which enables identification of a bit in the post-correction bit string from which error was corrected during the error correction of the corrector;
a classifier to classify, using the pulse information and the base information, the light pulse and a base to which each bit in the shared bit string corresponds;
a calculator to calculate an error rate for each of the light pulses and each of the bases classified by the classifier using the error position information; and
a privacy amplifier to perform privacy amplification to compress the post-correction bit string on the basis of each of the error rates, and generate the cryptographic key.
8. A computer program product comprising a computer readable medium including programmed instructions, wherein the programmed instructions cause a computer
that is connected to another quantum key distribution device by a quantum communication channel and a classical communication channel and that generates and shares an identical cryptographic key, and
that includes a quantum key distributor to obtain a photon string by performing quantum key distribution via the quantum communication channel with respect to photons included in two or more intensities of light pulses, and obtains a photon bit string corresponding to the photon string on the basis of the generated base information,
to function as:
a sifter to generate a shared bit string from the photon bit string by performing sifting based on base information of the quantum key distributor and base information of the other quantum key distribution device, and obtain pulse information indicating the light pulse to which each bit of the shared bit string corresponds;
a corrector to perform error correction to correct an error included in the shared bit string and generate a post-correction bit string;
an identifier to generate error position information which enables identification of a bit in the post-correction bit string from which error was corrected during the error correction of the corrector;
a classifier to classify, using the pulse information and the base information, the light pulse and a base to which each bit in the shared bit string corresponds;
a calculator to calculate an error rate for each of the light pulses and each of the bases classified by the classifier using the error position information; and
a privacy amplifier to perform privacy amplification to compress the post-correction bit string on the basis of each of the error rates, and generate the cryptographic key.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-011275 | 2015-01-23 | ||
JP2015011275A JP6396225B2 (en) | 2015-01-23 | 2015-01-23 | Quantum key distribution device, quantum key distribution system and program |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160218868A1 true US20160218868A1 (en) | 2016-07-28 |
US9768954B2 US9768954B2 (en) | 2017-09-19 |
Family
ID=56434312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/859,507 Active US9768954B2 (en) | 2015-01-23 | 2015-09-21 | Quantum key distribution device, quantum key distribution system, and computer program product |
Country Status (2)
Country | Link |
---|---|
US (1) | US9768954B2 (en) |
JP (1) | JP6396225B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020520587A (en) * | 2017-05-03 | 2020-07-09 | ユニヴェルシテ ドゥ ジュネーヴ | Apparatus and method for decoy state and three state quantum key distribution |
US10887094B2 (en) * | 2018-01-29 | 2021-01-05 | Electronics And Telecommunications Research Institute | Authentication apparatus and method for quantum cryptography communication |
CN113157484A (en) * | 2020-01-07 | 2021-07-23 | 爱思开海力士有限公司 | Memory system and data processing system for handling errors by error analysis |
US20220247549A1 (en) * | 2019-10-04 | 2022-08-04 | Red Hat, Inc. | Instantaneous key invalidation in response to a detected eavesdropper |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059343A1 (en) * | 2003-02-07 | 2006-03-16 | Magiq Technologies Inc. | Key expansion for qkd |
US20130315395A1 (en) * | 2012-05-25 | 2013-11-28 | The Johns Hopkins University | Embedded Authentication Protocol for Quantum Key Distribution Systems |
US20140037087A1 (en) * | 2011-04-08 | 2014-02-06 | Nec Corporation | Communication device and cryptographic key creation method in cryptographic key sharing system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4398374B2 (en) * | 2002-09-26 | 2010-01-13 | 三菱電機株式会社 | Cryptographic communication device |
JP4521318B2 (en) * | 2005-06-09 | 2010-08-11 | 株式会社東芝 | Quantum circuit, quantum error correction apparatus, and quantum error correction method |
GB201020424D0 (en) * | 2010-12-02 | 2011-01-19 | Qinetiq Ltd | Quantum key distribution |
GB201210494D0 (en) | 2012-06-13 | 2012-07-25 | Toshiba Res Europ Ltd | A quantum communication method and system |
-
2015
- 2015-01-23 JP JP2015011275A patent/JP6396225B2/en active Active
- 2015-09-21 US US14/859,507 patent/US9768954B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059343A1 (en) * | 2003-02-07 | 2006-03-16 | Magiq Technologies Inc. | Key expansion for qkd |
US20140037087A1 (en) * | 2011-04-08 | 2014-02-06 | Nec Corporation | Communication device and cryptographic key creation method in cryptographic key sharing system |
US20130315395A1 (en) * | 2012-05-25 | 2013-11-28 | The Johns Hopkins University | Embedded Authentication Protocol for Quantum Key Distribution Systems |
US8693691B2 (en) * | 2012-05-25 | 2014-04-08 | The Johns Hopkins University | Embedded authentication protocol for quantum key distribution systems |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020520587A (en) * | 2017-05-03 | 2020-07-09 | ユニヴェルシテ ドゥ ジュネーヴ | Apparatus and method for decoy state and three state quantum key distribution |
JP7225117B2 (en) | 2017-05-03 | 2023-02-20 | ユニヴェルシテ ドゥ ジュネーヴ | Apparatus and method for decoy-state and three-state quantum key distribution |
US10887094B2 (en) * | 2018-01-29 | 2021-01-05 | Electronics And Telecommunications Research Institute | Authentication apparatus and method for quantum cryptography communication |
US20220247549A1 (en) * | 2019-10-04 | 2022-08-04 | Red Hat, Inc. | Instantaneous key invalidation in response to a detected eavesdropper |
US12081645B2 (en) * | 2019-10-04 | 2024-09-03 | Red Hat, Inc. | Instantaneous key invalidation in response to a detected eavesdropper |
CN113157484A (en) * | 2020-01-07 | 2021-07-23 | 爱思开海力士有限公司 | Memory system and data processing system for handling errors by error analysis |
Also Published As
Publication number | Publication date |
---|---|
JP2016136673A (en) | 2016-07-28 |
JP6396225B2 (en) | 2018-09-26 |
US9768954B2 (en) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341097B2 (en) | Communication device, quantum key distribution system, quantum key distribution method, and computer program product | |
US9503257B2 (en) | Quantum key distribution device, quantum key distribution system, and quantum key distribution method | |
US20150215122A1 (en) | Quantum key distribution device, quantum key distribution system, and quantum key distribution method | |
US9768954B2 (en) | Quantum key distribution device, quantum key distribution system, and computer program product | |
JP6478749B2 (en) | Quantum key distribution apparatus, quantum key distribution system, and quantum key distribution method | |
US10291400B2 (en) | Quantum key distribution device, quantum key distribution system, and quantum key distribution method | |
US20170222803A1 (en) | Communication device, cryptographic communication system, cryptographic communication method, and computer program product | |
US10020893B2 (en) | Communication device, quantum key distribution system, quantum key distribution method, and computer program product | |
US11800260B2 (en) | Network telemetry with byte distribution and cryptographic protocol data elements | |
US9294272B2 (en) | System and method for quantum key distribution | |
US10223182B2 (en) | Communication device, communication system, and computer program product | |
US9467284B2 (en) | Transmitter, receiver, quantum key distribution (QKD) system and quantum key distribution method | |
US20060256966A1 (en) | Methods and apparatus for monitoring the integrity of a quantum channel supporting multi-quanta pulse transmission | |
US10348492B2 (en) | Quantum key distribution device, quantum key distribution system, and quantum key distribution method | |
US11115198B2 (en) | Key generation device, key generation method, and computer program product | |
TW201628379A (en) | Packet transmission device, packet-receiving device, packet transmission program, and packet-receiving program | |
US7260222B2 (en) | Shared data refining device and shared data refining method | |
US20180255039A1 (en) | Key sharing device, key sharing system, key sharing method, and computer program product | |
JP2017139728A (en) | Communication device, encryption communication system, encryption communication method and program | |
US9928370B2 (en) | Communication device, communication method, computer program product, and communication system | |
CN104579557A (en) | Data integrity transmission method among multiple nodes | |
WO2020079841A1 (en) | Random number quality management method and device | |
CN113691621B (en) | Block chain data uplink method | |
KR102126769B1 (en) | Method for transmitting message in quantum key distribution system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KABUSHIKI KAISHA TOSHIBA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAKAHASHI, RIRIKA;TANIZAWA, YOSHIMICHI;REEL/FRAME:036609/0677 Effective date: 20150910 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |