WO2023240986A1 - 有效量子密钥获得方法及装置 - Google Patents

有效量子密钥获得方法及装置 Download PDF

Info

Publication number
WO2023240986A1
WO2023240986A1 PCT/CN2022/141137 CN2022141137W WO2023240986A1 WO 2023240986 A1 WO2023240986 A1 WO 2023240986A1 CN 2022141137 W CN2022141137 W CN 2022141137W WO 2023240986 A1 WO2023240986 A1 WO 2023240986A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
quantum key
value
decoded data
interactive device
Prior art date
Application number
PCT/CN2022/141137
Other languages
English (en)
French (fr)
Inventor
黄铖斌
方燕萍
王锦华
薛伟佳
王聪丽
Original Assignee
中国电信股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中国电信股份有限公司 filed Critical 中国电信股份有限公司
Publication of WO2023240986A1 publication Critical patent/WO2023240986A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Definitions

  • the present disclosure relates to the field of network security technology, and in particular to a method and device for obtaining an effective quantum key.
  • the two parties can first exchange keys before data interaction.
  • the sender can use the key to encrypt the data and then transmit the encrypted data.
  • the receiver can receive the encrypted data.
  • the same key can then be used to decrypt the encrypted data. Since only the data interaction parties can obtain the above key, other devices cannot decrypt the encrypted data even if they obtain the transmitted encrypted data. Therefore, using the key can ensure the security of data transmission.
  • Quantum key is a key with high security. Both parties can exchange quantum keys through quantum channels, and then perform encrypted data transmission based on quantum keys.
  • the purpose of the embodiments of the present disclosure is to provide a method and device for obtaining an effective quantum key.
  • embodiments of the present disclosure provide a method for obtaining an effective quantum key. Any device that performs quantum key interaction serves as the first interactive device, and the other device serves as the second interactive device. It is applied to the first interactive device. , the method includes:
  • the second summary value is: the summary value calculated by the second interactive device on the second decoding data, the second decoding
  • the position of the data in the second quantum key is the same as the position of the first decoded data in the first quantum key, and the first interactive device calculates the first digest value in the same way as the second interactive device calculates
  • the method of the second digest value is the same, and the second quantum key is: the quantum key obtained by the second interactive device;
  • the first decoded data is determined as the target data
  • the first decoded data is divided, and each divided group data is used as a new first decoded data. If the preset termination condition is not met, then for each new first decoded data data, return to the step of calculating the first digest value of the first decoded data;
  • the determined target data are combined to obtain an effective quantum key.
  • determining whether the first digest value and the second digest value are the same includes:
  • determining whether the first digest value and the second digest value are the same includes:
  • the first decoded data is divided, and each divided group data is used as new first decoded data, including:
  • the first decoded data is equally divided using a dichotomy method, and the two divided group data are respectively used as new first decoded data.
  • the preset termination condition is: the length of each grouped data obtained by dividing is less than the length of the quantum key required to encrypt the data.
  • embodiments of the present disclosure provide a device for obtaining an effective quantum key.
  • Any device that performs quantum key interaction serves as the first interaction device, and the other device serves as the second interaction device. It is applied to the first interaction.
  • Equipment the device includes:
  • a decoding data acquisition module used to obtain a first quantum key, and use the first quantum key as the first decoding data
  • a first digest value calculation module configured to calculate a first digest value of the first decoded data
  • a summary value comparison module used to determine whether the first summary value and the second summary value are the same, wherein the second summary value is: the summary value calculated by the second interactive device on the second decoded data.
  • the position of the second decoded data in the second quantum key is the same as the position of the first decoded data in the first quantum key
  • the first interactive device calculates the first digest value in the same way as The second interactive device calculates the second digest value in the same way
  • the second quantum key is: the quantum key obtained by the second interactive device;
  • a target data determination module configured to determine the first decoded data as target data when the summary value comparison module determines that the first summary value and the second summary value are the same;
  • a decoding data dividing module configured to divide the first decoding data when the abstract value comparison module determines that the first abstract value and the second abstract value are different, and divide the divided group data into As new first decoded data respectively, if the preset termination condition is not met, trigger execution of the first summary value calculation module for each new first decoded data;
  • the effective key acquisition module is used to perform data combination on the determined target data to obtain the effective quantum key if the preset termination conditions are met.
  • the summary value comparison module is also used to:
  • the summary value comparison module is also used to:
  • the decoding data dividing module is also used to:
  • the summary value comparison module determines that the first summary value and the second summary value are different, the first decoded data is divided equally using the dichotomy method, and the two divided group data are used as new data respectively. of the first decoded data.
  • the preset termination condition is: the length of each grouped data obtained by dividing is less than the length of the quantum key required to encrypt the data.
  • embodiments of the present disclosure provide an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete communication with each other through the communication bus;
  • Memory used to store computer programs
  • the processor is used to implement any of the method steps described in the first aspect when executing the program stored in the memory.
  • embodiments of the present disclosure provide a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium.
  • the computer program is executed by a processor, the method of any one of the first aspects is implemented. step.
  • embodiments of the present disclosure also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the above method steps.
  • Figure 1 is a schematic flow chart of the first method for obtaining an effective quantum key provided by an embodiment of the present disclosure
  • Figure 2 is a target data determination flow chart provided by an embodiment of the present disclosure
  • Figure 3 is a schematic flow chart of the second method for obtaining an effective quantum key provided by an embodiment of the present disclosure
  • Figure 4 is a schematic flow chart of the third method for obtaining an effective quantum key provided by an embodiment of the present disclosure
  • Figure 5 is a schematic flow chart of the fourth method for obtaining an effective quantum key provided by an embodiment of the present disclosure
  • Figure 6 is a schematic flowchart of the fifth method for obtaining an effective quantum key provided by an embodiment of the present disclosure
  • Figure 7 is a schematic structural diagram of an effective quantum key obtaining device provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.
  • quantum keys Due to the influence of the quantum properties of light, quantum keys are susceptible to interference during the transmission process, resulting in different quantum keys obtained by both parties in the quantum key interaction. Such quantum keys are invalid quantum keys. In order to solve the above problems, a method to obtain effective quantum keys is urgently needed.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key. Any device that performs quantum key interaction is used as the first interaction device, and the other device is used as the second interaction device.
  • the method is applied to the first interaction device.
  • the method may include :
  • the second digest value is: the digest value calculated by the second interactive device on the second decoded data, and the second decoded data is in the second quantum key
  • the position of is the same as the position of the first decoded data in the first quantum key.
  • the first interactive device calculates the first digest value in the same way as the second interactive device calculates the second digest value.
  • the second quantum key is : The quantum key obtained by the second interactive device;
  • the first decoded data is determined as the target data
  • the first decoded data is divided, and each divided group data is used as the new first decoded data. If the preset termination condition is not met, execution is returned for each first decoded data.
  • the step of calculating the first digest value of the first decoded data
  • the determined target data are combined to obtain an effective quantum key.
  • the first interactive device calculates the first digest value of the first decoded data, and compares the first digest value with the second digest value calculated by the second interactive device on the second decoded data. Since the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data. The first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. , which can ensure that both parties in the quantum key interaction obtain the same effective quantum key.
  • the two parties of quantum key interaction can implement the quantum key interaction process based on the BB84 protocol or other protocols in the existing technology.
  • the quantum key interaction parties can be divided into a key sender and a key receiver.
  • the key sender first generates a random number containing a preset number of bits. For binary numbers, a basis vector is set for each bit of a random binary number, and then light quantum modulation is performed on the random binary number to obtain light quantum.
  • the key recipient is also configured with a preset number of basis vectors, each basis vector corresponding to a binary bit.
  • the key sender sends light quanta to the key receiver through the quantum channel, and the key receiver analyzes the light quanta to obtain random binary numbers.
  • the key sender and the key receiver respectively send the basis vectors set by themselves to each other, and compare the basis vectors set by themselves and the received basis vectors bit by bit to determine the corresponding binary bits of the basis vectors.
  • the key sender and the key receiver respectively combine the binary bits that they have determined and have the same basis vector according to their order in the random binary bits to obtain the quantum key.
  • both the key sender and the key receiver obtain the quantum key based on the random binary numbers generated by the key sender, and the above random binary numbers are sent by the key sender to the key receiver in the form of light quanta.
  • light quanta is susceptible to interference and changes during the transmission process, making the light quanta received by the key receiver different from the light quanta sent by the key sender, thus causing the key receiver to obtain random information.
  • the binary number is different from the random binary number generated by the key sender.
  • the quantum key obtained by the key receiver based on the random binary number is different from the quantum key obtained by the key sender based on the random binary number, causing the key interaction between the two parties to be different. The problem of obtaining an invalid quantum key.
  • the basis vectors transmitted by the above-mentioned key interaction parties are the basis for extracting quantum keys from random binary numbers. It is necessary to ensure that the basis vectors do not change during the transmission process in order to achieve accurate quantum key extraction. Therefore, the key interaction parties can transmit basis vectors through other channels with higher stability other than quantum channels, and other channels other than quantum channels can be called classical channels.
  • embodiments of the present disclosure provide a method and device for obtaining an effective quantum key. .
  • FIG. 1 it is a schematic flow chart of the first method for obtaining an effective quantum key provided by an embodiment of the present disclosure. Any device that performs quantum key interaction is used as the first interactive device, and the other device is used as the second interactive device. It is applied to The first interactive device synchronously determines the effective quantum key through the following steps S101-S106.
  • the first quantum key is a quantum key generated by the first interactive device based on a random binary number generated by itself. If the first interactive device is the key recipient, the first quantum key is a quantum key generated by the first interactive device based on the random binary number it received.
  • the first quantum key consists of multiple binary bits.
  • S102 Calculate the first digest value of the first decoded data.
  • the first interactive device can calculate the first digest value using a preset digest calculation method.
  • the preset digest calculation method can be a digest calculation method in the prior art, for example, it can be based on a hash function. Calculate the first digest value of the first decoded data.
  • the hash function can be SHA224 (Secure Hash Algorithm224, secure hash algorithm 224), SHA256 (Secure Hash Algorithm256, secure hash algorithm 256), SHA512 (Secure Hash Algorithm512 , secure hashing algorithm 512), etc.
  • the second digest value is: a digest value calculated by the second interactive device on the second decoded data.
  • the position of the second decoded data in the second quantum key is the same as the position of the first decoded data in the first quantum key.
  • the first interactive device calculates the first digest value in the same way as the second interactive device calculates the second digest value.
  • the second quantum key is the quantum key obtained by the second interactive device.
  • the second decoded data when the first decoded data is the first quantum key, the second decoded data is the second quantum key. That is, in the initial state of the disclosed embodiment, the second interactive device is also the same. Calculate the digest value of the second quantum key based on the digest calculation method to obtain the second digest value. In some embodiments, after obtaining the second quantum key, the second interactive device can also calculate the second digest value based on the calculation method shown in the aforementioned step S102.
  • the second interactive device is the key receiver shown above, and the key receiver shown above is the first interactive device.
  • the second interactive device is the key sender shown above.
  • step S104 if the first digest value and the second digest value are the same, it means that the first quantum key corresponding to the first digest value and the second quantum key corresponding to the second digest value are the same, which means that the first quantum key obtained by the first interactive device The first quantum key and the second quantum key obtained by the second interactive device are both valid quantum keys.
  • step S104 Otherwise, it means that the first quantum key and the second quantum key are different and contain different binary bits. , then if the preset termination condition is not met, step S105 continues.
  • step S106 continues.
  • S104 Determine the first decoded data as target data.
  • the first digest value corresponding to the first decoded data is the same as the second digest value corresponding to the second decoded data, it can be determined that the first decoded data and the second decoded data are the same, and it can be The first decoded data is marked as target data that can be combined into a valid quantum key.
  • S105 Divide the first decoded data, and use each divided group data as new first decoded data.
  • the number of grouped data obtained after dividing the original first decoded data may be a preset number of grouped data, for example, 2, 3, 4, etc., and each grouped data obtained after dividing The lengths can be the same or different, and the divided packet data may or may not contain the same binary bits.
  • step S105 can be implemented through step A shown below, which will not be described in detail here.
  • the second decoded data corresponding to the first decoded data will also be updated accordingly, which is equivalent to using the second interactive data with
  • the original second decoded data is divided using the same data division method of the first interactive data to obtain new second decoded data.
  • the positions of the bits contained in the new second decoded data in the second quantum key are obtained.
  • the position of the bits contained in the new first decoded data in the first quantum key is still the same.
  • step S104 is executed to use the new first decoded data as the target data. Otherwise, it means that the new first decoded data is the same as the second digest value.
  • the new second decoded data is different.
  • Step S105 is executed for the new first decoded data, the new first decoded data is divided to obtain each grouped data, and each grouped data is used as the new first decoded data. code data, re-execute step S102, and so on, to gradually determine the target data contained in the first quantum key.
  • S106 Perform data combination on the determined target data to obtain the effective quantum key.
  • each target array can be sequentially arranged and combined according to the order of each target data in the first quantum key to form an effective quantum key.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key, which is applied to the first interactive device for quantum key interaction.
  • the first interactive device calculates the first digest value of the first decoded data, and The first digest value is compared with a second digest value calculated by the second interactive device on the second decoded data. Since the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data.
  • the first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. .
  • step S104 can be implemented through the following step A.
  • Step A Use the dichotomy method to equally divide the first decoded data, and use the two divided group data as new first decoded data.
  • the above-mentioned first decoded data contains an even number of binary bits
  • the binary bits contained in the two packet data obtained after even division are the same, and the above-mentioned first decoded data contains the same number of binary bits.
  • one grouped data obtained after even division has one more binary bit than the other grouped data.
  • the first decoded data and the second decoded data are different, there are different binary bits in the first decoded data and the second decoded data, but it cannot be determined that the different binary bits are in the first decoded data.
  • the specific position in for this purpose, the first decoded data can be divided equally to obtain two average grouped data. Theoretically, the probability that different binary bits are located in the two average grouped data is the same, that is, the two average The grouped data have the same probability of being the target data.
  • the more binary bits are contained in the divided grouped data the greater the probability that different binary bits are included, and the probability that the grouped data is target data is greater. The lower. That is to say, in most cases, each process of determining the target data can only determine a small part of the binary bits as the target data, resulting in a slower overall determination speed of the target data and a shorter length of the determined target data.
  • an average division method is used to obtain two grouped data containing similar binary bits, and then the grouped data are used as new first decoding data to determine the target data, which can improve the overall determination target data speed, thereby increasing the speed at which valid quantum keys can be determined.
  • the above preset termination condition may be: the length of each divided group data is less than the length of the quantum key required to encrypt the data.
  • the length of each grouped data obtained by division gradually decreases, that is, the length of the grouped data determined as target data each time gradually decreases. After it is less than the preset quantum key length, even if the group data is continued to be judged as target data, the length of the target data obtained is determined to be shorter. At this time, the target data continued to be obtained even if it is placed as part of the effective quantum key.
  • the effective quantum key it will not have a major impact on the effective quantum key, and continuing to determine the target data will consume the computing resources and data transmission resources of the first interactive device and the second interactive device, so in the packet data After the length is less than the preset quantum key length, the confirmation of the target data can be stopped to improve the efficiency of obtaining effective quantum keys.
  • the length of the quantum key obtained by both parties participating in the quantum key interaction in the initial state is relatively long, such as 1M, 2M, etc., and the number of different binary bits contained therein will not exceed
  • the length of the quantum key actually needed to encrypt data is often shorter.
  • the length of the quantum key actually needed to be used can be 128 bit, 256 bit, etc.
  • the length of the first quantum key obtained by the first interactive device is often much larger than the length of the quantum key required for data encryption. Therefore, the total length of the determined effective quantum key does not need to be too long to achieve Subsequent data encryption process. That is to say, the total length of the final target data does not need to be too long. Therefore, there is actually no need to determine all the binary bits contained in the first quantum data that are the same as the second quantum data. It can also generate enough effective quanta for subsequent data encryption. key. Therefore, in the embodiment of the present disclosure, the length of each divided group data can be less than the quantum key length required to encrypt the data as the termination condition for loop determination of the target data.
  • the above-mentioned preset termination condition may also be that the number of times the first decoded data is divided reaches a preset number of times.
  • each packet of data contains only one binary bit, which is equivalent to determining that each binary bit contained in the first quantum key that is the same as the second quantum key can be determined through the embodiment of the present disclosure, and The determined binary bits are all used as target data, so that the length of the effective quantum key obtained based on the target data is the longest.
  • a target data determination flow chart is provided according to an embodiment of the present disclosure.
  • the embodiment of the present disclosure starts with the processing of the first quantum key.
  • the first quantum key is used as the first decoded data and the second decoded data is compared.
  • the first quantum data in the figure The cross symbol indicates that the first quantum data is different from the second quantum data.
  • the first quantum data is not the target data, so the first quantum data is divided to obtain group data 1 and group data 2.
  • Group data 1 is divided respectively to obtain group data 1-1 and group data 1-2.
  • Group data 2 is divided to obtain group data 2-1 and group data 2-2.
  • Group data 1-1 and group data 2-2 are obtained respectively.
  • Data 1-2, packet data 2-1, and packet data 2-2 are used as the new first decoded data.
  • the cross symbols on the packet data 1-1, packet data 1-2, and packet data 2-2 in the figure indicate Packet data 1-1, packet data 1-2, and packet data 2-2 are also not target data, and the check mark on packet data 2-1 indicates that packet data 2-1 is target data.
  • the target data obtained through the embodiment of the present disclosure are grouped data 2-1, grouped data 1-1-1, grouped data 1-2-2, grouped data 2-2-2 and grouped data 1-...-1.
  • Each target data can be combined into valid quantum data according to the order of each target data in the first quantum key.
  • the packet data 1-1-1, the packet data 1-...-1, the packet data 1-2-2, the packet data 2-1, the packet data 2-2- The sequential combination of 2 is a valid quantum data.
  • step S103 a schematic flow chart of the second method for obtaining an effective quantum key is provided in an embodiment of the present disclosure. Compared with the aforementioned embodiment shown in Figure 1, the above step S103 can be implemented through the following steps S103A-S103B.
  • S103A Receive the second digest value sent by the second interaction device.
  • the second digest value is the basis for judging whether the first decoded data and the second decoded data are the same, in order to ensure the accuracy of the judgment result, it is necessary to avoid the occurrence of the second digest value during the transmission process. changes, so the second interaction device can send the second digest value to the first interaction device through a relatively stable classic channel.
  • S103B Compare the first digest value and the second digest value, and determine whether the first digest value and the second digest value are the same.
  • the first digest value generated by itself can be compared with the received second digest value to determine whether the first digest value and the second digest value are the same.
  • the first interaction device may send the comparison result to the second interaction device, so that the second interaction device can also determine whether the first summary value and the second summary value are the same.
  • the second interactive device can send the first summary value to the first interactive device, and the first interactive device can compare the first summary value and the second summary value to determine Are both the same.
  • FIG 4 is a schematic flow chart of the third method for obtaining an effective quantum key provided by an embodiment of the present disclosure.
  • the above step S103 can be implemented through the following steps S103C-S103D.
  • S103C Send the first summary value to the second interactive device, so that the second interactive device compares the first summary value with the second summary value, and feeds back the comparison result to the first interactive device.
  • the first interaction device can send the first digest value to the second interaction device through a relatively stable classic channel.
  • the second interaction data can compare the received first summary value with the second summary value generated by itself, thereby determining the comparison result.
  • S103D Determine whether the first digest value and the second digest value are the same based on the received comparison result.
  • the first interactive device can send the first summary value to the second interactive device, and the second interactive device can compare the first summary value and the second summary value to determine the two whether the first summary value and the second summary value are the same, and the comparison result is fed back to the first interactive device, so that the first interactive device determines whether the first summary value and the second summary value are the same.
  • the devices participating in quantum key interaction can be called device M and device N respectively. Then device M can determine whether the digest values generated by the two are the same based on steps S103A-S103B and S103C shown above. N can also determine whether the digest values generated by the two are the same based on steps S103A-S103B and S103C shown above.
  • device M can send a digest value generated by itself to device N
  • device N can also send a digest value generated by itself to device M. Both device M and device N can compare the digest value generated by itself with the digest value received by itself, respectively. Determine whether the two generated digest values are the same.
  • the device M may determine whether the first summary value and the second summary value are the same based on the steps S103A-S103B shown above, and the device N may determine whether the first summary value and the second summary value are the same based on the steps S103C-S103D shown above. same.
  • device N sends the digest value calculated by itself to device M.
  • device M After receiving the digest value sent by device N, device M compares it with the digest value generated by itself, and sends the comparison result to device N, so that device N can also determine two Comparison results of summary values.
  • device M does not need to send the digest value generated by itself to device N. It only needs device N to send the digest value generated by itself to device M to determine whether the digest values of the two are the same, thus saving quantum encryption. Data transmission resources between key exchange parties to improve the efficiency of obtaining effective quantum keys.
  • FIG. 5 is a schematic flow chart of a fourth method for obtaining an effective quantum key provided by an embodiment of the present disclosure.
  • the above-mentioned effective quantum key obtaining method includes a quantum key distribution process and an effective quantum key obtaining process.
  • the above quantum key distribution process is a process of interactive quantum keys based on the BB84 protocol.
  • the left side of the dotted line in the figure is the steps performed by the key sender, and the right side of the dotted line is the steps performed by the key receiver.
  • the above effective quantum key obtaining method includes the following steps B1-B19.
  • Step B1 The key sender selects the basis.
  • Step B2 The key sender generates a random binary number.
  • Step B3 The key sender performs light quantum modulation on the random binary number based on the selected basis vector to obtain light quantum.
  • Step B4 The key sender sends light quanta to the key receiver through the quantum channel.
  • Step B5 The key recipient selects the basis.
  • Step B6 The key receiver decodes the obtained light quanta based on basis vectors.
  • Step B7 The key recipient obtains the binary number.
  • Step B8 The key sender and the key receiver exchange basis vectors through the classic channel.
  • Step B9 The key sender obtains the quantum key based on the basis vector as decoded data.
  • Step B10 The key recipient obtains the quantum key based on the basis vector as decoded data.
  • the aforementioned steps B1-B10 are similar to the aforementioned quantum key interaction methods, and will not be described again here.
  • Step B11 The key sender calculates the digest value of the decoded data.
  • Step B12 The key recipient calculates the digest value of the decoded data.
  • Step B13 The key sender and the key receiver exchange digest values through the classic channel.
  • Step B14 The key sender compares the digest value.
  • Step B15 The key recipient compares the digest value.
  • Step B16 The key sender groups the decoded data and obtains new decoded data.
  • Step B17 The key recipient performs data grouping on the decoded data and obtains new decoded data.
  • Step B18 The key sender obtains a valid quantum key.
  • Step B19 The key recipient obtains a valid quantum key.
  • a schematic flow chart of the fifth method for obtaining an effective quantum key provided by an embodiment of the present disclosure includes the following steps C1-C18.
  • the above effective quantum key obtaining method includes a quantum key distribution process and an effective quantum key obtaining process.
  • the above quantum key distribution process is a process of interactive quantum keys based on the BB84 protocol.
  • Step C1 The key sender generates a random binary number.
  • Step C2 The key sender selects a basis vector for each binary bit of the random binary number, and performs light quantum modulation on the random binary number based on the basis vector to obtain light quantum.
  • Step C3 The key sender sends light quanta to the key receiver through the quantum channel.
  • Step C4 The key recipient selects the basis.
  • Step C5 The key receiver decodes the obtained light quanta and obtains a binary number.
  • Step C6 The key sender and the key receiver exchange basis vectors through the classic channel.
  • Step C7 The key sender determines the corresponding binary bits with the same base vector as decoded data.
  • Step C8 The key recipient determines the corresponding binary bits with the same basis vector as decoded data.
  • the foregoing steps C1-C8 are similar to the foregoing quantum key interaction method, and will not be described again here.
  • Step C9 The key sender calculates the digest value of the decoded data.
  • Step C10 The key recipient calculates the digest value of the decoded data.
  • Step C11 The key sender and the key receiver interact through the classic channel and compare the digest values.
  • the key sender performs steps C12-C13, and the key receiver performs steps C14-C15.
  • Step C12 The key sender groups the decoded data to obtain new decoded data.
  • Step C13 The key sender calculates the digest value of the new decoded data.
  • Step C14 The key recipient performs data grouping on the decoded data and obtains new decoded data.
  • Step C15 The key recipient calculates the digest value of the new decoded data.
  • Step C16 The key sender and key receiver interact through the classic channel and compare the new digest value.
  • the key sender returns to steps C12-C13, and the key receiver returns to steps C14-C15. If the digest values are the same, the key sender executes step C17, and the key receiver executes step C18.
  • Step C17 The key sender retains the decoded data with the same digest value to obtain a valid quantum key.
  • Step C18 The key recipient retains the decoded data with the same digest value and obtains a valid quantum key.
  • embodiments of the present disclosure also provide an effective quantum key obtaining device applied to the first interactive device.
  • the device may include:
  • the decoding data obtaining module 701 is used to obtain the first quantum key and use the first quantum key as the first decoding data;
  • the first digest value calculation module 702 is used to calculate the first digest value of the first decoded data
  • the summary value comparison module 703 is used to determine whether the first summary value and the second summary value are the same, where the second summary value is: the summary value calculated by the second interactive device on the second decoding data, the second decoding The position of the data in the second quantum key is the same as the position of the first decoded data in the first quantum key, and the first interactive device calculates the first digest value in the same way as the second interactive device calculates the second digest value.
  • the second quantum key is: the quantum key obtained by the second interactive device;
  • the target data determination module 704 is configured to determine the first decoded data as the target data when the summary value comparison module 703 determines that the first summary value and the second summary value are the same;
  • the decoded data dividing module 705 is configured to divide the first decoded data when the digest value comparison module 703 determines that the first digest value and the second digest value are different, and use the divided group data as new If the first decoded data does not meet the preset termination condition, trigger the execution of the first summary value calculation module 702 for each new first decoded data;
  • the effective key obtaining module 706 is used to perform data combination on the determined target data to obtain an effective quantum key if the preset termination conditions are met.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key, which is applied to the first interactive device for quantum key interaction.
  • the first interactive device calculates the first digest value of the first decoded data, and The first digest value is compared with a second digest value calculated by the second interactive device on the second decoded data. Since the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data.
  • the first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. .
  • the summary value comparison module 703 can also be used to:
  • the second interactive device can send the first summary value to the first interactive device, and the first interactive device can compare the first summary value and the second summary value to determine Are both the same.
  • the summary value comparison module 703 is also used to:
  • the first interactive device can send the first summary value to the second interactive device, and the second interactive device can compare the first summary value and the second summary value to determine the two whether the first summary value and the second summary value are the same, and the comparison result is fed back to the first interactive device, so that the first interactive device determines whether the first summary value and the second summary value are the same.
  • the above-described decoding data dividing module 705 can also be used to:
  • the digest value comparison module 703 determines that the first digest value and the second digest value are different, the first decoded data is divided equally using the dichotomy method, and the two divided group data are used as new first decoded data respectively. data.
  • an average division method is used to obtain two grouped data containing similar binary bits, and then the grouped data are used as new first decoding data to determine the target data, which can improve the overall determination target data speed, thereby increasing the speed at which valid quantum keys can be determined.
  • the preset termination condition may be: the length of each divided packet data is less than the length of the quantum key required to encrypt the data.
  • the length of the first quantum key obtained by the first interactive device is often much larger than the length of the quantum key required for data encryption. Therefore, the total length of the determined effective quantum key does not need to be too long to achieve Subsequent data encryption process. That is to say, the total length of the final target data does not need to be too long. Therefore, there is actually no need to determine all the binary bits contained in the first quantum data that are the same as the second quantum data. It can also generate enough effective quanta for subsequent data encryption. key. Therefore, in the embodiment of the present disclosure, the length of each divided group data can be less than the quantum key length required to encrypt the data as the termination condition for loop determination of the target data.
  • the embodiment of the present disclosure also provides an electronic device, as shown in Figure 8, including a processor 801, a communication interface 802, a memory 803, and a communication bus 804.
  • the processor 801, the communication interface 802, and the memory 803 communicate through the communication bus 804. complete mutual communication,
  • Memory 803 used to store computer programs
  • the processor 801 is used to implement the method steps shown in any of the above effective quantum key obtaining methods when executing the program stored on the memory 803.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key, which is applied to the first interactive device that performs quantum key interaction.
  • the first interactive device calculates A first digest value of the first decoded data, and the first digest value is compared with a second digest value calculated by the second interactive device on the second decoded data. Since the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data.
  • the first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. .
  • the communication bus mentioned in the above-mentioned electronic equipment can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the communication bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the communication interface is used for communication between the above-mentioned electronic devices and other devices.
  • the memory may include random access memory (Random Access Memory, RAM) or non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory.
  • RAM Random Access Memory
  • NVM Non-Volatile Memory
  • the memory may also be at least one storage device located far away from the aforementioned processor.
  • the above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (Network Processor, NP), etc.; it can also be a digital signal processor (Digital Signal Processor, DSP), special integrated Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • NP Network Processor
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • a computer-readable storage medium stores a computer program.
  • any of the above-mentioned effective quantum cryptography can be implemented. Steps to obtain the key.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key, which is applied to the first step of quantum key interaction.
  • Interactive device the first interactive device calculates a first digest value of the first decoded data, and compares the first digest value with a second digest value obtained by calculating the second decoded data by the second interactive device.
  • the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data.
  • the first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. .
  • a computer program product containing instructions is also provided, which when run on a computer causes the computer to execute any of the effective quantum key obtaining methods in the above embodiments.
  • the embodiment of the present disclosure provides a method for obtaining an effective quantum key, which is applied to the first interactive device for quantum key interaction, the first interactive device A first digest value of the first decoded data is calculated, and the first digest value is compared with a second digest value calculated by the second interactive device on the second decoded data. Since the digest calculation method used by the first interactive device to calculate the first summary value is the same as the digest calculation method used by the second interactive device to calculate the second summary value, if the calculated first summary value and the second summary value are the same, it means that The first decoded data is the same as the second decoded data, and the first decoded data can be used as target data. Otherwise, it means that the first decoded data contains different parts from the second decoded data. The first decoded data can be divided to obtain new first decoded data, and continue to determine whether the new first decoded data is as target data.
  • each device that performs quantum key interaction can obtain the same target data as the first interaction device, and then perform data combination based on the same target data to obtain the same effective quantum key. .
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another, e.g., the computer instructions may be transferred from a website, computer, server, or data center Transmission to another website, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more available media integrated.
  • the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开实施例提供了一种有效量子密钥获得方法及装置,涉及网络安全技术领域,应用于第一交互设备,上述方法包括:获得第一量子密钥,将第一量子密钥作为第一译码数据;计算第一译码数据的第一摘要值;判断第一摘要值与第二摘要值是否相同;若相同,则将第一译码数据确定为目标数据;若不同,则对第一译码数据进行划分,将划分得到的各个分组数据作为新的第一译码数据,针对每一第一译码数据,若为满足预设终止条件,则返回执行计算第一译码数据的第一摘要值的步骤;若满足预设终止条件,对所确定的目标数据进行数据组合,得到有效量子密钥。应用本公开实施例提供的方案量子密钥交互双方能够获得相同的有效量子密钥。 (图1)

