Quantum Timestamping
By combining classic computing devices and quantum computing devices in timestamp devices, using the randomly generated quantum state provided by the validator and the input token to generate a timestamp proof token, the problem of time stamp information needs to be sent to third-party validators in the prior art is solved, and efficient and reliable timestamp generation is achieved.
Patent Information
- Application Number
- JP2024556546
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-25
- Filing Date
- 2023-02-14
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2043-02-14
AI Technical Summary
When providing trusted timestamps, the prior art needs to send timestamp information to a third-party validator, resulting in network delay and timestamp uncertainty, affecting data processing speed.
By combining classic computing devices and quantum computing devices in timestamp devices, the randomly generated quantum states provided by the validator are combined with the input token to generate a timestamp proof token, avoiding sending timestamp information to a third-party validator.
It realizes that without sending timestamp information to a third-party validator, providing reliable and trusted timestamps is reduced, network latency and timestamp uncertainty, and improving the accuracy and efficiency of data processing.
Smart Images

Figure 2025510803000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a method for providing a quantum timestamp to an item to be timestamped in a time stamping device that includes a classical computing device and a quantum computing device. [Background technology]
[0002]
[0002] Timestamping is a sensitive application, and if the party performing the time stamping needs to be trusted, some method is needed that involves a trusted third party generating the attestation.
[0003]
[0003] However, communication with a third party will introduce network delays. This will add uncertainty to the timestamp, which can have a significant impact on the use of timestamps, since the speed at which an item can be processed depends in part on the accuracy of the timestamp. One way to provide a verifiable timestamp is to use a third-party trusted verifier. For example, if a third party receives an item (e.g., a digital record) or a hashed item (i.e., a cryptographic hash of a digital record), optionally signed with a digital signature, from a timestamp-granting entity, then adds a digital timestamp to the digital record and signs the entire resulting string with its own signature for the timestamped item, this effectively classically provides a way to verify the timestamp. However, there will be latency and uncertainty in the time it takes to transmit the verifiably timestamped digital information over a network to the third party.
[0004] It would be desirable to provide a technique that overcomes this problem and allows a time stamping entity to provide a time stamp without having to first send the item to be timestamped to a third party.
[0005]
[0005] The examples described herein are not limited to examples that solve the problems mentioned in this Background section. Summary of the Invention
[0006]
[0006] Preferred aspects and examples of embodiments of the invention are set out in the accompanying independent and dependent claims.
[0007]
[0007] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0008]
[0008] A method of time stamping an item at a time stamping device is provided. The time stamping device comprises a classical computing device and a quantum computing device. The method comprises obtaining, at the classical computing device, the item to be time stamped and determining an input token based on the received item. The method further comprises receiving, at the quantum computing device, a randomly generated quantum state from a verifier over a quantum channel, where the randomly generated quantum state is received at time t, and using the time stamping device to combine the randomly generated quantum state with the input token to produce a time stamp attestation token associated with time t.
[0009]
[0009] Since randomly generated states cannot be duplicated due to the no-cloning theorem and all information from a quantum state cannot be extracted by measurement, it is not possible to copy a received randomly generated quantum state. Thus, the above method allows a time stamping device to time stamp an item without the need to send the item to a third party, since an untrusted time stamping device cannot reuse a received randomly generated quantum state for subsequent time stamping.
[0010]
[0010] In some examples, using the time stamping device to combine the randomly generated quantum state with the input token comprises performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are associated with the input token, and performing the quantum operations on the randomly generated quantum state comprises measuring the randomly generated quantum state to obtain a time stamp attestation token associated with time t. The use of quantum operations associated with the input token provides enhanced security.
[0011]
[0011] In some examples, performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token comprises measuring the quantum state to obtain a timestamp proof token based on the input token by using the input token to determine a sequence of measurement bases for measuring the randomly generated quantum state. Both the timestamp granting device and the verifier may know the rules of how the measurement bases are selected from the input token. A classical computing device may be used to determine a set of measurement bases from the input token, and the quantum computing device may then implement the measurement in the determined bases. Changing the measurement bases of the quantum state may comprise, for example, changing the state of an interferometer in the case of a phase-encoded photonic qubit, or changing the orientation of a polarizing beam splitter. This therefore allows the timestamp proof token to depend on the input token.
[0012]
[0012] In another example, the method further comprises: determining, at the classical computing device, an input quantum state from the input token; and preparing, at the quantum computing device, a quantum register at the input quantum state. Performing quantum operations on the randomly generated quantum state received from the verifier such that at least some of the quantum operations are related to the input token further comprises using a sequence of quantum gates to mix the input quantum state and the randomly generated quantum state before measuring the randomly generated quantum state. Mixing the input quantum state and the randomly generated quantum state may comprise entangling the two quantum states. In another example, mixing the input quantum state and the randomly generated quantum state may comprise generating a non-classical correlation between the two quantum states (e.g., creating entanglement or quantum disharmony). In some examples, the sequence of gates is a predetermined sequence of gates known to both the time stamping device and the verifier. In another example, the sequence of quantum gates may be selected according to a known pattern (e.g., known to both the time stamping device and the verifier), such as using a portion of the input token. Using quantum gates to mix / entangle / create correlations between an input quantum state and a randomly generated quantum state provides a way to make a quantum operation related / dependent on the input state in a manner that is difficult to fake classically without knowledge of the randomly generated quantum state.
[0013]
[0013] In another example, performing quantum operations on a randomly generated quantum state such that at least some of the quantum operations are related to an input token comprises: determining, at a classical computing device, a sequence of quantum operations based on the input token; and implementing, at a quantum computing device, the determined sequence of quantum operations on the randomly generated quantum state before measuring the randomly generated quantum state. The method of determining the sequence of quantum operations based on the input token may be known to both the time stamping device and the verifier. Implementing the determined sequence of quantum operations may comprise having the quantum computing device apply or perform the operations on the randomly generated quantum state. Again, using operations that depend on the input token provides a way to make the quantum operations dependent on the input state in a manner that is difficult to classically forge without knowledge of the randomly generated quantum state.
[0014]
[0014] In some examples, the method further comprises sending the timestamp attestation token and the time-stamped item and / or input token to a verifier within the threshold time period of obtaining the timestamp attestation token. The method may also comprise receiving a confirmation of validity and / or receipt of the timestamp attestation token in response to sending the timestamp attestation token to the verifier. This allows the verifier to ensure that each of the sent randomly generated quantum states is used close to time t and is not stored at a later time.
[0015]
[0015] In some examples, the method further comprises receiving a request from a verifier for at least a portion of the timestamp proof token. The method then comprises providing at least a portion of the timestamp proof token and the item to be timestamped and / or the input token to the verifier in response to the request. The portion of the timestamp proof token may comprise the entire timestamp proof token. However, in other examples, the portion of the timestamp proof token may be a portion of the timestamp proof token such that the verifier can verify the timestamp proof token. By having the verifier request the timestamp proof token randomly, it becomes more difficult for the timestamp proof device to store the randomly generated quantum state for later use, since the timestamp proof token may be required to send the verifier a timestamp proof token from that randomly generated quantum state at any time.
[0016]
[0016] In some examples, determining the input token based on the received item comprises determining the input token in dependence at least in part on a previous time stamp proof token within the time stamped item or the input token. Since the input token is based on the time stamped item, this means that the input token is based on a previous time stamp proof token. This acts as proof that a previous randomly generated quantum state was used and not stored for later use.
[0017] In some examples, determining the input token in dependence on at least a portion of a previous time stamp proof token in the time stamped item or input token comprises hashing at least a portion of the previous time stamp proof token and incorporating the hash of at least a portion of the previous time stamp proof token into the time stamped item or input token. This provides a way to incorporate a portion of a previous time stamp proof token without revealing the previous time stamp proof token in the current time stamped item / input token. This also limits the extent to which the previous time stamp proof token lengthens the time stamped item / input token.
[0018]
[0018] In some examples, the method further comprises storing the timestamp proof token in a distributed ledger, such as a blockchain. In some cases, the input token is determined depending at least in part on a previous timestamp proof token in the item to be timestamped or the input token, and comprises incorporating a previous entry or record in the distributed ledger (e.g., a previous block of the blockchain) into the item to be timestamped or the input token. This provides a convenient way to store and access the previous timestamp proof token, and may also allow the previous timestamp proof token to be shared with verifiers.
[0019]
[0019] In some examples, obtaining the time-stamped item comprises receiving the time-stamped item before time t, or obtaining a predetermined value as the time-stamped item when the time-stamped item has not been received by time t. In other examples, a predetermined file or item may be used as the time-stamped item if there are no other time-stamped items obtained by time t. This ensures that the time-stamping device performs the time-stamping operation using a randomly generated quantum state even if there are no items that need to be time-stamped. This allows the time-stamping device to confirm to a verifier that a randomly generated quantum state has been used and not stored.
[0020] In some examples, receiving the randomly generated quantum state from the verifier comprises receiving a first randomly generated quantum state from a first source of the verifier. Then, the method further comprises receiving, at the quantum computing device, a second randomly generated quantum state from a second source of the verifier via a quantum channel, the second randomly generated quantum state being received at time t. Performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token comprises performing quantum operations on the first randomly generated quantum state and the second randomly generated quantum state such that at least some of the quantum operations are related to the input token. The first source and the second source of the verifier are spatially distributed around the time stamping device. In a further example, a third quantum state is also received from a third source of the verifier via the quantum channel at time t. Performing quantum operations on the randomly generated quantum states such that at least some of the quantum operations are associated with the input token comprises performing quantum operations on the first, second, and third randomly generated quantum states such that at least some of the quantum operations are associated with the input token. The first, second, and third sources of verifiers are spatially distributed around the time stamping device. This prevents the time stamping device from providing an inaccurate time stamp by moving closer to or farther away from the verifier and altering the time at which it receives the randomly generated quantum states.
[0021]
[0021] A method is provided for providing a randomly generated quantum state to a time stamping device, the method being executed at a verifier. The verifier comprises a classical computing device and a quantum computing device. The method executed at the verifier comprises preparing a randomly generated quantum state at the quantum computing device and sending the randomly generated quantum state to the time stamping device. The method executed by the verifier further comprises recording a representation of the randomly generated quantum state at the classical computing device and recording the time t' at which the randomly generated quantum state was sent to the time stamping device. Having the verifier securely prepare the randomly generated quantum state means that the time stamping device does not know the randomly generated quantum state. This prevents the time stamping device from performing any classical simulation of the operation or generating multiple copies of the randomly generated quantum state.
[0022]
[0022] In some examples, the method performed by the verifier further comprises verifying the timestamp. Thus, the method may further comprise receiving, at the classical computing device of the verifier, an indication of time t, a timestamp attestation token associated with time t, and the item to be timestamped and / or the input token; determining a time t" based on time t, where time t" represents a time at which the randomly generated quantum state received at the timestamp device at time t would have been sent from the verifier; looking up a classical representation of the randomly generated quantum state associated with time t"; performing a classical simulation of the quantum operation performed by the timestamp device; and verifying, based on the result of the classical simulation, that the time t" matches the time t'. The verifier can perform a classical simulation of the performed operation because it knows the classical representation of the randomly generated quantum state and the rules for turning the input token into a quantum operation or for causing the quantum operation to act on the randomly generated quantum state and the input quantum state. This allows a verifier to verify that the timestamp proof token was likely obtained from a randomly generated quantum state and an input token that was generated by the item being timestamped. In some examples, the application relates to both methods performed by a time stamping device and methods performed by a verifier. In one example, there is a method performed using a time stamping device and a verifier, the method comprising: obtaining an item to be time stamped at a classical computing device of the time stamping device; determining an input token based on the obtained item; receiving a randomly generated quantum state from the verifier over a quantum channel at a quantum computing device of the time stamping device, where the randomly generated quantum state is received at a time t, the method comprising: using the time stamping device to combine the randomly generated quantum state with the input token to produce a time stamp attestation token associated with time t; preparing the randomly generated quantum state at a quantum computing device of the verifier to provide the randomly generated quantum state to the time stamping device; sending the randomly generated quantum state to the time stamping device; recording at a classical computing device of the verifier a representation of the randomly generated quantum state; and recording a time t' at which the randomly generated quantum state was sent to the time stamping device.
[0023]
[0023] There is provided a time stamping device for time stamping an item. The time stamping device comprises a classical computing device configured to obtain an item to be time stamped and to determine an input token based on the obtained item. The system further comprises a quantum computing device configured to receive a randomly generated quantum state from a verifier over a quantum channel, the randomly generated quantum state being received at time t, and the time stamping device configured to combine the randomly generated quantum state with the input token to produce a time stamp proof token associated with time t. Thus, there is provided a time stamping device configured to perform the above method defined with respect to the time stamping device.
[0024]
[0024] A verifier for providing a randomly generated quantum state to a time stamping device is also provided. The verifier comprises a quantum computing device configured to prepare a randomly generated quantum state and send the randomly generated quantum state to the time stamping device. The verifier further comprises a classical computing device configured to record a representation of the randomly generated quantum state and the time t' at which the randomly generated quantum state was sent to the time stamping device. Thus, a verifier is provided that is configured to perform the above method defined with respect to the verifier.
[0025]
[0025] In some examples, the verifier is configured to perform link latency calibration to determine the latency for sending the randomly generated quantum state to the time stamping device and to randomly repeat the link latency calibration. In some examples, a system is provided that includes both the time stamping device and the verifier described above. An exemplary system includes a time stamping device for time stamping an item, and a verifier for providing a randomly generated quantum state to the time stamping device, the time stamping device including a classical computing device configured to obtain the item to be time stamped and determine an input token based on the obtained item. The time stamping device has a quantum computing device configured to receive a randomly generated quantum state from the verifier over a quantum channel, the randomly generated quantum state being received at a time t, and the time stamping device configured to combine the randomly generated quantum state with the input token to produce a time stamp proof token associated with the time t. The verifier includes a quantum computing device configured to prepare a randomly generated quantum state and send the randomly generated quantum state to the time stamping device, and a classical computing device configured to record a representation of the randomly generated quantum state and the time t' at which the randomly generated quantum state was sent to the time stamping device.
[0026]
[0026] It will also be apparent to those skilled in the art that some of the preferred features indicated above as preferred in the context of one of the aspects of the disclosed technology indicated may be substituted for one or more preferred features of other of the preferred aspects of the disclosed technology, and such obvious combinations have not been explicitly recited above under each such possible additional aspect for the sake of brevity.
[0027]
[0027] Other examples will become apparent from the following detailed description, taken in conjunction with the drawings which illustrate, by way of example, the principles of the disclosed technology.
[0028]
[0028] Embodiments of the present invention will now be described, by way of example only, with reference to the following drawings, in which: [Brief description of the drawings]
[0029] [Figure 1aa]
[0029] FIG. 1 is a schematic diagram of a time stamping device and a verifier. [Figure 1a]
[0030] 4 illustrates an exemplary method for time stamping performed by a time stamping device. [Figure 1b]
[0031] 1 illustrates an exemplary method for time stamping performed by a verifier. [Figure 1c]
[0032] 1 illustrates an exemplary method for verifying a timestamp performed by a verifier. [Diagram 2]
[0033] 1 illustrates an exemplary system for time stamping using operations that depend on an input token. [Diagram 3]
[0034] 1 illustrates an exemplary system for time stamping using an input token as an input quantum state. [Figure 4]
[0035] We show how to incorporate a previous timestamp proof token into an input token. [Diagram 5]
[0036] 1 shows a flowchart of a time stamping process. [Figure 6a]
[0037] Represents a secure verifier for time stamping. [Figure 6b]
[0038] We show how a verifier can split the quantum channel among multiple time stamping devices. [Figure 7a]
[0039] 1 illustrates an exemplary system for performing time stamping. [Figure 7b]
[0040] 1 illustrates an example of a quantum computing device that can be used for time stamping. [Figure 7c]
[0041] 1 illustrates an exemplary classical computing device that can be used for time stamping. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0030]
[0042] The accompanying drawings illustrate various examples. Those skilled in the art will understand that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the drawings represent one example of a boundary. In some examples, it may be that one element may be designed as multiple elements, or multiple elements may be designed as one element. Where appropriate, common reference numbers are used throughout the figures to denote similar features.
[0031]
[0043] The following description is made for the purpose of illustrating the general principles of the technology and is not intended to limit the inventive concepts claimed herein. As will be apparent to one skilled in the art, one or more or all of the particular features described herein in the context of one embodiment may also be present in and / or used in combination with other described features in various possible combinations and permutations in some other embodiment(s).
[0032]
[0044] The classical methods described herein may be implemented by software in machine-readable form on a tangible storage medium, e.g., in the form of a computer program comprising computer program code means adapted to perform all the steps of any of the methods described herein when the program is executed on a computer, and when the computer program may be embodied on a computer readable medium. Examples of tangible (or non-transitory) storage media include disks, thumb drives, memory cards, etc., and do not include propagated signals. The software may be suitable for execution on a parallel or serial processor, such that the method steps may be performed in any suitable order, or simultaneously.
[0033]
[0045] This recognizes that firmware and software can be valuable, separately tradable commodities. It is intended to encompass software that runs on or controls "dumb" or standard hardware to perform a desired function. It is also intended to encompass software that "describes" or defines the configuration of hardware, such as HDL (Hardware Description Language) software, such as that used to design silicon chips or configure general purpose programmable chips, to perform a desired function.
[0034]
[0046] The present disclosure relates to using a randomly generated quantum state received from a verifier to time stamp an item such that a time stamping device or entity can time stamp the item without having to send the item to a third party for verification.
[0035]
[0047] Figure 1aa illustrates generally a verifier 1002 and a time stamping device 1004. Within the time stamping device 1004 is a schematic diagram of an exemplary method implemented by the time stamping device 1004. According to the exemplary method, the time stamping device obtains 112 an item to be time stamped. A non-exhaustive list of examples of such items is described below with reference to Figure 1a. The time stamping device 1004 determines 114 an input token based on the obtained item.
[0036]
[0048] The time stamping device receives 122 the randomly generated quantum state from the verifier 1002. The randomly generated quantum state is received by the time stamping device 1004 at time t.
[0037]
[0049] The time stamping device combines 1000 the randomly generated quantum state with the input token, in doing so creating a time stamp proof token. The time stamping device 1004 outputs 126 the time stamp proof token. A verifier can verify that the time stamp proof token is statistically likely to have been produced within an acceptable margin of the claimed time.
[0038]
[0050] In one example, the verifier 1002 prepares a random stream of qubits / qudits and privately stores a record of the stream. The verifier 1002 sends the stream over a quantum channel to a time stamping device 1004, which can, for example, perform time-constrained actions. The time stamping device combines the most recent portion of the qubit / qudit stream received from the verifier with an input token, which in one example is an action ID. The action ID is a series of bits that identify the most recent action desired to be time stamped. The combining operation 1000 produces a token that can be sent to the verifier for verification along with the action ID and a time stamp request for the action. The verifier knows the protocol used to create the time stamp proof token and the latency of the quantum channel used to communicate the qubit / qudit stream and the channel used to communicate the time stamp proof token, and can therefore use these, along with its stored stream record, to verify that it is statistically likely that the time stamp proof token was created within an acceptable margin of the claimed time.
[0039]
[0051] There are various ways in which the combining in operation 1000 can be accomplished. In some cases, the combining operation 1000 comprises performing quantum operations on randomly generated quantum states, at least some of the quantum operations being related to the input token.
[0040]
[0052] Figures 1a and 1b are flow charts illustrating a method according to the present disclosure: Figure 1a illustrates a method performed by a time stamping device, also known as a time certification entity, and Figure 1b illustrates a method performed by a verifier, also known as a verification entity.
[0041]
[0053] The time stamping device / entity comprises a classical computing device 110 and a quantum computing device 120. In step 112, the classical computing device 110 of the time stamping device obtains an item to be timestamped. The item to be timestamped may be a transaction, a file, a photograph, a predetermined value or a null item / file, or any other suitable item. The item to be timestamped may be obtained by being generated by the time stamping device, by being received from a third party, by being obtained from storage on the time stamping device, or in any other suitable manner.
[0042]
[0054] Once the item to be timestamped is received, the method comprises determining an input token based on the obtained item, step 114. The input token is a classical bit value token derived from the item to be timestamped. The input token may be derived in any suitable manner. However, in one example, the input token may be calculated using a hash function. In some examples, the input token uses all of the bits obtained by applying the hash function to the item to be timestamped. However, in other examples, the result of the hash function is truncated to form the input token. The input token may then be used during timestamping along with the randomly generated quantum state.
[0043]
[0055] In step 122, the time stamping device or quantum computing device of the time stamping entity receives a randomly generated quantum state from the verifier / time proofing entity. The randomly generated quantum state is received at time t. The randomly generated quantum state may be encoded into multiple qubits or multiple qudits. The randomly generated quantum state may be received gradually as a stream of qubits / qudits, or all of the qubits / qudits may be received in parallel, for example, by using optical qubits / qudits having different wavelengths or by receiving the qubits / qudits on spatially separated paths.
[0044]
[0056] In step 124, the quantum computing device of the time stamping device performs a quantum operation on the randomly generated quantum state, where the quantum operation is related / dependent on or otherwise determined by the input token. The quantum operation includes at least a measurement of the randomly generated quantum state, which may occur after the randomly generated quantum state has been entangled with another quantum state and / or acted upon by a quantum gate. As detailed with respect to Figures 2 and 3, the quantum operation may be related to the input token in a number of different ways.
[0045]
[0057] In one example, the input token is used to determine the measurement basis of the quantum state, so that the operation applied to the quantum state is related to the input token. For example, the input token determines whether each qubit in a randomly generated quantum state should be measured in a computational / standard / Z-based basis (e.g., |0>, |1> basis) or a rotational / X-based basis (e.g.,
number
[0046]
[0058] In another example, the input token may be used to determine a set of quantum operations to be applied to the qubits / qudits to form a resulting quantum state. In one example, the bit values of the input token may be mapped onto a set of quantum gates, which may be applied to a randomly generated quantum state. For example, a trio of bit values may be used to determine a number between 7 and 0, which may be mapped onto a quantum gate from the set of X, Y, Z, H, I, S, T, and CNOT;
number
[0047]
[0059] In yet further examples, the operations are related to the input token in that the input token can be transformed into a quantum state, referred to as an input quantum state. For example, the classical computing device 110 of the time stamping device can determine the form of the input quantum state based on the input token. This can involve the classical computing device 110 determining a classical representation of the input quantum state. The quantum computing device 120 can then be used to prepare a quantum register at the input quantum state. In some examples, the input token can comprise a string of bit values. These bit values can then be used to form quantum states having the same bit values in a computational or rotational basis. Alternatively, the input token can be split into pairs of bit values. One bit from each pair can be used to determine the basis in which the qubits of the input quantum state should be prepared (e.g., whether the qubits should be prepared in a computational or rotational basis), and the other bit from each pair can be used to determine the prepared state (e.g., whether the state is |0> or |1> when a computational basis is used, or whether the state is |+> or |-> when a rotational basis is used). Those skilled in the art will appreciate that other pairs or groups of bases can be used as desired. Performing the quantum operation associated with the input token then comprises performing an entanglement or other mixing of quantum operations between the input quantum state and the randomly generated quantum state to generate a resultant quantum state. In some examples, the quantum operation performed is fixed. In other examples, a first portion of the input token may be used to determine the input quantum state, and a second portion of the input token may be used to determine the quantum gate to be performed. For example, the second portion of the input token may be converted into a controlled-not gate (CNOT gate) by mapping gates onto the bit values of the second portion of the input token, such that the bits of the input quantum state and the randomly generated quantum state are converted into a controlled-not gate (CNOT gate).
number
number
[0048]
[0060] As mentioned above, quantum operations may be performed such that the quantum operations are related to the input token in a number of different ways. For example, the input token may be used to determine a measurement basis, an operation to be performed, or may be used to form an input quantum state that is then entangled (or otherwise mixed through non-classical correlations) with a randomly generated quantum state. While each of the above options can be used separately, they may also be used in combination. Thus, the input token may be split into multiple parts, with different parts of the input token being used for different purposes. For example, a first part of the input token may be used to determine a set of measurement bases and a second part may be used to determine a set of operations, or a first part may be used to determine a set of measurement bases and a second part may be used to form an input quantum state that interacts with a randomly generated quantum state. In another example, a first part of the input token may be used to determine a set of operations and a second part may be used to determine an input quantum state that interacts with a randomly generated quantum state. In this example, the set of operations determined by the first portion of the input token may comprise a series of entanglement gates that will be used to entangle the input quantum state and the randomly generated quantum state. Alternatively, the set of operations may comprise a series of quantum gates that are performed on the randomly generated quantum state, the input quantum state, or the result of the interaction of the two, either before or after the mixing / entanglement operation. In a further example, the input token may comprise at least three parts, with a first part used to determine the set of measurement bases, a second part used to determine the sequence of quantum operations, and a third part used to determine the input quantum state. Thus, all of the above examples may be combined in one implementation of the present application.
[0049]
[0061] In step 224, the classical computing device 110 of the time stamping device obtains the result of the measurement of the quantum state in step 126. This is then used as a time stamp proof token associated with the time t at which the quantum computing device 120 of the time stamping device received the randomly generated quantum state. The classical computing device 110 of the time stamping device may store the time stamp proof token together with the item being timestamped and the time t associated with the time stamp. The time stamp proof token may then be used to verify the timestamp as described below.
[0050]
[0062] The above method provides a way for a device to time stamp its own items in a way that is difficult to counterfeit. This means that the item to be timestamped does not need to be sent to a third party before the item is timestamped. This allows the item to be timestamped to remain secret before it is timestamped. In terms of being difficult to counterfeit, given the No Cloning Theorem, a time stamping device cannot duplicate a received randomly generated quantum state and use it to time stamp multiple transactions. Furthermore, given that it is not possible to measure a quantum state and obtain all information about that state, a time stamping device cannot predict the outcome of an operation using classical simulation (since it does not have accurate input in the form of a representation of the randomly generated quantum state). Furthermore, the difficulty of forming an accurate and reliable long-term quantum memory makes it difficult for a time stamping device to store a quantum state long-term. Other ways of ensuring security when memory is present are described below.
[0051]
[0063] 1b illustrates a method performed by a verifier / verifying entity. The verifier / verifying entity comprises a classical computing device 130 and a quantum computing device 140. The verifier / verifying entity may be a secure device. For example, the classical computing device 130 of the verifier / verifying entity may be a secure device that stores information securely, for example through the use of cryptography or any other security protocol to ensure that no third party (or time stamping device) can access the information.
[0052]
[0064] In step 142, the verifier's quantum computing device 140 generates a randomly generated quantum state and sends it to the time stamping device. The randomly generated quantum state may be generated in any known manner. For example, the randomly generated quantum state may be generated by having the classical computing device 130 randomly / pseudo-randomly select a basis and state for each qubit / qudit of the randomly generated quantum state. The method then comprises using the quantum computing device 140 to prepare a quantum register or other collection of qubits / qudits into the selected basis and state. For example, when qubits are used, the classical computing device 130 may randomly (or pseudo-randomly) select whether each qubit of the randomly generated quantum state should be prepared in a computational basis or a rotational basis. Once a computational basis has been selected for a particular qubit, the classical computing device 130 randomly (or pseudo-randomly) selects whether the qubit should be prepared in state |0> or state |1>. In contrast, when a rotation basis is selected for a particular qubit, classical computing device 130 randomly (or pseudorandomly) selects whether the qubit should be prepared in state |+> or |->. Other pairs or groups of bases may also be used. Furthermore, when qudits are used, each basis may comprise more than two states. Classical computing device 130 may use a classical random or pseudorandom number generator, or another random / pseudorandom process, to determine the basis and / or state. Alternatively, classical computing device 130 may interface with a quantum random number generator (which may form part of quantum computing device 140) to generate random numbers to determine the basis / state for each qubit.When the randomly generated quantum state is prepared in the form of a photonic qubit, preparing the randomly generated quantum state may comprise using a single photon source or a laser / attenuator to generate the qubit and using polarization control to ensure that the qubit is in the correct state.
[0053]
[0065] In step 132, a classical representation of the randomly generated quantum state is recorded / stored in the classical computing device 130. This classical representation may be a record / log or other register of the basis and state used to prepare each qubit / qudit. Thus, the process of generating the randomly generated quantum state may use a classical representation. Given that a randomly generated quantum state will be used, it should be noted that this classical representation is not a direct measurement of the randomly generated quantum state. However, in some examples, a pair of entangled photons is generated in the verifier's quantum computing device 140, and one of the pair is sent to the quantum computing device 120 of the time stamping device. The other is measured by the verifier's quantum computing device 140 and its value is recorded. In this way, the verifier has information about the randomly generated quantum state of the entangled photon sent to the time stamping device, which may be used as a classical representation. The classical representation may be stored in multiple forms, including a list of bases and states, a set of matrices for each qubit / qudit, a matrix representing all qubits / qudits in the quantum state, a representation of the quantum state in Dirac notation, etc. In some implementations, to conserve storage space in the verifier's classical computing device 130 and when a classical representation is used in the process of generating a random quantum state, the classical representation may comprise a sequence / bit string of values. This sequence / bit string of values may be generated using a deterministic function pseudorandom number generator. This allows the values to be regenerated by the verifier's classical computing device 130 as long as it remembers the seed and the function (both of which should be kept secret). Thus, recording / storing the classical representation of the randomly generated quantum state may comprise storing the seed and the function.
[0054]
[0066] In step 144, quantum computing device 140 sends the randomly generated quantum state to the time stamping device using a quantum channel. The quantum channel can be optical fiber or free space (e.g., air), although other forms of quantum channels can be used depending on the form of the qubits / qudits. Quantum computing device 140 sends the randomly generated quantum state to the time stamping device at time t', where t'=tt t and t t is the time it takes for the randomly generated quantum state to be transferred between the verifier and the time stamping device. The time it takes to transfer the quantum state through the quantum channel between the verifier and the time stamping device, t t may be determined based on the distance between the verifier and the time stamping device and / or by using a calibration process.
[0055]
[0067] In some examples, the quantum state may be sent as a stream of qubits / qudits incrementally if the streams of qubits / qudits are separated. In other examples, the qubits / qudits may be sent in parallel. For example, the qubits / qudits may be optical qubits / qudits and may be sent in parallel by having each qubit / qudit have a different wavelength or may be sent through spatially separated channels. To send the qubits / qudits in parallel, the qubits / qudits may be stacked in different channels, for example by preparing the state using an array of Mach-Zehnder (MZ) modulators in front of an array of single photon emitters, each with a different emission wavelength. Alternatively, the qubits / qudits may be sent in parallel using spatially separated quantum channels, for example by using multicore fibers or quantum channels offset in free space in the case of photonic qubits / qudits. Depending on the qubits / qudits and the form of the channel, other ways of sending the qubits / qudits in parallel may also be possible.
[0056]
[0068] In step 134, the verifier's classical computing device 130 records / stores the time that the randomly generated quantum state was sent in association with its record / storage of the classical representation of the randomly generated quantum state. This ensures that there is a record of the time that the randomly generated quantum state was sent to the timestamping device.
[0057]
[0069] A method performed by a verifier / verifying entity / time proving entity provides a randomly generated quantum state to a time stamping device at a known time, which enables the time stamping device to form a time stamp using the randomly generated quantum state.
[0058]
[0070] A verifier / verifying entity / time attesting entity may be used to verify the timestamp from the timestamp granting device, as shown in FIG. 1c. In this regard, the timestamp granting device provides a copy of a timestamp attesting token associated with time t, an indication of time t, and either a copy of the item to be verified (e.g., the item to be timestamped) and / or a copy of the input token. In some examples, the timestamp granting device may request authentication itself, in which case it may provide the verifier directly with the timestamp attesting token, an indication of time t, and either a copy of the item to be verified and / or the input token. In other examples, a third party may be seeking validation of the timestamp and may thus be the one providing the information to the verifier. In some examples, the information provided by the timestamp granting device may be authenticated using standard classical techniques, such as a digital signature, which may be generated using a classical private key held by the timestamp granting device and verified against a PKI (Public Key Infrastructure) certificate authority.
[0059]
[0071] In either case, in step 131, the information is received by the verifier's classical computing device 130.
[0060]
[0072] In step 133, the verifier's classical computing device 130 determines a time t″ associated with time t. As described above, the randomly generated quantum state takes time t to be transported through the quantum channel. t This time may be known based on the distance between the verifier and the time stamping device. t is found empirically through an initial calibration process (called link latency calibration), which is optionally repeated continuously to correct for harmless channel variations. In some cases, the calibration repetitions are done at random intervals to catch unauthorized movement of the time stamping device closer to the verifier without having to add another verifier. Thus, after the initial link latency calibration, some examples repeat the link latency calibration randomly to thwart unauthorized attempts to move the time stamping device closer to the verifier. The verifier's classical computing device 130 can determine the time t″ at which the randomly generated quantum state was sent based on the time t at which the randomly generated quantum state was received by subtracting the time taken for the transport from time t, e.g., t″=tt t It is.
[0061]
[0073] In step 135, the verifier's classical computing device 130 looks up the classical representation of the randomly generated quantum state associated with time t". As described above, in steps 132 and 134, the classical representation of the randomly generated quantum state was stored in association with the record of time t'. In step 135, the verifier's classical computing device 130 can consult this stored information to determine the classical representation of the randomly generated quantum state associated with time t.
[0062]
[0074] In step 137, the verifier's classical computing device 130 uses the discovered classical representation of the randomly generated quantum state and the item / input token to be verified to simulate the operations performed by the quantum computing device 120 of the time stamping device when performing the time stamping. If the item to be verified is provided, this step may involve first obtaining the input token from the item to be verified as did the classical computing device 110 of the time stamping device. For example, this may involve applying the same hash function to the item to be verified. Given that the time stamping follows a fixed protocol, both the verifier and the time stamping device will know the operations, e.g., hashes, performed by the classical computing device 110 to obtain the input token. The verifier's classical computing device 130 can thus reproduce these operations. If both the item to be verified and the input token are provided, the verifier may verify that the provided input token matches the input token it obtained from repeating the operations. As will be described in more detail below, in some examples, the computation of the input token (or the input token itself) may incorporate a previous time stamp proof token. In this case, the verifier's classical computing device 130 may also be provided with this timestamp attestation token. In some examples, the verifier's classical computing device 130 may check the validity of the previous timestamp attestation token, or even all previous timestamp attestation tokens, using the associated time t and the item being timestamped. This provides a more detailed level of verification, ensuring that the timestamp-granting device cannot store a randomly generated quantum state.
[0063]
[0075] Once the classical computing device 130 has the input token and a classical representation of the randomly generated quantum state, then in step 137 it performs a classical simulation of the quantum operations performed on the randomly generated quantum state. The time stamping device and the verifier will have a pre-agreed or otherwise fixed method, such as the method described above, for performing quantum operations on the randomly generated quantum state such that at least some of the operations are related to the input token. Thus, the verifier's classical computing device 130 can perform a classical simulation of the operations performed by the time stamping device's quantum computing device 120. Note that because the verifier's classical computing device 130 has access to the classical representation of the randomly generated quantum state and therefore knows all of the inputs to the time stamping device's quantum computing device 120, the verifier's classical computing device 130 can perform a classical simulation when the time stamping device's classical computing device 110 is unable to perform a classical simulation. As mentioned above, the classical computing device 110 of the time stamping device does not have access to this classical representation of the randomly generated quantum state, and it should not be able to obtain such a classical representation from the randomly generated quantum state, since it is provided with only one (or very few) copies of the randomly generated quantum state. The result of the classical simulation may be a state vector in a basis corresponding to the selected measurement basis. This state vector gives the probability of the outcome at each detector of the quantum computing device 120 of the time stamping device used to perform the measurement. The probability is the squared amplitude of the state vector when it is expressed in the measurement basis, with each row corresponding to a given detector. Alternatively, if a different basis is used, as known to those skilled in the art, it may be calculated as the squared inner product (bracket) projection between the state vector and the basis corresponding to the detector, expressed in the different basis.If the probability of detection of a particular state is zero along the state vector, but detection of that state is measured, then non-compliance may be recorded for that portion of the attestation token.
[0064]
[0076] In step 139, the verifier classical computing device 130 verifies that time t" coincides with time t', e.g., t" is within a threshold of time t'. Thus, the classical computing device 130 can determine whether the provided timestamp proof token is likely to be the output of a quantum operation associated with the input token performed on a randomly generated quantum state. This can be done, for example, by comparing values from the classical simulation with values from the timestamp proof token and checking the compatibility of measurements in the timestamp proof token with measurements that would have been performed on a randomly generated quantum state. The verifier classical computing device 130 can calculate the proportion of non-compliant measurements (e.g., measurements in the timestamp proof token that could not be obtained from performing a quantum operation on a randomly generated quantum state) as a fraction of all measurements. Additionally or alternatively, the verifier classical computing device 130 can calculate the probability of obtaining a measurement in the timestamp proof token given the declared or derived input token. The verifier classical computing device 130 can reject the timestamp proof token if the probability of obtaining a measurement in the timestamp proof token is below a threshold and / or the proportion of non-compliant measurements is above a threshold. The threshold for non-compliant measurements and / or the probability of obtaining a measurement may reflect an upper bound on the expected tolerable noise on the channel. If the timestamp proof token is a likely output, the verifier can verify / validate / verify the timestamp proof token. In contrast, if the timestamp proof token is not a likely output, the verifier cannot verify / validate / verify the timestamp proof token.
[0065]
[0077] The above method provides a way for a verifier to verify the timestamp attestation token. In some examples, the verifier uses the item to be timestamped. However, in other examples, the verifier only needs the input token, so it is possible for the verifier to verify the timestamp without even receiving the item to be timestamped. This allows for more secure, private timestamp attestation. For example, a timestamp attestation device may wish to provide a timestamp to a third party. The timestamp attestation device may provide the third party with the time t, the timestamp attestation token, and the item to be timestamped. The third party may determine the input token from the item to be timestamped and then forward the input token, the time t, and the timestamp attestation token to the verifier. Thus, the third party can fully verify the timestamp without having to share the item to be timestamped with the verifier.
[0066]
[0078] FIG. 2 illustrates a system 200 comprising a verifier 210 and a time stamping device 230 connected via a quantum channel 220. In a non-limiting example, the time stamping device 230 is a user device and the verifier 210 is a central device / server that plays a role similar to current time stamping servers. As described above, the verifier 210 generates a randomly generated quantum state 215 and sends it to the time stamping device 230 via the quantum channel 220. The quantum computing device of the time stamping device receives the randomly generated quantum state at time t. The classical computing device of the time stamping device 230 generates an input token 235 from the item to be verified. The quantum computing device of the time stamping device 230 performs quantum operations on the randomly generated quantum state 215, where at least one of the quantum operations is related to the input token 235. In the example illustrated in FIG. 2, the quantum operations performed on the randomly generated quantum state 215 are related to the input token 235 in that the input token 235 is used to determine at least some of the quantum operations. For example, as described above, a set of quantum gates may be applied to the randomly generated quantum state 215, where the set of quantum gates is selected based on the input token 235. Additionally or alternatively, a basis in which the randomly generated quantum state 215 will be measured may be determined based on the input token 235. For example, the bit values of the input token may be used to determine whether the measurement is performed in a computational basis or a rotational basis. As described above, in some examples, a first portion of the input token 235 may be used to determine a sequence of quantum operations and a second portion of the input token 235 may be used to determine a basis for the measurement. After any (non-measurement) quantum operations are applied to the randomly generated quantum state 215, the randomly generated quantum state 215 is measured. As described above, in some examples, a basis for the measurement of each qubit / qudit of the randomly generated quantum state may be determined based on the input token.In other examples, the basis for the measurement of each quantum bit / qudit is fixed. The classical result of the measurement of the randomly generated quantum state is a classical bit string that can be viewed as a timestamp attestation token 240, which can then be stored in association with the time t and the item being verified to act as proof of the timestamp. Any rules for determining the basis and quantum operation may be fixed / pre-agreed upon or otherwise predetermined, such that both the timestamp granting device 230 and the verifier 210 know the rules that will be used.
[0067]
[0079] 3 shows a system 300 comprising a verifier 310 and a time stamping device 330 connected via a quantum channel 320. The verifier 310 generates a randomly generated quantum state 315 and sends it to the time stamping device 330. The quantum computer of the time stamping device 330 receives the randomly generated quantum state at time t. The classical computer of the time stamping device 330 obtains an input token from the item to be timestamped. This input token is then prepared as an input quantum state 335. This may be done in a fixed / pre-arranged or otherwise predetermined manner known to both the time stamping device 330 and the verifier 310. By having the quantum circuit 333 operate on the randomly generated quantum state 315 and the input quantum state 335, for example by mixing them through the use of an entanglement gate (such as a CNOT or controlled phase gate) or by other non-classical correlation, the quantum circuit 333 performs quantum operations on the randomly generated quantum state 315 such that at least some of the quantum operations are related to the input token. In some examples, the operations performed may be a known fixed set of operations known to both the verifier 310 and the time stamping device 330. In other examples, the set of operations may be determined based on a portion of the input token in a manner known to both the verifier 310 and the time stamping device 330. After implementation of the quantum circuit 333, the resulting quantum state is measured. The basis of the measurement may either be predetermined and known to both the verifier 310 and the time stamping device 330, or determined based on a portion of the input token in a manner known to both the verifier 310 and the time stamping device 330. The measurement results in a classical bit string that can be stored as a timestamp proof token, together with an indication of the item being timestamped and the time t.
[0068]
[0080] As mentioned above, in some instances, due to the difficulty of implementing quantum memory, the timestamp may be difficult to forge. When the timestamp-giving device does not have access to a quantum memory, a randomly generated quantum state is used immediately to ensure that the timestamp reflects the time that the quantum state was received. However, the above method may also be adapted to ensure that it works in light of hardened quantum memory.
[0069]
[0081] In one example technique, the time stamping device 230, 330 may send at least the time stamp attestation token 240, 340 and the input token 235, 335 and / or the item to be stamped to the verifier 210, 310 within a threshold time period of receiving the randomly generated quantum state 215, 315. The verifier 210, 310 may then verify the time stamp attestation token 240, 340 using methods such as those described above. In such an example, the time stamping device 230, 330 may also provide an indication of the time t associated with the time stamp attestation token. However, this may not be necessary since if the verifier 210, 310 is verifying each time the randomly generated quantum state is used, the verifier 210, 310 may be able to predict the time t based on the time / order of receipt of the time stamp attestation token 240, 340 and the input token and / or the item to be stamped. The verifier may respond by providing a confirmation of receipt and / or an indication of the validity of the timestamp proof token 240, 340.
[0070]
[0082] In another example, rather than having the time stamping device 230, 330 provide every time stamp attestation token 240, 340, the verifier 210, 310 may request a time stamp attestation token associated with time t at random intervals or time gaps. In response to such a request, the time stamping device 230, 330 may provide the time stamp attestation token associated with time t along with the input token and / or the item to be time stamped. The verifier 210, 310 may then verify the time stamp attestation token 240, 340 in the manner described above. In some examples, the verifier may provide a confirmation of receipt and / or an indication of validity of the time stamp attestation token 240, 340.
[0071]
[0083] The above two techniques ensure that the randomly generated quantum state 215, 315 is used by the time stamping device 230, 330 and prevent the time stamping device 230, 330 from saving the randomly generated quantum state 215, 315 for use at a later time. Furthermore, the randomly generated quantum state 215, 315 cannot be cloned due to the No Cloning Theorem, and it is not possible to determine the complete details of the randomly generated quantum state 215, 315 through measurements. Therefore, using a randomly generated quantum state means that the verifier 210, 310 can be reasonably sure that the time stamping device 230, 330 can no longer access the state for later use.
[0072]
[0084] Further security can be provided by making each time-stamped item dependent on the previous time-stamped item. In this regard, at least a portion of the previous time-stamp attestation token 240, 340 can be incorporated into either the time-stamped item or the input token. In one example, either the whole or a portion of the previous time-stamp attestation token 240, 340 can be added (e.g., by concatenation) to either the time-stamped item or the input token before the quantum operation associated with the input token is applied to the randomly generated quantum state 215, 315. This can mean that to obtain the next time-stamp attestation token 240, 340, all of the previously sent randomly generated quantum states 215, 315 need to be used to generate the time-stamp attestation token 240, 340. In one example, instead of using the previous time-stamp attestation token 240, 340 itself, a hash of the previous time-stamp attestation token 240, 340 can be used, and this hash can be incorporated into the time-stamped item or the input token. In another example, the timestamp proof token 240, 340 may be stored in the blockchain in either hashed or unhashed form. Incorporating at least a portion of a previous timestamp proof token 240, 340 into the time-stamped item or input token may then comprise incorporating a previous block of the blockchain into the time-stamped item or input token. This allows the verifier 210, 310 to easily access the previous timestamp proof token 240, 340. By making the time-stamped item or input token dependent on the previous timestamp proof token 240, 340, the verifier 210, 310 can verify that all previous randomly generated quantum states 215, 315 have been used and that none were stored for use at a time that does not correspond to the receipt time t.
[0073]
[0085] An example of the above can be seen in Figure 4. In box 710, a previous timestamp proof token and time t are provided as input to form an input token 235, 335. In some examples, rather than simply using the immediately previous timestamp proof token 240, 340 and time t, the previous n timestamp proof tokens 240, 340 and time t may be used. In this example, n may be predetermined in the protocol. In box 720, a new timestamp proof token is also provided as input. In box 730, the previous timestamp proof token 240, 340 and time t (or the previous n timestamp proof tokens 240, 340 and time t) and the new timestamp proof token are concatenated and hashed using a cryptographic hash function. Both the concatenation and the hash function may be fixed in the protocol. This results in a new input token 235, 335 being formed in box 740. Box 750 receives this new input token 235, 335 as input. Additionally, box 750 receives as input from box 770 the randomly generated quantum state 215, 315. Box 750 then performs quantum operations, including measurements, on the randomly generated quantum state 215, 315, where at least one of the operations is related to the input token 235, 335. This results in a timestamp attestation token 240, 340. In some examples, the timestamp attestation token 240, 340 comprises a measurement. The timestamp attestation token 240, 340 is then stored with metadata representative of the previous timestamp attestation token 240, 340 and time t (or the previous n timestamp attestation tokens 240, 340 and time t). In other examples, the timestamp attestation token 240, 340 comprises a measurement combined with metadata representative of the previous timestamp attestation token 240, 340 and time t (or the previous n timestamp attestation tokens 240, 340 and time t).In either case, the input token 235, 335 and the timestamp proof token 240, 340, along with metadata, if present, may be written to the blockchain in box 760. In some examples, the item to be timestamped or the identity of the item to be timestamped may also be written to the blockchain along with the input token 235, 335, the timestamp proof token 240, 340, and metadata, if present.
[0074]
[0086] In the above example, the time stamping device 230, 330 must use each randomly generated quantum state 215, 315 that is received. However, in some examples, the time stamping device 230, 330 may not have an item to be timestamped each time a randomly generated quantum state 215, 315 is received. In such cases, the item to be timestamped may not be obtained / received until time t. In such cases, a pre-determined value or bit string may be used as the input token, or a set / fixed / pre-determined file or other document may be used as a null item to be timestamped. When a set file or document is used, this may be used to determine the input token as normal. The time stamping process may then be performed as normal on the randomly generated quantum state 215, 315 using the input token. This ensures that all of the randomly generated quantum states 215, 315 can be used, even if there is no request for an item to be timestamped at the time of receiving the randomly generated quantum state 215, 315. This further ensures that there is always a new, recent timestamp proof token that can be incorporated into the calculation of the next input token.
[0075]
[0087] As mentioned above, the verifier 210, 310 estimates the time t of receipt of the randomly generated quantum state 215, 315 from the time t' of sending the randomly generated quantum state 215, 315. This estimation can be performed based on the time it takes to transmit the randomly generated quantum state 215, 315 through the quantum channel 220, 320. If the time stamping device 230, 330 is closer to the verifier 210, 310, the quantum state may be received earlier, causing the timestamp to appear later than it actually is, and similarly, if the time stamping device 230, 330 is farther away from the verifier 210, 310, the quantum state may be received later, causing the timestamp to appear earlier than it actually is. One way to overcome this is to have the time stamping device 230, 330 receive multiple randomly generated quantum states from multiple sources at the verifier 210, 310, where the multiple sources are spatially distributed around the time stamping device 230, 330. In one example, two sources may be used, each providing a randomly generated quantum state 215, 315. The two sources may be distributed such that when the time stamping device 230, 330 approaches one source, it moves away from the other source. In another example, three sources may be used, each providing a randomly generated quantum state 215, 315, and the sources may be distributed such that approaching one of the sources means that the time stamping device 230, 330 moves away from at least one of the other sources. All the randomly generated quantum states 215, 315 may then be used for time stamping. In one example, the three quantum states 215, 315 may be entangled or otherwise mixed by non-classical correlations before performing the operation associated with the input token. In another example, the randomly generated quantum states 215, 315 may be mixed or combined with a swap operation to form a quantum state, which is then acted upon by the quantum operation associated with the input token.In further examples, the quantum operation associated with the input token itself defines how the randomly generated quantum states are combined with the input token to define any combination operation. In all cases, multiple randomly generated quantum states can be used as inputs, and the verifier 210, 310 has knowledge of all randomly generated quantum states associated with time t. This ensures that the verifier 210, 310 can verify that the time stamping device 230, 330 has not moved in order to spoof the time stamp associated with time t.
[0076]
[0088] In the above example, the verifier 210, 310 provides the randomly generated quantum state 215, 315 to the time stamping device 230, 330 through the quantum channel 220, 320. The system may also have the verifier 210, 310 provide a classical clock signal to the time stamping device 230, 330 in addition to the randomly generated quantum state 215, 315. This clock signal may be sent via a secure classical channel. This ensures that the verifier 210, 310 and the time stamping device 230, 330 have a common clock, meaning that the time stamping device 230, 330 provides a correct indication of the time t. Methods for establishing a common clock between source and receiver for the measurement of qubits and the identification of which qubits are received and correspond to a given time bin are well known, for example from the field of quantum key distribution. Furthermore, if the quantum state 215, 315 is received over a period of time, for example in the form of several qubits / qudits received in several time bins, the secure shared clock signal means that the verifier 210, 310 and the time stamping device 230, 330 can verify all time bins. When the quantum state 215, 315 is received over a period of time, the time t may be the end of the time period, or may be multiple times / time bins reflecting the time each part of the quantum state (e.g. each qubit or qudit) was received. This may enable the verifier 210, 310 to work out which qubits / qudits were used by the time stamping device 230, 330 as part of the randomly generated quantum state 215, 315. Thus, the randomly generated quantum state 215, 315 may comprise a set of qubits / qudits sent from the verifier 210, 310, and the verifier 210, 310 may not know which qubits / qudits formed the randomly generated quantum state 215, 315 until it receives the time bin for the qubits / qudits from the time stamping device 230, 330.The classical representation of the randomly generated quantum state may comprise a classical representation of each qubit / qudit that is then combined to form a complete classical representation. In other examples, the verifier 210, 310 may send a set of qubits / qudits in multiple time bins and work under the assumption that they are all received by the time stamping device 230, 330. In this case, in some examples, only the time associated with the last received qubit / qudit is used as the time t for the receipt time of the randomly generated quantum state 215, 315. In further examples, the qubits / qudits that form the quantum state may be sent at a single time and the time t may reflect the time when all qubits / qudits are received by the time stamping device 230, 330.
[0077]
[0089] In the above example, the verifiers 210, 310 and the time stamping devices 230, 330 may verify each other before any communication. For example, the verifiers 210, 310 and the time stamping devices 230, 330 may use a classical channel to perform a standard classical verification procedure, such as a classical handshake. Additionally or alternatively, the verifiers 210, 310 and the time stamping devices 230, 330 may use a quantum channel to perform a quantum verification procedure before they start communication.
[0078]
[0090] When photonic qubits are used, creating the time stamp attestation token 240, 240 can use one or more measurement cycles in which a randomly generated quantum state 215, 315 from the verifier 210, 310 is combined with information from the input token 235, 335, the resulting quantum state is measured (sometimes in a fixed basis or sometimes according to values derived from the input token), and these measurements are stored in the time stamp attestation token 240, 340 using a fixed or structured format so that each measurement can be associated with a given time bin and detector or channel. However, due to losses on the (photonic) quantum channel 220, 320, not all inputs from the verifier 210, 310 may arrive successfully at the time stamping device 230, 330. This means that the quantum state being measured will not include input from the missing photon of the randomly generated quantum state 215, 315, and the effect of this is that not all detectors of the quantum computing device 120 of the time stamping device 230, 330 will be activated when performing the measurement 126. This means that fewer detections will be made in each measurement cycle than if no photons had been lost, for example one detection instead of two. There are several ways to deal with this loss.
[0079]
[0091] In one example, losses can be addressed by discarding measurement cycles in which an insufficient number of measurements were recorded. This is suitable for implementations with low losses. In this example, the discarded measurement cycles are recorded in the timestamp attestation token 240, 340 obtained for that cycle.
[0080]
[0092] In another example, losses can be addressed by replacing non-measurements with null values. When there are no measurements of qubits / qudits obtained during the measurement phase 126, a null value may simply be recorded in the timestamp proof token 240, 340 where a measurement would normally be located. When verifying, it is understood by the classical computing device 130 of the verifier 210, 310 that a null measurement is a measurement cycle that cannot be fully verified. However, if there are partial measurements available in the timestamp proof token 240, 340 during a measurement cycle, it is still possible to verify their compatibility with the input token 235, 335.
[0081]
[0093] In a further example, it is possible to establish whether a photon carrying a random qubit / qudit arrived without disturbing the quantum information held therein. For example, the quantum channel 220, 320 may comprise several separate channels (spatial or frequency channels) through which the qubits / qudits are sent from the verifier 210, 310. Quantum non-demolition (QND) measurements are used for each channel in each time bin, and an optical switch is used to direct successfully arriving photons to be used by the quantum computing device 120 of the time stamping device 230, 330 as part of the randomly generated quantum state 215, 315. The channel used to obtain the photon is recorded by the classical computing device 110 of the time stamping device 230, 330 as metadata associated with the time stamp proof token 240, 340. Both the metadata and the timestamp attestation token 240, 340 are provided to the verifier 210, 310 so that it can later identify which qubits / qudits from the input (random) stream were used to create this portion of the randomly generated quantum state 215, 315 and therefore the timestamp attestation token 240, 340. In some examples, the metadata is incorporated into the timestamp attestation token 240, 340 rather than being stored with the timestamp attestation token 240, 340.
[0082]
[0094] Referring now to FIG. 5, a flow chart outlining a particular method 400 according to the present disclosure is depicted. A verifier 410 generates a classical timestamp 405 and a randomly generated quantum state 415 and sends both to a timestamp device. The timestamp device takes the item to be timestamped 401 and uses it to obtain an input token 435. A first portion of the input token is then used to prepare 437 a set of qubits for the input quantum state. A second portion of the input token is used to determine a quantum circuit 433 that operates on the randomly generated quantum state 415 and the input quantum state. A third portion of the input token 435 is used to set a basis for measuring 450 the output of the quantum circuit 433. Once the randomly generated quantum state 415 is received, the quantum circuit 433 operates on the qubits from the randomly generated quantum state and qubit preparation 437, for example, by entangling or otherwise mixing (e.g., by a swap operation) the qubits from the two quantum states. The output of the quantum circuit is acted upon by a measurement device 450 which measures the qubit in a basis determined by the third part of the input token 435. This results in a classical output in the form of a timestamp attestation token. In box 440, the timestamp attestation token is recorded along with a classical timestamp 405 which provides an indication of the time t corresponding to the timestamp, and the item to be timestamped 401. Figure 5 thus outlines a method of timestamp giving in a timestamp giving device, where the input token 435 is used in all the methods described above.
[0083]
[0095] FIG. 6a shows an example of a verifier 510, such as verifiers 210, 310, 410. In FIG. 6a, both quantum and classical components of the verifier 510 are shown. The verifier may be housed in a secure enclosure 570, which may be a secure, tamper-proof enclosure. The verifier 510 may comprise a classical clock oscillator 571 that drives a classical counter / clock 572. The classical counter / clock 572 provides a classical timestamp 580 to a time-stamping device or any other entity. The verifier 510 also comprises a random token generator 573. This random token generator 573 may be classical, e.g., a classical random number generator, or quantum, e.g., a quantum random number generator. Even when the random token generator 573 is quantum, its output may be classical. The random token generator 573 may output a classical representation 576 of a quantum state. The output of the random token generator 573 and the counter / clock 572 may be used by the quantum state preparer 575 to prepare a randomly generated quantum state 515 based on the random output of the random token generator 573. This may be done using the methods described above. In some examples, a classical digital signature generator 574 may be used to sign the outputs of the random token generator 573 and the counter / clock 572 before they are provided to the quantum state preparer 575. However, in other examples, the classical digital signature generator 574 may not be included and the time stamping device 230, 330 trusts that the verifier 510 has not been replaced with a different device. In other examples, it is sufficient to perform periodic measurements of the length and loss characteristics of the quantum channel 220, 320 (e.g., using standard methods of optical time domain reflectometry) to satisfy that the verifier 510 is still in an unchanged location and therefore presumably still trustworthy. In a further example, a way to provide some authentication of the quantum channel 220, 320 is for the verifier 510 to compute and send additional quantum bits.When these additional qubits are combined with other random qubits in the time stamping device 230, 330, for example using a CNOT gate (with a delay line if necessary to synchronize the inputs), they provide a sequence of deterministic measurements. These deterministic measurements form a digital signature of the string, for example the digital signature of the verifier 510, formed using a private key known to the verifier 510, which is identifiable, for example using a certificate authority that holds a corresponding public key that can be used to check the signature. Generating this signature in the time stamping device 230, 330 means choosing to use a block of qubits from the random input stream for purposes of authentication rather than time stamping, although the time stamping device 230, 330 can choose to do this at irregular and unpredictable intervals to authenticate the verifier 510.
[0084]
[0096] In yet a further example, an optical physical unclonable function (PUF) is used on the optical channel 220, 320 between the verifier 510 and the time stamping device 230, 330. This is used to provide authentication to the challenge in the form of a pulse, which can be shaped in frequency / momentum and sent through the PUF via the optical channel 220, 320 from a laser at the verifier 510 and back on the optical channel with the reflection received at the verifier 510. The laser can be switched onto the optical channel 220, 320 and can use time or frequency domain multiplexing to prevent interfering with other communications between the time stamping device 230, 330 and the verifier 510. The patterns of dispersion and reflected power as a function of frequency, phase, and / or polarization may be used as a uniquely associated and recognizable fingerprint for the PUF, so that the verifier 510 can recognize the time stamping device 230, 330 by the recognizable PUF held in the time stamping device 230, 330, and conversely, the time stamping device 230, 330 can recognize the verifier 510 by the recognizable PUF signature held in the verifier 510. The same quantum channel 220, 320 used for the transmission of the randomly generated qubits / qudits is used for the identity challenge using the PUF. For this, the verifier 510 and the time stamping device 230, 330 may possess a bidirectional classical channel, which may be used to provide a secure encrypted and authenticated link between the two devices, for example using the TLS (Transport Layer Security) protocol. Through this link it may be agreed when to switch to a complementary mode, such as identity verification using the PUF. The verifier 510 may control one or more optical switches used to switch the PUF into a round trip path between the time stamping device 230, 330 and the verifier 510 to provide a measurement of the PUF before a challenge pulse is sent by the time stamping device 230, 330.
[0085]
[0097] The quantum state preparer 575 may then send the randomly generated quantum state 515 to the time stamping device. In some implementations, the output of the random token generator 573 may be quantum and synchronous, in which case it may also provide the functionality of the quantum state preparer 575. However, the verifier 510 may keep a copy or representation of each random qubit / qudit sent, which may be identified according to the time bin and channel it was sent on. This may be accomplished by taking a classical random state from the random token generator 573 (which may be the classical output of a quantum random number generator) and using the quantum state preparer 575 to prepare the randomly generated quantum state 515. In one example, a single bit may be used to select between 0 in the computational basis and 0 in the rotational basis. More generally, two random classical bits may be used to select between 0 or 1 qubits in the computational or rotational basis, and if higher dimensional qudit states are used in an implementation, a larger number of classical bits may be used to select the state.
[0086]
[0098] Although the above examples assume that the verifier 210, 310, 410, 510 serves a single time stamping device 230, 330, this is by no means necessary. Fig. 6b shows a system 500 with a verifier 510 and multiple time stamping devices 530a-530d. Although Fig. 6b shows four time stamping devices 530a-530d, another number of time stamping devices may be used. In Fig. 6b, the quantum state is encoded into a photonic qubit / qudit. Fig. 6b shows how a beam splitter 590 can be used to split the photonic quantum channel 520 to split the quantum channel 520 among multiple time stamping devices 530a-530d. The use of classical timestamps 580 ensures that each timestamp device 530a-530d knows when it received a qubit / qudit, allowing the verifier 510 to estimate the random quantum state received by each timestamp device 530a-530d based on the received qubit / qudit. In some implementations, the timestamp devices 530a-530d may buffer received qubits / qudits until they have enough qubits / qudits to be used in combination with the input token to form a timestamp proof token. One exemplary implementation uses 10-1000 received qubits to form each timestamp proof token, with the use of a larger number of qubits corresponding to a lower threshold probability that the timestamp proof device can forge a different input token that is still compatible with the corresponding timestamp proof token. If an implementation uses qudits rather than qubits, the required number of qudits input to the calculation and measurement of the timestamp proof token may be smaller. If buffering is used, the time delay associated with the buffering may be a function of the channel loss plus the splitter loss and may be taken into account when calculating the delay between the time at the source of the stream of random quantum states and the time at the time stamping device.Quantum non-demolition measurements can be used to detect if photons have arrived and direct them towards the buffer memory. The beam splitter 590 is passive and provides a fair division of the prepared qubits / qudits. The beam splitter 590 can be a multi-stage beam splitter formed from an assembly of two-way beam splitters. In another example, the verifier 510 can have multiple quantum channels 520, with one or more quantum channels each connecting to a different time stamping device 530a-d. This can reduce losses and therefore the need for buffering, but at the cost of requiring extra quantum channels.
[0087]
[0099] 7a, an example of an apparatus that may be used to implement the above-mentioned method can be seen. The above-mentioned method can be implemented in a system 600 comprising a time stamping device 630 and a verifier 610. The time stamping device 630 can comprise a classical computing device 110 and a quantum computing device 120. Similarly, the verifier 610 can comprise a classical computing device 130 and a quantum computing device 140. The classical computing devices 110 and 130 can be connected via a classical channel 601, and the quantum computing devices 120 and 140 can be connected via a quantum channel 602. The classical computing device 110 can be configured to interact with or control the quantum computing device 120. Similarly, the classical computing device 130 can be configured to control or interact with the quantum computing device 140.
[0088]
[0100] As shown in FIG. 7b, quantum computing devices 120 and 140 may take the form of quantum computing device 800. Quantum computing device 800 comprises a quantum processor 802 capable of implementing quantum operations on quantum states, and possibly a quantum memory 808 that stores quantum states generated by quantum processor 802 or operated on by quantum processor 802. The quantum computer may also comprise a measurement device 812 capable of performing quantum measurements on quantum states stored in quantum memory 808 or generated by quantum processor 802. Quantum processor 802, quantum memory 808, and quantum measurement device 812 may all interact with classical computing device 840. Classical computing device 840 may control the operations performed by quantum processor 802, either by providing suitable circuitry or otherwise indicating the operations that quantum processor 802 performs to implement quantum gates. Classical computing device 840 may also interact with quantum memory 808 to control when memory 808 loads or reads quantum states. Classical computing device 840 can also interact with and drive measurement circuit 812 to measure the quantum state. Classical computing device can also cause quantum processor 802 and / or quantum memory 808 to implement quantum error correction, such that, for example, a quantum gate behaves as an improved quantum gate.
[0089]
[0101] As shown in FIG. 7c, classical computing devices 110 and 130 may take the form of a classical computing-based device 900. Computing-based device 900 includes one or more processors 902, which may be a microprocessor, a controller, or any other suitable type of processor for processing computer-executable instructions to control the operation of the device to implement the classical operations of the methods described above. In some examples, for example, when a system-on-chip architecture is used, processor 902 may include one or more fixed function blocks (also called accelerators) that implement parts of the classical methods in hardware (rather than software or firmware). Platform software including an operating system 904 or any other suitable platform software may be provided to the computing-based device to enable application software 906 to run on the device.
[0090]
[0102] Computer-executable instructions may be provided using any computer-readable medium accessible by the computing-based device 900. Computer-readable media may include, for example, computer storage media, such as memory 908, and communication media. Computer storage media, such as memory 908, include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other non-transmission media that may be used to store information for access by a computing device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism. As defined herein, computer storage media does not include communication media. Although computer storage media (memory 908) is shown within computing-based device 900, it is understood that the storage may be distributed or remotely located and may be accessed via a network or other communications link (e.g., using communications interface 910).
[0091]
[0103] Computing-based device 900 also includes an input / output interface 912 arranged to output display information to a display device 914, which may be separate or integral to computing-based device 900. The display information may provide a graphical user interface. Input / output interface 912 is also arranged to receive and process input from one or more devices, such as a user input device 916 (e.g., a mouse or keyboard) and quantum computing devices, such as quantum computing devices 120 and 140. In one example, display device 914 may also act as user input device 916 if it is a touch-sensitive display device. Input / output interface 912 may also output data to devices other than a display device, such as a locally connected printing device (not shown in FIG. 7c), or quantum computing devices, such as quantum computing devices 120 and 140.
[0092]
[0104] The methods disclosed herein can optionally be performed with a trusted verifier located on a synchronous channel with the time stamping device, but with a third party interested in the value of the time stamp located on an asynchronous (or less synchronous) channel (e.g., connected over multiple Internet hops). This scenario provides for accurate synchronization commitments that can be issued over higher latency links (e.g., over the Internet) where third parties are located.
[0093]
[0105] Note that it is not necessary for a trusted verifier to retain a representation of a randomly generated quantum state indefinitely; this information may instead be discarded once the verifier has confirmed and published a verification of the timestamp. Alternatively, a timekeeping device could publish the commitment transaction and commitment token in an immutable manner (e.g., on a digital ledger such as a blockchain), and the verifier could then publish the associated private quantum bit stream value to an immutable data store (e.g., the same blockchain) for use by one or more independent verifiers to check the commitment token value.
[0094]
[0106] Furthermore, it is sufficient for the verifier to only have randomly generated samples of the representation of the quantum state, since the timekeeping device cannot predict which samples will be held and therefore cannot take advantage of the fact that some information is not checkable.
[0095]
[0107] The term "computer" is used herein to refer to any device having processing capabilities such that it is capable of executing instructions. Those skilled in the art will appreciate that such processing capabilities may be incorporated in many different devices, and thus the term "computer" includes PCs, servers, mobile phones, personal digital assistants, and many other devices.
[0096]
[0108] Those skilled in the art will appreciate that storage devices utilized to store program instructions may be distributed across a network. For example, a remote computer may store an example of a process described as software. A local or terminal computer may access the remote computer and download some or all of the software to execute the program. Alternatively, a local computer may download parts of the software as needed, or execute some software instructions at a local terminal and some at a remote computer (or computer network). Those skilled in the art will also appreciate that all or part of the software instructions may be implemented by dedicated circuitry, such as, for example, a DSP or a programmable logic array, by utilizing conventional techniques known to those skilled in the art.
[0097]
[0109] Reference to "an" item refers to one or more of those items. The term "comprising" is used herein to mean including identified method blocks or elements, but such blocks or elements do not comprise an exclusive list; an apparatus may include additional blocks or elements, and a method may include additional operations or elements. Moreover, blocks, elements, and operations are not implicitly closed on their own.
[0098]
[0110] The steps of the methods described herein may be performed in any suitable order, or simultaneously if necessary. The arrows between boxes in the figures show one example sequence of method steps, but are not intended to exclude other sequences or the execution of multiple steps in parallel. Furthermore, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the above examples may be combined with aspects of any of the other examples described to form further examples without losing the effect sought. Where elements of a figure are shown connected by arrows, it will be understood that these arrows are merely an example of the flow of communication (including data and control messages) between the elements. Flow between elements may be in either or both directions.
[0099]
[0111] Where the description explicitly discloses several individual features in isolation, any obvious combination of two or more such features is also deemed to be disclosed, regardless of whether such feature or combination of features solves any problem disclosed herein, so long as such feature or combination is obvious and can be implemented based on the entire specification in light of the common general knowledge of a person skilled in the art. In light of the foregoing description, it will be apparent to a person skilled in the art that various modifications can be made within the scope of the present invention.
Claims
1. 1. A method of time stamping an item in a time stamping device comprising a classical computing device and a quantum computing device, comprising: In the classical computing device, obtaining the time-stamped item; determining an input token based on the retrieved items; In the quantum computing device, receiving a randomly generated quantum state from a verifier over a quantum channel, wherein the randomly generated quantum state is received at time t; Equipped with The method comprises using the time stamping device to combine the randomly generated quantum state with the input token to produce a time stamp authentication token associated with the time t.
2. 2. The method of claim 1 , wherein using the time stamping device to combine the randomly generated quantum state with the input token comprises performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token, and performing quantum operations on the randomly generated quantum state comprises measuring the randomly generated quantum state to obtain the time stamp attestation token associated with the time t.
3. performing quantum operations on the randomly generated quantum states such that at least some of the quantum operations are related to the input token; using the input token to determine a sequence of measurement bases for measuring the randomly generated quantum state, thereby measuring the randomly generated quantum state to obtain the time stamp proof token based on the input token. The method of claim 2.
4. determining, at the classical computing device, an input quantum state from the input token; providing a quantum register at the quantum computing device for the input quantum state; Further comprising: performing the quantum operations on the randomly generated quantum states received from the verifier such that at least some of the quantum operations are associated with the input token further comprises using a sequence of quantum gates to mix the input quantum state with the randomly generated quantum state prior to measuring the randomly generated quantum state. The method according to claim 2 or 3.
5. performing quantum operations on the randomly generated quantum states such that at least some of the quantum operations are related to the input token; determining, at the classical computing device, a sequence of quantum operations based on the input token; implementing, at the quantum computing device, the determined sequence of quantum operations on the randomly generated quantum state prior to measuring the randomly generated quantum state; The method according to any one of claims 2 to 4, comprising:
6. Within a threshold time period of obtaining the timestamp authentication token, the time stamp authentication token; and the timestamped item and / or the input token to the verifier; receiving a confirmation of validity and / or receipt of the timestamp certification token in response to sending the timestamp certification token to the verifier; The method of any one of claims 1 to 5, further comprising:
7. receiving a request from the verifier for at least a portion of the timestamp proof token; In response to said request, said at least a portion of said time stamp verification token; and the timestamped item and / or the input token to the verifier; The method of any one of claims 1 to 6, further comprising:
8. Determining an input token based on the obtained items includes: determining the input token in dependence at least in part on a previous time stamp evidence token within the item to be timestamped or the input token; The method according to any one of claims 1 to 7.
9. Determining the input token in dependence at least in part on a previous time stamp proof token within the item to be timestamped or the input token may include hashing said at least a portion of said previous timestamp verification token; incorporating the hash of the at least a portion of the previous timestamp certification token into the item to be timestamped or into the input token; The method of claim 8 comprising:
10. storing the timestamp attestation token in a distributed ledger; determining the input token in dependence upon at least a portion of a previous time stamp proof token within the timestamped item or the input token comprises incorporating a previous entry of the distributed ledger into the timestamped item or the input token.
10. The method according to claim 8 or 9.
11. Obtaining the timestamped item includes: Receiving a timestamped item before time t, or obtaining a predetermined value for a timestamped item when the timestamped item has not been received by time t; The method according to any one of claims 1 to 10, comprising:
12. Receiving a randomly generated quantum state from a verifier comprises receiving a first randomly generated quantum state from a first source at the verifier, the method comprising: In the quantum computing device, receiving a second randomly generated quantum state from a second source at the verifier over a quantum channel, wherein the second randomly generated quantum state is received at a time t; Further comprising: performing the quantum operations on the randomly generated quantum states such that at least some of the quantum operations are related to the input token comprises performing the quantum operations on the first randomly generated quantum state and the second randomly generated quantum state such that at least some of the quantum operations are related to the input token; the first and second sources of verifiers are spatially distributed around the time stamping device; The method according to any one of claims 2 to 11.
13. 1. A method for providing a randomly generated quantum state to a time stamping device, the method being performed at a verifier, the verifier comprising a classical computing device and a quantum computing device, the method comprising: In the quantum computing device, providing said randomly generated quantum state; sending said randomly generated quantum state to said time stamping device; In the classical computing device, recording a representation of the randomly generated quantum state; and recording the time t′ at which the randomly generated quantum state was sent to the time stamping device; A method comprising:
14. At the classical computing device of the verifier, receiving an indication of a time t, a time stamp certification token associated with said time t, and an item and / or input token to be timestamped; determining a time t″ based on the time t, where the time t″ represents a time at which a randomly generated quantum state received at the time t at the time stamping device would have been sent from the verifier; looking up a classical representation of a randomly generated quantum state associated with said time t"; performing a classical simulation of the quantum operations performed by the time stamping device; verifying that time t" coincides with time t' based on the results of the classical simulation; The method of claim 13 further comprising:
15. 1. A time stamping device for time stamping an item, comprising: Obtaining the item to be timestamped; determining an input token based on the retrieved items; A classical computing device configured to perform receiving a randomly generated quantum state from a verifier over a quantum channel; wherein the randomly generated quantum state is received at time t. Equipped with The time stamping device is configured to combine the randomly generated quantum state with the input token to produce a time stamp authentication token associated with the time t.
16. A verifier for providing a randomly generated quantum state to a time stamping device, comprising: providing said randomly generated quantum state; sending said randomly generated quantum state to said time stamping device; A quantum computing device configured to: recording a representation of said randomly generated quantum state and the time t′ at which said randomly generated quantum state was sent to said time stamping device; A classical computing device configured to perform Be prepared, verifier.
17. 17. The verifier of claim 16, configured to perform a link latency calibration to determine a latency for sending the randomly generated quantum state to the time stamping device, and to randomly repeat the link latency calibration.
18. a time stamping device for time stamping an item; a verifier for providing a randomly generated quantum state to the time stamping device; Equipped with The time stamping device obtaining the time-stamped item; determining an input token based on the retrieved items; A classical computing device configured to perform receiving the randomly generated quantum state from the verifier over a quantum channel; wherein the randomly generated quantum state is received at time t. Equipped with the time stamping device is configured to combine the randomly generated quantum state with the input token to produce a time stamp attestation token associated with the time t; The verifier: providing said randomly generated quantum state; sending said randomly generated quantum state to a time stamping device; A quantum computing device configured to: recording a representation of said randomly generated quantum state and the time t′ at which said randomly generated quantum state was sent to said time stamping device; A classical computing device configured to perform Prepare the system.
19. 1. A method performed using a time stamping device and a verifier, comprising: In a classical computing device of the time stamping device, Obtaining a time-stamped item; determining an input token based on the retrieved items; In the quantum computing device of the time stamping device, receiving a randomly generated quantum state from the verifier over a quantum channel, where the randomly generated quantum state is received at time t; Equipped with The method includes using the time stamping device to combine the randomly generated quantum state with the input token to produce a time stamp authentication token associated with the time t; providing said randomly generated quantum state to said time stamping device; In the verifier's quantum computing device, providing said randomly generated quantum state; sending said randomly generated quantum state to said time stamping device; In the verifier's classical computing device, recording a representation of the randomly generated quantum state; and recording the time t′ at which the randomly generated quantum state was sent to the time stamping device; and using the verifier by
Citation Information
Patent Citations
Trusted timestamping for IoT devices
EP3654603A1
Quantum public key cryptosystem, key generation device, encryption device, decoder, key generating method, encryption method, and decoding method
JP2011130120A
Time-stamping of detected radiation quanta
JP2016513788A
Communication apparatus, quantum key delivery system, quantum key delivery method and program
JP2017175320A
Quantum tokens
US20210111883A1