Description

有效量子密钥获得方法及装置
本公开基于申请号为202210668315.8、申请日为2022年6月14日、发明名称为《一种有效量子密钥获得方法及装置》的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本公开作为参考。
技术领域
本公开涉及网络安全技术领域,特别是涉及一种有效量子密钥获得方法及装置。
背景技术
为了保证数据交互双方数据交互过程的安全性,在进行数据交互前数据交互双方可以首先交互密钥,则发送方可以采用密钥对数据进行加密后再传输加密数据,接收方在接收到加密数据后可以采用相同的密钥对加密数据进行解密。由于仅有数据交互双方能够获得上述密钥,其他设备即使获取到所传输的加密数据也无法对加密数据进行解密,因此使用密钥可以保证数据传输的安全性。
量子密钥是一种安全度较高的密钥,量子密钥交互双方可以通过量子信道交互量子密钥,再基于量子密钥进行加密数据传输。
发明内容
本公开实施例的目的在于提供一种有效量子密钥获得方法及装置。
一方面,本公开实施例提供了一种有效量子密钥获得方法,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于所述第一交互设备,所述方法包括:
获得第一量子密钥,将所述第一量子密钥作为第一译码数据;
计算所述第一译码数据的第一摘要值;
判断所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与所述第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得的量子密钥;
若相同,则将所述第一译码数据确定为目标数据;
若不同,则对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一新的第一译码数据,返回执行计算所述第一译码数据的第一摘要值的步骤;
若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
本公开的一个实施例中,判断所述第一摘要值与第二摘要值是否相同,包括:
接收所述第二交互设备发送的第二摘要值;
对比所述第一摘要值与所述第二摘要值,判断所述第一摘要值与第二摘要值是否相同。
本公开的一个实施例中,判断所述第一摘要值与第二摘要值是否相同,包括:
向所述第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与所述第二摘要值,并向所述第一交互设备反馈对比结果;
基于接收到的对比结果判断所述第一摘要值与第二摘要值是否相同。
本公开的一个实施例中,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,包括:
采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
本公开的一个实施例中,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
另一方面,本公开实施例提供了一种有效量子密钥获得装置,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于所述第一交互设备,所述装置包括:
译码数据获得模块,用于获得第一量子密钥,将所述第一量子密钥作为第一译码数据;
第一摘要值计算模块,用于计算所述第一译码数据的第一摘要值;
摘要值对比模块,用于判断所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与所述第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得的量子密钥;
目标数据确定模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值相同的情况下,将第一译码数据确定为目标数据;
译码数据划分模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一新的第一译码数据,触发执行所述第一摘要值计算模块;
有效密钥获得模块,用于若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
本公开的一个实施例中,所述摘要值对比模块,还用于:
接收所述第二交互设备发送的第二摘要值;
对比所述第一摘要值与所述第二摘要值,判断所述第一摘要值与第二摘要值是否相同。
本公开的一个实施例中,所述摘要值对比模块,还用于:
向所述第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与所述第二摘要值,并向所述第一交互设备反馈对比结果;
基于接收到的对比结果判断所述第一摘要值与第二摘要值是否相同。
本公开的一个实施例中,所述译码数据划分模块,还用于:
在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
本公开的一个实施例中,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
另一方面,本公开实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
另一方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
另一方面,本公开实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法步骤。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的第一种有效量子密钥获得方法的流程示意图;
图2为本公开实施例提供的一种目标数据确定流程图;
图3为本公开实施例提供的第二种有效量子密钥获得方法的流程示意图;
图4为本公开实施例提供的第三种有效量子密钥获得方法的流程示意图;
图5为本公开实施例提供的第四种有效量子密钥获得方法的流程示意图;
图6为本公开实施例提供的第五种有效量子密钥获得方法的流程示意图;
图7为本公开实施例提供的一种有效量子密钥获得装置的结构示意图;
图8为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本公开保护的范围。
由于受到光量子特性的影响,量子密钥在传输过程中容易受到干扰,导致量子密钥交互双方获得的量子密钥不同,此类量子密钥为无效量子密钥。为了解决上述问题亟需一种获得有效量子密钥的方法。
本公开实施例提供了一种有效量子密钥获得方法,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,该方法可以包括:
获得第一量子密钥,将第一量子密钥作为第一译码数据;
计算第一译码数据的第一摘要值;
判断第一摘要值与第二摘要值是否相同,其中,第二摘要值为:第二交互设备对第二译码数据进行计算得到的摘要值,第二译码数据在第二量子密钥中的位置与第一译码数据在第一量子密钥中的位置相同,第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,第二量子密钥为:第二交互设备获得的量子密钥;
若相同,则将第一译码数据确定为目标数据;
若不同,则对第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一第一译码数据,返回执行所述计算所述第一译码数据的第一摘要值的步骤;
若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
由以上可见,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥,可以保证量子密钥交互双方获得相同的有效量子密钥。
首先对量子密钥交互的过程进行说明,本公开实施例中,量子密钥交互双方可以基于BB84协议或现有技术中的其他协议实现量子密钥的交互过程。
在量子密钥交互双方基于BB84协议进行量子密钥交互的情况下,可以将量子密钥交互双方分为密钥发送方与密钥接收方,密钥发送方首先生成包含预设数量位的 随机二进制数,为随机二进数的每一位设置基矢,再对随机二进制数进行光量子调制,得到光量子。
并且,密钥接收方同样配置预设数量个基矢,每一基矢对应一个二进制位。
密钥发送方通过量子信道将光量子发送至密钥接收方,密钥接收方解析光量子得到随机二进制数。
密钥发送方与密钥接收方分别向对方发送自身设置的基矢,并且分别按位对比自身设置的基矢以及接收到的基矢,确定所对应的基矢相同的二进制位。
密钥发送方与密钥接收方分别将自身确定的、基矢相同的二进制位按照其在随机二进制位中的前后顺序进行组合,得到量子密钥。
在上述过程中,密钥发送方与密钥接收方均基于密钥发送方生成的随机二进制数获得量子密钥,而上述随机二进制数是密钥发送方以光量子的形式发送至密钥接收方的,受到光量子的量子力学特性的影响,光量子在传输过程中容易受到干扰发生变化,使得密钥接收方接收到的光量子与密钥发送方发送的光量子不同,进而使得密钥接收方获得的随机二进制数与密钥发送方生成的随机二进制数不同,最终导致密钥接收方基于随机二进制数获得的量子密钥与密钥发送方基于随机二进制数获得的量子密钥不同,造成密钥交互双方获得无效量子密钥的问题。
另外,上述密钥交互双方互相传输的基矢是从随机二进制数中提取量子密钥的基础,需要保证基矢在传输过程中不发生变化,才能实现准确的量子密钥提取。因此密钥交互双方可以通过量子通道之外的其他稳定性更高的通道传输基矢,量子通道之外的其他通道可以被称为经典通道。
由以上可见,现有技术中量子密钥交互双方获得到的量子密钥可能为不相同的无效量子密钥,为了解决上述问题,本公开实施例提供了一种有效量子密钥获得方法及装置。
参见图1,为本公开实施例提供的第一种有效量子密钥获得方法的流程示意图,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,通过以下步骤S101-S106同步确定有效量子密钥。
S101:获得第一量子密钥,将第一量子密钥作为第一译码数据。
在一些实施例中,若第一交互设备为密钥发送方,则第一量子密钥是第一交互设备基于自身生成的随机二进制数生成的量子密钥。若第一交互设备为密钥接收方,则第一量子密钥是第一交互设备基于自身接收到的随机二进制数生成的量子密钥。第一量子密钥由多个二进制位组成。
S102:计算第一译码数据的第一摘要值。
本公开的一个实施例中,第一交互设备可以采用预设的摘要计算方式计算第一摘要值,预设的摘要计算方式可以为现有技术中的摘要计算方式,例如,可以基于哈希函数计算第一译码数据的第一摘要值,如,哈希函数可以为SHA224(Secure Hash Algorithm224,安全散列算法224)、SHA256(Secure Hash Algorithm256,安全散列算法256)、SHA512(Secure Hash Algorithm512,安全散列算法512)等。
S103:判断第一摘要值与第二摘要值是否相同。
其中,第二摘要值为:第二交互设备对第二译码数据进行计算得到的摘要值。
第二译码数据在第二量子密钥中的位置与第一译码数据在第一量子密钥中的位置相同。第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,第二量子密钥为:第二交互设备获得到的量子密钥。
在一些实施例中,在第一译码数据为第一量子密钥的情况下,第二译码数据为第二量子密钥,也就是在本公开实施例起始状态下第二交互设备同样基于摘要计算方式对第二量子密钥进行摘要值计算,得到第二摘要值。在一些实施例中,第二交互设备在获得到第二量子密钥后同样可以基于前述步骤S102所示的计算方式计算得到的第二摘要值。
在上文所示的密钥发送方作为第一交互设备的情况下,第二交互设备为上文所示的密钥接收方,在上文所示的密钥接收方作为第一交互设备的情况下,第二交互设备为上文所示的密钥发送方。
另外,若第一摘要值与第二摘要值相同,则说明第一摘要值对应的第一量子密钥与第二摘要值对应的第二量子密钥相同,则说明第一交互设备获得的第一量子密钥和第二交互设备获得的第二量子密钥均为有效量子密钥,继续执行步骤S104,否则,说明第一量子密钥与第二量子密钥不同,其中包含不同的二进制位,则在未满足预设终止条件的情况下,继续执行步骤S105。
否则,若满足预设终止条件,则继续执行步骤S106。
此外,对预设终止条件的描述可以参见下文,在此暂不详述。
S104:将第一译码数据确定为目标数据。
在一些实施例中,若第一译码数据对应的第一摘要值与第二译码数据对应的第二摘要值相同,则可以确定第一译码数据与第二译码数据相同,可以将第一译码数据标记为能够组合为有效量子密钥的目标数据。
S105:对第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据。
另外,针对每一新的第一译码数据,返回执行步骤S102,直至满足预设终止条件。
在一些实施例中,对原本的第一译码数据进行划分后得到的分组数据的数量可以为预设分组数据数量,例如,2个、3个、4个等,划分后得到的各个分组数据的长度可以相同也可以不同,并且划分得到的分组数据中可以包含相同的二进制位,也可以不包含相同的二进制位。
本公开的一个实施例中,可以通过下文所示的步骤A实现步骤S105,在此暂不详述。
另外,将原本的第一译码数据进行划分得到新的第一译码数据后,与第一译码数据相对应的第二译码数据也会随之更新,相当于第二交互数据采用与第一交互数据相同的数据划分方式对原本的第二译码数据进行划分后得到了新的第二译码数据,新的第二译码数据中包含的比特在第二量子密钥中的位置依旧与新的第一译码数据中包含的比特在第一量子密钥中的位置相同。
在一些实施例中,针对每一新的第一译码数据,返回执行步骤S102-S103,计算得到新的第一译码数据的第一摘要值并与新的第二译码数据的第二摘要值,继续确 定第一摘要值与第二摘要值是否相同,若相同,则执行步骤S104,将该新的第一译码数据作为目标数据,否则,说明该新的第一译码数据与新的第二译码数据不同,针对该新的第一译码数据执行步骤S105,对新的第一译码数据进行进行划分得到各个分组数据,并将各个分组数据再作为新的第一译码数据重新执行步骤S102,依次类推,逐步确定第一量子密钥中包含的目标数据。
S106:对所确定的目标数据进行数据组合,得到有效量子密钥。
在一些实施例中,可以按照各个目标数据在第一量子密钥中的前后顺序将各个目标数组顺序排列组合形成一个有效量子密钥。
由以上可见,本公开实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
本公开的一个实施例中,可以通过以下步骤A实现上述步骤S104。
步骤A:采用二分法对上述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
在一些实施例中,在上述第一译码数据中包含偶数个二进制位的情况下,则进行平均划分后得到的两个分组数据中包含的二进制位相同,在上述第一译码数据中包含奇数个二进制位的情况下,进行平均划分后得到的一个分组数据比另一分组数据多一个二进制位。
在第一译码数据与第二译码数据不同的情况下,第一译码数据与第二译码数据中存在不相同的二进制位,但无法确定不相同的二进制位在第一译码数据中的具体位置,为此可以对第一译码数据进行平均划分得到两个平均的分组数据,理论上不相同的二进制位位于两个平均的分组数据中的概率相同,也就是两个平均的分组数据是目标数据的概率相同。
若采用非平均划分的方式对第一译码数据进行划分,则划分得到的分组数据中包含的二进制位越多,其中包含不相同的二进制位的概率越大,该分组数据是目标数据的概率越低。也就是在大多数情况下,每次确定目标数据的过程仅能将少部分二进制位确定为目标数据,导致目标数据的总体确定速度较慢,确定得到的目标数据的长度较短。
由以上可见,本公开实施例中采用平均划分的方式划分得到两个包含的二进制位相近的分组数据,再分别将分组数据作为新的第一译码数据确定目标数据,可以在总体上提高确定目标数据的速度,进而提高确定有效量子密钥的速度。
另外,下面对本公开实施例中的预设终止条件进行说明:
上述预设终止条件可以为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
在一些实施例中,随着本公开实施例的执行,划分得到的各个分组数据的长度逐渐减小,也就是每次被确定为目标数据的分组数据的长度逐渐减小,在分组数据的长度小于预设的量子密钥长度之后,即使继续对分组数据是否为目标数据进行判断,确定得到的目标数据的长度也较短,此时继续得到的目标数据即使作为有效量子密钥的一部分放入有效量子密钥中,对有效量子密钥也不会造成较大的影响,并且继续进行目标数据的确定会消耗第一交互设备和第二交互设备的计算资源和数据传输资源,因此在分组数据的长度小于预设的量子密钥长度之后,可以停止对目标数据的确认,提升有效量子密钥获得的效率。
并且,在现有技术中参与量子密钥交互的双方在初始状态中获得到的量子密钥的长度均较长,例如为1M、2M等,其中包含的不相同的二进制位的数量不会过多,而对数据进行加密时时实际需要使用的量子密钥的长度往往较短,例如,实际需要使用的量子密钥的长度可以为128bit、256bit等。
由此可见,第一交互设备获得的第一量子密钥的长度往往远大于进行数据加密所需的量子密钥的长度,因此所确定的有效量子密钥的总长度不需要过长便能够实现后续的数据加密过程。也就是最终确定的目标数据的总长度不需要过长,因此实际上无需确定第一量子数据中包含的所有与第二量子数据相同的二进制位,同样可以生成足够后续数据加密时使用的有效量子密钥。因此本公开实施例中可以将划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度作为循环确定目标数据的终止条件,此时虽然划分得到的各个分组数据中还存在有与第二量子密钥中相同的二进制位,但所获得的目标数据的总长度往往已经能够满足后续数据加密的需求,此时停止确定目标数据可以节省第一交互设备与第二交互设备的数据计算与传输资源,提升有效量子密钥获得的效率。
另外,上述预设终止条件也可以是对第一译码数据进行划分的次数达到预设次数。
或者划分得到的分组数据中均仅包含一个二进制位。在一些实施例中,每一分组数据中仅包含一个二进制位,则相当于通过本公开实施例可以确定第一量子密钥中包含的每一与第二量子密钥相同的二进制位,并将所确定的二进制位均作为目标数据,使得基于目标数据得到的有效量子密钥的长度最长。
参见图2,为本公开实施例提供的一种目标数据确定流程图。
由图可见,本公开实施例由对第一量子密钥的处理开始,首先将第一量子密钥作为第一译码数据与第二译码数据进行对比,图中的第一量子数据上的叉号符号表示第一量子数据与第二量子数据不同,第一量子数据不是目标数据,因此对第一量子数据进行划分得到分组数据1和分组数据2。
分别将分组数据1和分组数据2作为新的第一译码数据与新的第二译码数据进行对比,图中分组数据1和分组数据2上的叉号符号表示分组数据1和分组数据2也不是目标数据。
分别对分组数据1进行划分,得到分组数据1-1与分组数据1-2,对分组数据2 进行划分,得到分组数据2-1与分组数据2-2,分别将分组数据1-1、分组数据1-2、分组数据2-1、分组数据2-2作为新的第一译码数据,图中分组数据1-1、分组数据1-2和分组数据2-2上的叉号符号表示分组数据1-1、分组数据1-2和分组数据2-2也不是目标数据,分组数据2-1上的对号符号表示分组数据2-1是目标数据。
继续对分组数据1-1、分组数据1-2和分组数据2-2进行划分,不再对分组数据2-1进行分组划分。对分组数据1-1进行划分可以得到分组数据1-1-1与分组数据1-1-2,对分组数据1-2进行划分可以得到分组数据1-2-1与分组数据1-2-2,对分组数据2-2进行划分可以得到分组数据2-2-1与分组数据2-2-2。图中分组数据1-1-1、分组数据1-2-2、分组数据2-2-2上的对号符号表示分组数据1-1-1、分组数据1-2-2、分组数据2-2-2是目标数据,分组数据1-1-2、分组数据1-2-1与分组数据2-2-1上的叉号符号表示分组数据1-1-2、分组数据1-2-1与分组数据2-2-1不是目标数据。
依次类推,继续对分组数据1-1-2、分组数据1-2-1与分组数据2-2-1进行迭代的划分,最终得到分组数据1-……-1、分组数据1-……-2、分组数据2-……-1、分组数据2-……-2,满足预设终止条件。其中分组数据1-……-1上的对号符号表示分组数据1-……-1是目标数据,分组数据1-……-2、分组数据2-……-1、分组数据2-……-2上的叉号符号表示分组数据1-……-2、分组数据2-……-1、分组数据2-……-2均不是目标数据。
则通过本公开实施例获得的目标数据分别为分组数据2-1、分组数据1-1-1、分组数据1-2-2、分组数据2-2-2与分组数据1-……-1。可以按照各个目标数据在第一量子密钥中的顺序,将各个目标数据组合为有效量子数据。在一些实施例中,在本实施例中,按照分组数据1-1-1、分组数据1-……-1、分组数据1-2-2、分组数据2-1、分组数据2-2-2的顺序组合为一个有效量子数据。
参见图3,为本公开实施例提供的第二种有效量子密钥获得方法的流程示意图,与前述图1所示的实施例相比,上述步骤S103可以通过以下步骤S103A-S103B实现步骤S103。
S103A:接收第二交互设备发送的第二摘要值。
在一些实施例中,由于第二摘要值是用于判断第一译码数据和第二译码数据是否相同的依据,为了保证判断结果的准确度,要避免第二摘要值在传输过程中发生变化,因此第二交互设备可以通过相对稳定的经典信道向第一交互设备发送第二摘要值。
S103B:对比第一摘要值与第二摘要值,判断第一摘要值与第二摘要值是否相同。
在一些实施例中,可以对比自身生成的第一摘要值与接收到的第二摘要值,确定第一摘要值与第二摘要值是否相同。
并且,在确定对比结果后,第一交互设备可以向第二交互设备发送对比结果,使得第二交互设备也能够确定第一摘要值与第二摘要值是否相同。
由以上可见,本公开实施例中第二交互设备在计算得到第二摘要值后可以向第一交互设备发送第一摘要值,第一交互设备可以自行对比第一摘要值与第二摘要值确定两者是否相同。
参见图4,为本公开实施例提供的第三种有效量子密钥获得方法的流程示意图, 与前述图1相比,上述步骤S103可以通过以下步骤S103C-S103D实现。
S103C:向第二交互设备发送第一摘要值,使得第二交互设备对比第一摘要值与第二摘要值,并向第一交互设备反馈对比结果。
在一些实施例中,由于第一摘要值是用于判断第一译码数据和第二译码数据是否相同的依据,为了保证判断结果的准确度,要避免第一摘要值在传输过程中发生变化,因此第一交互设备可以通过相对稳定的经典信道向第二交互设备发送第一摘要值。
第二交互数据接收到第一摘要值后可以对比接收到的第一摘要值和自身生成的第二摘要值,从而确定对比结果。
S103D:基于接收到的对比结果判断第一摘要值与第二摘要值是否相同。
由以上可见,本公开实施例中第一交互设备在计算得到第一摘要值后可以向第二交互设备发送第一摘要值,第二交互设备可以对比第一摘要值与第二摘要值确定两者是否相同,并向第一交互设备反馈对比结果,使得第一交互设备确定第一摘要值与第二摘要值是否相同。
在一些实施例中,可以将参与量子密钥交互的设备分别称为设备M和设备N,则设备M可以基于前文所示的步骤S103A-S103B与S103C确定两者生成的摘要值是否相同,设备N同样可以基于前文所示的步骤S103A-S103B与S103C确定两者生成的摘要值是否相同。
即设备M可以向设备N发送自身生成的摘要值,设备N同样向设备M发送自身生成的摘要值,设备M与设备N均可以对比自身生成的摘要值和自身接收到的摘要值,分别独自确定两者生成摘要值是否相同。
另外,设备M可以基于前文所示的步骤S103A-S103B确定第一摘要值与第二摘要值是否相同,设备N可以基于前文所示的步骤S103C-S103D确定第一摘要值与第二摘要值是否相同。
即设备N向设备M发送自身计算得到的摘要值,设备M接收到设备N发送的摘要值后与自身生成的摘要值进行对比,并向设备N发送对比结果,使得设备N也能够确定两个摘要值到的对比结果。与前述确定方式相比,设备M不需要向设备N发送自身生成的摘要值,仅需要设备N向设备M发送自身生成的摘要值便可以确定两者的摘要值是否相同,从而可以节省量子密钥交互双方之间的数据传输资源,提升有效量子密钥获得的效率。
参见图5,为本公开实施例提供的第四种有效量子密钥获得方法的流程示意图。
由图可见,上述有效量子密钥获得方法包括量子密钥分发过程与有效量子密钥获得过程。在一些实施例中,上述量子密钥分发过程是基于BB84协议交互量子密钥的过程。
图中的虚线左侧为密钥发送方执行的步骤,虚线右侧为密钥接收方执行的步骤。
在一些实施例中,上述有效量子密钥获得方法包括以下步骤B1-B19。
步骤B1:密钥发送方选择基矢。
步骤B2:密钥发送方生成随机二进制数。
步骤B3:密钥发送方基于所选择的基矢对随机二进制数进行光量子调制,得到光量子。
步骤B4:密钥发送方通过量子信道将光量子发送至密钥接收方。
步骤B5:密钥接收方选择基矢。
步骤B6:密钥接收方基于基矢对所获得的光量子进行译码。
步骤B7:密钥接收方获得二进制数。
步骤B8:密钥发送方与密钥接收方通过经典信道交互基矢。
步骤B9:密钥发送方基于基矢获得量子密钥,作为译码数据。
步骤B10:密钥接收方基于基矢获得量子密钥,作为译码数据。
在一些实施例中,前述步骤B1-B10与前述量子密钥交互方式相似,在此不再赘述。
步骤B11:密钥发送方计算译码数据的摘要值。
步骤B12:密钥接收方计算译码数据的摘要值。
步骤B13:密钥发送方与密钥接收方通过经典信道交互摘要值。
步骤B14:密钥发送方对比摘要值。
若摘要值不同,则执行步骤B16。
步骤B15:密钥接收方对比摘要值。
若摘要值不同,则执行步骤B17。
步骤B16:密钥发送方对译码数据进行数据分组,获得新的译码数据。
返回执行步骤B11。
步骤B17:密钥接收方对译码数据进行数据分组,获得新的译码数据。
返回执行步骤B12。
返回循环迭代执行步骤B11-B17,直至达到预设终止条件。
步骤B18:密钥发送方获得有效量子密钥。
步骤B19:密钥接收方获得有效量子密钥。
在一些实施例中,前述步骤B11-B19与前述图1所示的实施例相似,在此不再赘述。
参见图6,为本公开实施例提供的第五种有效量子密钥获得方法的流程示意图,包括以下步骤C1-C18。
在一些实施例中,上述有效量子密钥获得方法包括量子密钥分发过程与有效量子密钥获得过程。其中,上述量子密钥分发过程是基于BB84协议交互量子密钥的过程。
步骤C1:密钥发送方生成随机二进制数。
步骤C2:密钥发送方为随机二进制数的每一二进制位选择基矢,并基于基矢对随机二进制数进行光量子调制,得到光量子。
步骤C3:密钥发送方通过量子信道将光量子发送至密钥接收方。
步骤C4:密钥接收方选择基矢。
步骤C5:密钥接收方对所获得的光量子进行译码,得到二进制数。
步骤C6:密钥发送方与密钥接收方通过经典信道交互基矢。
步骤C7:密钥发送方将所对应的基矢相同的二进制位确定为译码数据。
步骤C8:密钥接收方将所对应的基矢相同的二进制位确定为译码数据。
在一些实施例中,前述步骤C1-C8与前述量子密钥交互方式相似,在此不再赘述。
步骤C9:密钥发送方计算译码数据的摘要值。
步骤C10:密钥接收方计算译码数据的摘要值。
步骤C11:密钥发送方与密钥接收方通过经典信道交互并对比摘要值。
若摘要值不同,则密钥发送方执行步骤C12-C13,密钥接收方执行步骤C14-C15。
步骤C12:密钥发送方对译码数据进行数据分组,获得新的译码数据。
步骤C13:密钥发送方计算新的译码数据的摘要值。
步骤C14:密钥接收方对译码数据进行数据分组,获得新的译码数据。
步骤C15:密钥接收方计算新的译码数据的摘要值。
步骤C16:密钥发送方与密钥接收方通过经典信道交互并对比新的摘要值。
若摘要值不同,则密钥发送方返回执行步骤C12-C13,密钥接收方返回执行步骤C14-C15。若摘要值相同,则密钥发送方执行步骤C17,密钥接收方执行步骤C18。
步骤C17:密钥发送方保留摘要值相同的译码数据,得到有效量子密钥。
步骤C18:密钥接收方保留摘要值相同的译码数据,得到有效量子密钥。
在一些实施例中,前述步骤C9-C18与前述图1所示的实施例相似,在此不再赘述。
与前述应用于第一交互设备的有效量子密钥获得方法相对应,本公开实施例还提供了一种应用于第一交互设备的有效量子密钥获得装置。
参见图7,为本公开实施例提供的一种有效量子密钥获得装置的结构示意图,应用于进行量子密钥交互的每一设备,作为第一交互设备,该装置可以包括:
译码数据获得模块701,用于获得第一量子密钥,将第一量子密钥作为第一译码数据;
第一摘要值计算模块702,用于计算第一译码数据的第一摘要值;
摘要值对比模块703,用于判断第一摘要值与第二摘要值是否相同,其中,第二 摘要值为:第二交互设备对第二译码数据进行计算得到的摘要值,第二译码数据在第二量子密钥中的位置与第一译码数据在第一量子密钥中的位置相同,第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,第二量子密钥为:第二交互设备获得的量子密钥;
目标数据确定模块704,用于在摘要值对比模块703确定第一摘要值与第二摘要值相同的情况下,将第一译码数据确定为目标数据;
译码数据划分模块705,用于在摘要值对比模块703确定第一摘要值与第二摘要值不同的情况下,对第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一新的第一译码数据,触发执行第一摘要值计算模块702;
有效密钥获得模块706,用于若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
由以上可见,本公开实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
本公开的一个实施例中,摘要值对比模块703,还可用于:
接收第二交互设备发送的第二摘要值;
对比第一摘要值与第二摘要值,判断第一摘要值与第二摘要值是否相同。
由以上可见,本公开实施例中第二交互设备在计算得到第二摘要值后可以向第一交互设备发送第一摘要值,第一交互设备可以自行对比第一摘要值与第二摘要值确定两者是否相同。
本公开的一个实施例中,摘要值对比模块703,还用于:
向第二交互设备发送第一摘要值,使得第二交互设备对比第一摘要值与第二摘要值,并向第一交互设备反馈对比结果;
基于接收到的对比结果判断第一摘要值与第二摘要值是否相同。
由以上可见,本公开实施例中第一交互设备在计算得到第一摘要值后可以向第二交互设备发送第一摘要值,第二交互设备可以对比第一摘要值与第二摘要值确定两者是否相同,并向第一交互设备反馈对比结果,使得第一交互设备确定第一摘要值与第二摘要值是否相同。
本公开的一个实施例中,上述译码数据划分模块705,还可用于:
在摘要值对比模块703确定第一摘要值与第二摘要值不同的情况下,采用二分法对第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
由以上可见,本公开实施例中采用平均划分的方式划分得到两个包含的二进制位相近的分组数据,再分别将分组数据作为新的第一译码数据确定目标数据,可以在总体上提高确定目标数据的速度,进而提高确定有效量子密钥的速度。
本公开的一个实施例中,预设终止条件可以为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
由此可见,第一交互设备获得的第一量子密钥的长度往往远大于进行数据加密所需的量子密钥的长度,因此所确定的有效量子密钥的总长度不需要过长便能够实现后续的数据加密过程。也就是最终确定的目标数据的总长度不需要过长,因此实际上无需确定第一量子数据中包含的所有与第二量子数据相同的二进制位,同样可以生成足够后续数据加密时使用的有效量子密钥。因此本公开实施例中可以将划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度作为循环确定目标数据的终止条件,此时虽然划分得到的各个分组数据中还存在有与第二量子密钥中相同的二进制位,但所获得的目标数据的总长度往往已经能够满足后续数据加密的需求,此时停止确定目标数据可以节省第一交互设备与第二交互设备的数据计算与传输资源,提升有效量子密钥获得的效率。
本公开实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述有效量子密钥获得方法任一所示的方法步骤。
应用本公开实施例提供的电子设备进行有效量子密钥获得时,本公开实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本公开提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一有效量子密钥获得方法的步骤。
应用本公开实施例提供的计算机可读存储介质中存储的计算机程序进行有效量子密钥获得时,本公开实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一有效量子密钥获得方法。
应用本公开实施例提供的计算机程序产品进行有效量子密钥获得时,本公开实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
由此可见,通过本公开实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任一组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程 序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本公开的较佳实施例,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本公开的保护范围内。

Claims (12)

  1. 一种有效量子密钥获得方法,其特征在于,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于所述第一交互设备,所述方法包括:
    获得第一量子密钥,将所述第一量子密钥作为第一译码数据;
    计算所述第一译码数据的第一摘要值;
    判断所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与所述第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得的量子密钥;
    若相同,则将所述第一译码数据确定为目标数据;
    若不同,则对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一新的第一译码数据,返回执行计算所述第一译码数据的第一摘要值的步骤;
    若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
  2. 根据权利要求1所述的方法,其特征在于,判断所述第一摘要值与第二摘要值是否相同,包括:
    接收所述第二交互设备发送的第二摘要值;
    对比所述第一摘要值与所述第二摘要值,判断所述第一摘要值与第二摘要值是否相同。
  3. 根据权利要求1所述的方法,其特征在于,判断所述第一摘要值与第二摘要值是否相同,包括:
    向所述第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与所述第二摘要值,并向所述第一交互设备反馈对比结果;
    基于接收到的对比结果判断所述第一摘要值与第二摘要值是否相同。
  4. 根据权利要求1所述的方法,其特征在于,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,包括:
    采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
  6. 一种有效量子密钥获得装置,其特征在于,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于所述第一交互设备,所述装置包括:
    译码数据获得模块,用于获得第一量子密钥,将所述第一量子密钥作为第一译码数据;
    第一摘要值计算模块,用于计算所述第一译码数据的第一摘要值;
    摘要值对比模块,用于判断所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与所述第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得的量子密钥;
    目标数据确定模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值相同的情况下,将第一译码数据确定为目标数据;
    译码数据划分模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一新的第一译码数据,触发执行所述第一摘要值计算模块;
    有效密钥获得模块,用于若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
  7. 根据权利要求6所述的装置,其特征在于,所述摘要值对比模块,还用于:
    接收所述第二交互设备发送的第二摘要值;
    对比所述第一摘要值与所述第二摘要值,判断所述第一摘要值与第二摘要值是否相同。
  8. 根据权利要求6所述的装置,其特征在于,所述摘要值对比模块,还用于:
    向所述第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与所述第二摘要值,并向所述第一交互设备反馈对比结果;
    基于接收到的对比结果判断所述第一摘要值与第二摘要值是否相同。
  9. 根据权利要求6所述的装置,其特征在于,所述译码数据划分模块,还用于:
    在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
  10. 根据权利要求6-9中任一项所述的装置,其特征在于,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
  11. 一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
    存储器,用于存放计算机程序;
    处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
  12. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
PCT/CN2022/141137 2022-06-14 2022-12-22 有效量子密钥获得方法及装置 WO2023240986A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210668315.8 2022-06-14
CN202210668315.8A CN115189865A (zh) 2022-06-14 2022-06-14 一种有效量子密钥获得方法及装置

Publications (1)

Publication Number Publication Date
WO2023240986A1 true WO2023240986A1 (zh) 2023-12-21

Family

ID=83512913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141137 WO2023240986A1 (zh) 2022-06-14 2022-12-22 有效量子密钥获得方法及装置

Country Status (2)

Country Link
CN (1) CN115189865A (zh)
WO (1) WO2023240986A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189865A (zh) * 2022-06-14 2022-10-14 中国电信股份有限公司 一种有效量子密钥获得方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553648A (zh) * 2014-10-30 2016-05-04 阿里巴巴集团控股有限公司 量子密钥分发、隐私放大及数据传输方法、装置及系统
US20160359626A1 (en) * 2015-06-08 2016-12-08 Alibaba Group Holding Limited System, method, and apparatus for quantum key output, storage, and consistency verification
CN108449145A (zh) * 2018-03-21 2018-08-24 广州大学 一种基于量子密钥的密文传输方法
CN110011792A (zh) * 2019-03-06 2019-07-12 暨南大学 基于极化码的单步量子密钥分发后处理方法、系统、介质和设备
CN113922956A (zh) * 2021-10-09 2022-01-11 天翼物联科技有限公司 基于量子密钥的物联网数据交互方法、系统、设备及介质
CN114338005A (zh) * 2021-12-24 2022-04-12 北京海泰方圆科技股份有限公司 一种数据传输加密方法、装置、电子设备及存储介质
CN115189865A (zh) * 2022-06-14 2022-10-14 中国电信股份有限公司 一种有效量子密钥获得方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553648A (zh) * 2014-10-30 2016-05-04 阿里巴巴集团控股有限公司 量子密钥分发、隐私放大及数据传输方法、装置及系统
US20160359626A1 (en) * 2015-06-08 2016-12-08 Alibaba Group Holding Limited System, method, and apparatus for quantum key output, storage, and consistency verification
CN108449145A (zh) * 2018-03-21 2018-08-24 广州大学 一种基于量子密钥的密文传输方法
CN110011792A (zh) * 2019-03-06 2019-07-12 暨南大学 基于极化码的单步量子密钥分发后处理方法、系统、介质和设备
CN113922956A (zh) * 2021-10-09 2022-01-11 天翼物联科技有限公司 基于量子密钥的物联网数据交互方法、系统、设备及介质
CN114338005A (zh) * 2021-12-24 2022-04-12 北京海泰方圆科技股份有限公司 一种数据传输加密方法、装置、电子设备及存储介质
CN115189865A (zh) * 2022-06-14 2022-10-14 中国电信股份有限公司 一种有效量子密钥获得方法及装置

Also Published As

Publication number Publication date
CN115189865A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US20220027288A1 (en) Technologies for low-latency cryptography for processor-accelerator communication
AU2014235793B2 (en) Automatic tuning of virtual data center resource utilization policies
US11886286B2 (en) Enhanced checksum system
US20160094347A1 (en) Method and system for secure management of computer applications
US20140250158A1 (en) Method and device for obtaining file
WO2023240986A1 (zh) 有效量子密钥获得方法及装置
WO2021022794A1 (zh) 基于rdma的数据传输方法、网卡、服务器及介质
WO2020042884A1 (zh) 用于物联网设备间的数据传输方法、系统和电子设备
WO2021082073A1 (zh) 存储分区动态选择方法、系统、计算机设备及存储介质
WO2022142366A1 (zh) 机器学习模型更新的方法和装置
US11496295B2 (en) Non-transitory computer-readable medium storing program code, decryption device, and communication system including encryption device and decryption device
CN112347498A (zh) 一种加密方法、装置、电子设备及可读存储介质
TW202018645A (zh) 基於區塊鏈的資料處理方法、裝置和伺服器
US20160087798A1 (en) Computation of hash value for a message based on received portions of the message
CN108431819B (zh) 保护客户端访问视频播放器的drm代理的服务的方法和系统
CN111193741B (zh) 一种信息发送方法、信息获取方法、装置及设备
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US11381630B2 (en) Transmitting data over a network in representational state transfer (REST) applications
CN116260572B (zh) 数据杂凑处理方法、数据验证方法及电子设备
CN110611568B (zh) 基于多种加解密算法的动态加解密方法、装置、及设备
US20160087791A1 (en) Computation of hash value for a message based on received portions of the message
CN107085681B (zh) 鲁棒的计算设备标识框架
US11126734B2 (en) Method, device and computer program product for data processing
CN110032832B (zh) 一种Web应用程序的处理方法及装置
Ivanchykhin et al. Regular and almost universal hashing: an efficient implementation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22946651

Country of ref document: EP

Kind code of ref document: A1