A computer-implemented method for determining a quantum circuit, a computer-implemented method for determining a permutated sequence of digits, a computer-implemented method for encrypting or decrypting a sequence of digits, related computer program product, computer-readable medium, devices, and systems
Transforming permutations into quantum circuits allows quantum computers to efficiently perform encryption, decryption, and data compression tasks, while classical computers face difficulties, enhancing computational efficiency and security.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- QMILL OY
- Filing Date
- 2025-12-19
- Publication Date
- 2026-06-25
AI Technical Summary
Existing quantum computing algorithms lack efficient methods to leverage quantum advantage for tasks such as encryption, decryption, and data compression, and classical computers struggle to implement certain permutations efficiently.
A method to transform permutations into quantum circuits, enabling efficient implementation on quantum computing devices while making it difficult for classical computers to perform the same tasks, utilizing unitary matrices and quantum gates to determine a second permutation entity that represents a quantum circuit.
Enables secure encryption and decryption processes that require quantum computers, efficient data compression, and generation of pseudorandom numbers, leveraging quantum superposition for improved computational efficiency.
Smart Images

Figure FI2025060195_25062026_PF_FP_ABST
Abstract
Description
[0001] A COMPUTER-IMPLEMENTED METHOD FOR DETERMINING A QUANTUM CIRCUIT, A COMPUTER-IMPLEMENTED METHOD FOR DETERMINING A PERMUTATED SEQUENCE OF DIGITS, A COMPUTER-IMPLEMENTED METHOD FOR ENCRYPTING OR DECRYPTING A SEQUENCE OF DIGITS, RELATED COMPUTER PROGRAM PRODUCT, COMPUTER-READABLE MEDIUM, DEVICES, AND SYSTEMS
[0002] TECHNICAL FIELD OF THE INVENTION
[0003] The invention relates to quantum computing in general. More specifically, the invention relates to a computer-implemented method for determining a quantum circuit appliable on n quantum elements, where a second permutation entity, indicative of a quantum circuit, is determined based on an obtained first permutation entity, wherein the first permutation entity is indicative of a first permutation, the permutation comprising at least one permutation or partial permutation appliable to a sequence of digits of length n.
[0004] BACKGROUND OF THE INVENTION
[0005] Quantum computers are foreseen as being useful relating to various types of applications. Many of the applications, and especially those providing quantum advantage, are yet still left undetermined. In general, it would be beneficial to find new solutions where the use of quantum computers may provide a useful tool.
[0006] Relating to cryptography applications, many methods rely only on classical computers, while involving also a quantum computer could yield a solution that is more secure. If decryption or encryption is only possible with a quantum computer, then the party that is able to do this must have a quantum computer, the availability of which is still limited. Thus if encryption or decryption is only feasible with a quantum computer, a counterparty may be given assurance that the party implementing the method does have access to a quantum computer.
[0007] Currently the types of algorithms proven to provide computational advantage for quantum computers is scarce. On one hand, quantum Fourier transform, Grovers algorithm, HHL algorithm, and their utilizations such as the Shor’s algorithm can be proven to provide computational advantage with known use cases but the quantum resources they require are vast. On the other hand, heuristic algorithms such as variational quantum eigensolver and quantum adiabatic optimization algorithm can be solved in a classically intractable way but cannot be mathematically proven to provide quantum advantage because they rely on an optimization that has an unknown number of iterations.
[0008] SUMMARY OF THE INVENTION
[0009] An object of the invention is to alleviate at least some of the problems in the prior art. An object of the invention is to provide solutions where use of a quantum computer may be beneficial. In accordance with one aspect of the present invention a computer-implemented method is provided for determining a quantum circuit appliable on n quantum elements, wherein the method comprises
[0010] - obtaining a first permutation entity, wherein said first permutation entity is indicative of a first permutation Pn, said first permutation Pncomprising at least one permutation or partial permutation appliable to a sequence of digits of length n,
[0011] - determining a second permutation entity, wherein said second permutation entity is indicative of a quantum circuit appliable on n quantum elements, wherein the quantum circuit corresponds to the first permutation Pn, said quantum circuit corresponding to a sequence of unitary operators, wherein the second permutation entity is determined by transforming the first permutation Pninto a unitary matrix and determining the second permutation entity based on the unitary matrix, and
[0012] - providing the second permutation entity as an output to enable implementing the first permutation by utilizing n quantum elements on a quantum computing device, wherein the second permutation entity comprises the determined unitary matrix or wherein the second permutation entity comprises a quantum circuit determined based on the unitary matrix.
[0013] The invention is based on the realization that transforming a permutation or partial permutation appliable to a sequence of digits into a quantum circuit may provide several advantageous uses. A quantum circuit may refer to a control sequence for performing a series of e.g. qubit interactions on a plurality of quantum elements on a quantum computing device. A second permutation entity, or a corresponding quantum circuit, may comprise information that enables a quantum computing device to implement the first permutation Pnefficiently, while if a classical computing device obtains the second permutation entity, the implementation of the first permutation Pnbased thereon is more difficult than for a quantum computing device, possible unfeasible in some cases.
[0014] The core of the invention may be considered as a method where a permutation may be mapped into a sequence of operators, each of which may promote quantum superposition and hence not natively fitting classical computers, but when all operators in the sequence are executed on a quantum computer, the original permutation is retrieved.
[0015] A deterministic function from a string m of classical digits may be formulated to the set permutations {P_k^(n)}
[0016]
[0017] on the space of n-bit strings such that executing the function on a classical computer is difficult, while executing the function on a quantum computer is easier.
[0018] The method is applicable e.g. in cryptography applications or for generation of pseudorandom numbers.
[0019] For example, it may be possible to hide classical information (given by the first permutation) into a quantum circuit, whereby the classical information is retrievable from the quantum circuit only through use of a quantum computing device.
[0020] The method of determining a quantum circuit may be carried out at a first computing device, where the first computing device is a classical computing device or is being used as a classical computing device.
[0021] Providing the second permutation entity as an output may refer to transmitting information regarding the second permutation entity to a further computing device, for example, or otherwise making the second permutation entity available for use at a further computing device, such as a sequencedetermining computing device. Providing the second permutation entity as an output may alternatively refer to the first computing device causing implementation of the second permutation entity as a quantum circuit on a quantum computing device. Providing the second permutation entity as an output may refer to the first computing device outputting signals to a quantum computing device which execute the quantum circuit on the quantum computing device.
[0022] If the second permutation entity is a quantum circuit, the second permutation entity may be determined by utilizing a decomposition method on the unitary matrix.
[0023] The first permutation entity may for instance be obtained as input from a first user, stored in a database, or received from an external source.
[0024] The second permutation entity may be indicative of a quantum circuit appliable on n quantum elements, wherein the quantum elements are qubits or qudits. In the case of qubits, the sequence of digits considered may be a binary sequence of digits, while in the case of qudits with d states, the first permutation may act on strings comprising numbers 0...d-1.
[0025] The first permutation Pnmay comprise a permutation on the set of all strings of the sequence of digits of length n.
[0026] The second permutation entity may be provided for encrypting a sequence of digits or decrypting an encrypted sequence of digits. The sequence of digits of length n may correspond to the sequence of digits to be encrypted or decrypted. An initial state of the n quantum elements may be specifiable by the sequence of digits to be encrypted or decrypted.
[0027] In one embodiment, the invention may use permutations given by a (preferably post-quantum) public key cryptosystem. Both encryption and decryption may then correspond to permutations. If only either a decryption or encryption permutation is transformed into a quantum circuit, then this part of the encryption protocol may only be carried out with a quantum computing device.
[0028] The first permutation entity may be associated with a public key and the second permutation entity may be usable for encrypting a sequence of digits. Alternatively, the first permutation entity may be associated with a private key and the second permutation entity is usable for decrypting a sequence of digits. The method may also be used in connection with a private key cryptosystem, wherein the first permutation entity is associated with a private key and the second permutation entity is usable for decrypting a sequence of digits.
[0029] The method may be usable in connection with a data compression method, wherein the first permutation entity is indicative of a permutation to be applied on data that is to be compressed, wherein the second permutation entity is configured to enable retrieval of the first permutation exactly, partly or approximatively.
[0030] The first permutation Pnmay be determined as Pn=⊗kσ̂xq, where σ̂xis the Pauli-X matrix and qkis the kth digit of a random n-bit string q, wherein the second permutation entity is determined as being indicative of P̂q= Û1Û2by taking a random n-digit sequence θ = (θ1θ2...θn), where each θk∈ [0,2π) and defining Û1=⊗kRx(θk) and Û2=⊗kRx(qkπ - θk), where Rxrefers to an x rotation of a single quantum element.
[0031] The first permutation Pnmay be determined as P̂n= ∏kP̂s, where ∑ksk= 1. The first permutation may be a permutation that applies a bitwise exclusive OR (XOR) operation between an input bitstring and a predetermined bitstring q. This may then be split into two by using a random sequence of angles 9 as specified above. Unitary matrices corresponding to the sequence of angles 9 may be transformed into a quantum circuit.
[0032] The sequence of unitary operators may yield a polynomial superposition of permutation operators. For instance, the first permutation entity may comprise or relate to polynomially many classical permutations, while the second permutation entity may be determined so that it is implementable as a single quantum circuit. On the other hand, the first permutation entity could comprise or relate to a single first permutation, and a determined second permutation entity is implementable as a quantum circuit that implements the first permutation “imperfectly” in such a way that the quantum circuit corresponds to some polynomial superposition of permutations. This can be useful in practical applications, as implementing a permutation operation imperfectly might require much simpler quantum circuit compared to one that implements said permutation perfectly. The sequence of unitary operators may yield a state transformation such that only a given polynomial number of initial states is mapped to a polynomial number of final states. This may simplify an associated quantum circuit.
[0033] The method may comprise acting on the first permutation Pnwith one or more auxiliary permutations from the left, middle, and / or right before determining the second permutation entity based on the first permutation entity. A properly chosen auxiliary permutation may result in a second permutation entity that is harder for a classical computing device to implement.
[0034] One aspect of the invention relates to a computer-implemented method for determining a permutated sequence of digits of length n, the method comprising
[0035] - obtaining a second permutation entity determined according to the method described herein,
[0036] - facilitating preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of n quantum elements correspond to a sequence of digits of length n,
[0037] - facilitating execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitating execution of a quantum circuit determined based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitating measurement of states of the n quantum elements after executing the quantum circuit, and
[0038] - utilizing the measured states of the quantum elements to determine a permutated sequence of digits of length n.
[0039] The method may be carried out at a sequence-determining device, where the sequence-determining device is a classical computing device or is being used as a classical computing device. The sequence-determining computing device may be the first computing device.
[0040] The method may be utilized for generating a pseudorandom number, the method comprising sequentially executing the quantum circuit on the quantum computing device and extracting at least a portion of the digits of the permutated sequence of digits to obtain a pseudorandom number.
[0041] The method may be used to stretch a shorter random sequence, or a sequence provided by the user, of n digits into a longer pseudorandom sequence of digits, optionally employable in encryption, for example as a part of a stream cipher.
[0042] The method may comprise sequentially executing the quantum circuit on the quantum computing device and measuring states of the n quantum elements after executing the quantum circuit, wherein a final state of a previous execution is used as an initial state for a subsequent execution.
[0043] Preparing an initial state of the n quantum elements on the quantum computing device is carried out at least before a first execution of the quantum circuit. The initial state may depend on the use case and may be determined based on information obtained e.g. from a user or from a first computing device. The initial state may correspond to an encrypted message or a message that is to be encrypted, for example. The initial state may be a computational basis state that corresponds to a seed. In general, the initial state may be a computational basis state, or a polynomial superposition thereof.
[0044] A computer-implemented method for encrypting or decrypting a message is also provided, the method comprising
[0045] - obtaining a second permutation entity determined according to the method described herein,
[0046] - facilitating preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of the n quantum elements correspond to a sequence of digits of length n which is to be encrypted or decrypted,
[0047] - facilitating execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitating execution of a quantum circuit based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitating measurement of states of the n quantum elements after executing the quantum circuit, and
[0048] - utilizing the measured states of the quantum elements to determine a permutated sequence of digits of length n as an encrypted message or a decrypted message.
[0049] The method may be carried out at an encrypting computing device or a decrypting computing device, where the encrypting computing device or decrypting computing device is a classical computing device or is being used as a classical computing device. The encrypting computing device or decrypting computing device is optionally the first computing device.
[0050] The invention further relates to a computer program product and computer-readable medium.
[0051] In yet a further aspect of the invention, a first computing device for determining a quantum circuit appliable on n quantum elements is provided, wherein the first computing device is configured to
[0052] - obtain a first permutation entity, wherein said first permutation entity is indicative of a first permutation Pn, said first permutation Pncomprising at least one permutation or partial permutation appliable to a sequence of digits of length n,
[0053] - determine a second permutation entity, wherein said second permutation entity is indicative of a quantum circuit appliable on n quantum elements, wherein the quantum circuit corresponds to the first permutation Pn, said first permutation comprising at least one permutation or partial permutation appliable to a sequence of digits of length n, said quantum circuit corresponding to a sequence of unitary operators, and
[0054] - provide the second permutation entity as an output to enable implementing the first permutation by utilizing n quantum elements on a quantum computing device.
[0055] In one more aspect, a sequence-determining computing device is provided, being configured to
[0056] - obtain a second permutation entity,
[0057] - facilitate preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of n quantum elements correspond to a sequence of digits of length n,
[0058] - facilitate execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitate execution of a quantum circuit determined based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitate measurement of states of the n quantum elements after executing the quantum circuit, and utilize the measured states of the quantum elements to determine a permutated sequence of digits of length n.
[0059] Further aspects of the invention relate to a system comprising at least a first computing device. A system may also comprise a quantum computing device. Furter embodiments of systems may comprise also a sequence-determining computing device.
[0060] The novel features which are considered as characteristic of the invention are set forth in particular in the appended claims. The invention itself, however, both as to its construction and its method of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific example embodiments when read in connection with the accompanying drawings.
[0061] BRIEF DESCRIPTION OF THE DRAWINGS
[0062] Next the invention will be described in greater detail with reference to exemplary embodiments in accordance with the accompanying drawings, in which:
[0063] Figure 1 illustrates a flow chart of a method for determining a quantum circuit,
[0064] Figure 2 shows a flow chart of a method for determining a permutated sequence of digits,
[0065] Figure 3 depicts a flow chart of a method for determining a pseudorandom number,
[0066] Figure 4 shows an example of a system, and
[0067] Figure 5 shows a further example of a system.
[0068] DETAILED DESCRIPTION
[0069] Figure 1 shows a flow chart of a method for determining a quantum circuit, which may be carried out at a first computing device, which is preferably a classical computing device. A first permutation entity is obtained 102, where the first permutation entity is indicative of a first permutation Pn. The first permutation Pncomprises at least one permutation or partial permutation appliable to a sequence of digits of length n. The first permutation entity may be equivalent to the first permutation Pnor may comprise the first permutation P̂n. The first permutation Pnmay be a permutation operator. In some use cases, the first permutation Pnmay be specified by a user of the first computing device. The first permutation Pnmay also be received from some other source or database. The first permutation Pnmay alternatively be determined at the first computing device based on information received from a user or an external source, for example.
[0070] For instance, in some embodiments the method may be applied to cryptography applications. Here, a known used cryptography standard, such as AES-256 or Rivest-Shamir-Adleman (RSA), may determine the first permutation Pn.
[0071] Any encryption scheme that utilizes a fixed key can be implemented through giving a pair of permutations on (binary) sequences of digits. The pair of permutations correspond to permutations that implement encryption and decryption. Either one can be used as the first permutation Pn, depending on whether encryption or decryption should be carried out by a quantum computing device.
[0072] In other embodiments, the first permutation Pnmay be selected by a user. The first permutation Pnmay comprise a permutation on the set of all strings of the sequence of digits of length n.
[0073] A second permutation entity is then determined 104, based on the first permutation entity, such that the second permutation entity is indicative of a quantum circuit appliable on n quantum elements, wherein the quantum circuit corresponds to the first permutation Pn. The second permutation entity may be a quantum circuit or may comprise information that can be utilized to determine a quantum circuit. The quantum circuit to be determined corresponds to a sequence of unitary operators.
[0074] At 106, the second permutation entity is provided, preferably as a computer-readable output, which enables implementing the first permutation by utilizing n quantum elements on a quantum computing device. The second permutation entity may be determined by transforming the first permutation into a unitary matrix and determining the second permutation entity based on the unitary matrix. For example, the first permutation Pnmay be transformed into a dnx dnpermutation matrix, which is a unitary matrix. The second permutation entity or a quantum circuit based on the second permutation entity may be determined by utilizing a decomposition method on the unitary matrix, to obtain a sequence of quantum gates (a quantum circuit) that may be executed on a quantum computing device.
[0075] A decomposition method may be selected to determine a quantum circuit which is readily executable on a quantum computing device but based on which it is cumbersome to retrieve the first permutation using a classical computing device.
[0076] The first permutation Pnmay be written as Pn= ∏k=1MÛk, where Ukare quantum gates including non-Clifford gates, each uniquely determined by a sequence of digits bk. Starting from an initial state |i) of the quantum register, i.e. the quantum state of the quantum elements n before executing the quantum circuit, and executing the gates Ûkone by one on a quantum computing device yields |
[0077]
[0078] / ) = |Pn(0) = Pn\i). When the quantum circuit is executed a plurality of times with different initial states, a function f({bk}k) = B(Pn) may be determined, where the function B(Pn) is a function that converts a classical permutation operator into a sequence of digits.
[0079] In one embodiment of the invention, the first permutation Pnmay be determined as Pn=⊗kσ̂xq, where qkis the / cth digit of a random n-bit string q, wherein the second permutation entity is determined as being indicative of P̂q= Û1Û2by taking a random n-digit sequence θ = (θ1θ2... θn), where each θk∈ [0,2π) and defining Û1=⊗kRx(θk) and Û2=⊗kRx(qkπ − θk) The first permutation Pnmay also be determined as Pn= ∏kP̂s, where ∑ksk= 1. It may, for instance, be sufficient to write P̂n = √P̂n√P̂n. A resulting second permutation entity and associated quantum circuit may then implement a permutation that is complicated.
[0080] In one embodiment, instead of having a single permutation P̂n= ∏Mk=1Ûk, the operators P̂n= ∏Mk=1Ôkmay yield a polynomial superposition of permutation operators. In further embodiments, a method may comprise acting on the first permutation Pnwith one or more auxiliary permutations from the left, middle, and / or right before determining the second permutation entity based on the first permutation entity. This may yield a decomposition that is non-trivial. Any way of decomposing a unitary matrix into a quantum circuit may be applied. Some examples of decomposition methods are given by Vartiainen et al. “Efficient Decomposition of Quantum Gates”, Phys. Rev. Lett. 92, 177902 and Mdttdnen et al. “Quantum Circuits for General Multiqubit Gates”, Phys. Rev. Lett. 93, 130502.
[0081] If the decomposition turns out full, it will have the order of 4ngates. Thus, discovering the first permutation Pnbased on the second permutation entity will become exponentially harder for a quantum computer (0(4n / n)). Yet, since each action of a quantum gate using a classical computer requires O(2n) floating point operations, the time required to solve the problem by a classical computer is O(2n) times longer than that for the quantum computer. With state-preparation methods, a partial permutation may be prepared which only encodes the result of applying the first permutation for a single input (for example, the zero state). Such quantum circuits are in general shorter than those implementing the full permutation. A full permutation takes roughly 4ngates whereas state-preparation only takes 2ngates. Furthermore, one could take such a state-preparation circuit and simplify it using one of the well-known circuit optimization methods to potentially make the quantum circuit substantially smaller than 2ngates.
[0082] The method may be usable in connection with a public key cryptography scheme. There may be a pair of public and private keys that a quantum computing device can use in order to generate the first permutation Pnand its inverse, respectively. Thus, a public key cryptosystem utilizing quantum computers may be obtained.
[0083] In one implementation, the first permutation entity is associated with a public key and the second permutation entity is usable for encrypting a sequence of digits. Here, encryption may only be carried out using a quantum computing device. The first permutation Pnmay provide a description of how to implement the encryption. The first permutation Pn(and first permutation entity) may be kept secret. The second permutation entity may be published and provided as a quantum public key to allow encryption with a quantum computing device.
[0084] The first permutation entity may alternatively be associated with a private key and the second permutation entity is usable for decrypting a sequence of digits. Both the first permutation Pnand its inverse may be efficiently implemented by a quantum computing device only if a private key s is provided.
[0085] A public key or private key cryptography scheme as described herein may be combined with one or more further encryption schemes to further improve security.
[0086] In some embodiments, hybrid classical quantum computing may be employed. Here, preprocessing of a second permutation entity or a quantum circuit to make the quantum circuit as short as possible may be carried out with a classical computing device. The preprocessing could be done by the first computing device or with some other classical computing device, which provides the resulting quantum circuit to the quantum processing device. Additionally or alternatively, post-processing of the measurement results obtained through execution of the quantum circuit may be done with a classical computing device, where the post-processing may include error mitigation and / or error correction.
[0087] The method may be used in connection with data compression. There are known data compression techniques in which non-sequential data to be compressed is permuted in such a way that the data can be encoded more efficiently. This reordering does not change the actual data but transforms its structure to make it more amenable to simple compression techniques like run-length encoding (RLE), delta encoding, or entropy coding. Techniques for generating such permutations include space-filling curves (like Hilbert or Z-order), color-based sorting, or graph-based traversals that minimize color distance between consecutive elements. By improving local similarity in the permuted sequence, these methods significantly boost the performance of traditional compression algorithms while keeping complexity manageable. For example, the pixels of an image can be reordered in such a way that the colors of neighboring pixels are the same or close to each other and e.g. a run-length encoding or similar lossless or lossy encoding can be applied more efficiently. The techniques known require an efficient way to represent the permutation in order to retrieve the original order of the data elements (e.g. the order of pixels). In addition to lossless or lossy compression of the data, the permutation could be stored in a lossless or lossy way to improve the efficiency of the packing of the permutation, or compression and / or decompression of the data. The present invention may be used as an efficient way to encode and decode the permutation alongside or as a part of a quantum or classical data compression method. Especially, if the compression method uses multiple permutations to encode and decode the data, these permutations could be stored in a superposition giving advantage over classical ways of storing. The first permutation entity may be indicative of a permutation to be applied in a compression method. The mapping of the permutation to a sequence of operators may be adjusted to enable retrieval of the original permutation exactly, partly or approximatively, thus supporting lossless or lossy data compression implementations. In addition, the permutation may be encrypted by methods described to support encrypted encoding and decoding of the permutation.
[0088] Figure 2 shows a flow chart of a method for determining a permutated sequence of digits. The method may be carried out at a sequencedetermining device, where the sequence-determining device is a classical computing device or is being used as a classical computing device.
[0089] The sequence-determining computing device may be the first computing device. The sequence-determining computing device may also be a device that is different from the first computing device, while the sequencedetermining computing device obtains the second permutation entity from the first computing device.
[0090] Obtaining of a first permutation entity and determining of a second permutation entity may be carried out as described above.
[0091] At 108, the method comprises obtaining a second permutation entity. If the second permutation entity is not a quantum circuit, the method may comprise determining a quantum circuit based on the second permutation entity.
[0092] The sequence-determining computing device may be a computing device that has access to or is e.g. coupled to or in (wired or wireless) communication with a quantum computing device. The sequence-determining computing device may be configured to be able to enable execution of a quantum circuit on the quantum computing device.
[0093] The method then comprises facilitating 110 preparation of an initial state of the n quantum elements on the quantum computing device, at least before a first execution of the quantum circuit.
[0094] Facilitating preparation of an initial state may refer to performing actions that cause initial states of quantum elements to be set at a selected initial state. At 112, the method comprises facilitating execution of the quantum circuit on the quantum computing device utilizing n quantum elements. Each quantum element comprises an initial state, where the initial states of the n quantum elements correspond to a sequence of digits of length n, which could, for example correspond to a sequence of digits that is to be encrypted or decrypted.
[0095] Facilitating execution of a quantum circuit may refer to performing actions that result in signals corresponding to the quantum circuit being delivered to the quantum computing device.
[0096] At 114, the method comprises facilitating measurement of states of the n quantum elements after executing the quantum circuit. Facilitating measurement of states of quantum elements could for example refer to performing actions resulting in execution of measurement gates on the quantum elements. The method continues by utilizing the measured states of the quantum elements to determine 116 a permutated sequence of digits of length n.
[0097] If no errors are present, the determined permutated sequence of digits will be one that corresponds to the first permutation being applied to the sequence of digits of length n (determined by the initial state). In practice, since errors may be present, the quantum circuit shall preferably be executed a plurality of times, whereby a permutation corresponding to the first permutation being applied to the sequence of digits of length n of the initial state will be provided as the most probable output being determined through the measurement of the states of the quantum elements.
[0098] The method may also comprise acting on the first permutation Pnwith one or more auxiliary permutations from the left, middle, and / or right before determining the second permutation entity based on the first permutation entity
[0099] In determining the second permutation entity, the sequence of unitary operators may yield a polynomial superposition of permutation operators. The sequence of unitary operators may also yield a state transformation such that only a given polynomial number of initial states is mapped to a polynomial number of final states.
[0100] The method of Fig. 2 could be carried out in connection with encryption or decryption methods as discussed above. In this case, the first computing device could be associated with a first user (hider), while the sequencedetermining device (which could also be termed an encrypting computing device or a decrypting computing device) is associated with a second user (seeker).
[0101] In one embodiment, the method may be used by a hider, associated with the first computing device, to hide classical information into a quantum circuit. The hider may provide the first permutation Pn(e.g. by providing information on an encryption method to be used, such as AES-256 used with a chosen password s). The first permutation Pncould also be an arbitrary chosen permutation given as an ordering of the numbers 1 to 2n. In some embodiments, the hider may only need to specify the password, and second permutation entity may be determined based on the password, such that a specific predetermined encryption scheme is implemented.
[0102] The first computing device may then determine 104 the second permutation entity. The second permutation entity may be provided by the seeker to a hider, which may be a user associated with a sequence-determining device which is associated with or has access to a quantum computing device.
[0103] The second permutation entity may be provided from the hider to the seeker by the hider e.g. publishing the description of a quantum circuit determined by the second permutation entity, or the second permutation entity may for example be provided as an output from the first computing device to the sequence-determining device.
[0104] The seeker may prepare an initial state of the quantum elements on the quantum computing device based on information obtained e.g. from the hider. The initial state may correspond to an encrypted message. The quantum circuit may thereafter be executed by the quantum computing device to obtain a permutated sequence of digits, where the permutated sequence of digits corresponds to a decrypted message.
[0105] As described also previously, the method may be used in cases where a quantum computer is used for encryption instead of decryption. In such cases, the first computing device may obtain 102 a first permutation Pne.g. from a user of the first computing device or a user of the first computing device may provide information based on which the first permutation Pnmay be retrieved. Here, the user of the first computing device may be one which wishes to allow encryption of data only using a quantum computing device. The first computing device may then determine 104 a second permutation entity and provide the second permutation entity for use for a quantum computing device, preferably by providing a quantum circuit. The second permutation entity, or at least a corresponding quantum circuit, may be provided to one or more quantum computing devices or users thereof.
[0106] Once a sequence-determining device has obtained the second permutation entity or quantum circuit, the quantum circuit may be executed utilizing a quantum computing device. An initial state may be determined by information that is to be encrypted. A resulting determined permutated sequence of digits may then correspond to an encrypted message.
[0107] The permutated sequence of digits may be transmitted for decryption to a computing device which may be the first computing device or a further computing device.
[0108] The method of Fig. 2 may for example also be employed in a method for determining a pseudorandom number, where the obtained permutated sequence of digits may be usable in determining a pseudorandom sequence of digits.
[0109] Figure 3 shows further details of a method for determining a pseudorandom number which may be carried out at a first computing device. Here, the method may comprise obtaining 102 a first permutation entity and determining 104 a second permutation entity. The first permutation entity could e.g. be given by a classical (preferably postquantum) pseudorandom function. For example, the first permutation entity could be AES-256 with a given password.
[0110] Preparation of an initial state is facilitated 110 for the first time, where the initial state is a computational basis state that corresponds to a seed (which may be obtained from a user or e.g. determined randomly). After facilitating 112 executing the quantum circuit, facilitating 114 measurement of states of the quantum elements, and determining 116 a permutated sequence of digits, the method may comprise sequentially preparing 110 an initial state based on the previously determined permutated sequence of digits, and repeatedly executing 112 the quantum circuit to determine 116 further permutated sequences of digits.
[0111] The quantum circuit may be sequentially executed and at least a portion of the digits of a permutated sequence of digits obtained at each execution may be extracted. For example, starting from a seed string of length 2m, a sequence of m bit numbers may be obtained by sequentially applying the first permutation by running the quantum circuit and extracting the first m bits of the permutated sequence of digits.
[0112] Thus when running the quantum circuit a plurality of times, after each run, an initial state of the quantum elements could be prepared based on the determined permutated sequence of digits of the previous run.
[0113] A shorter sequence of digits, where the shorter sequence of digits has length n, may be stretched into a longer pseudorandom sequence of digits (of length longer than n). The shorter sequence of digits may e.g. be a random sequence of digits obtained as an input. The shorter sequence of digits may be obtained from a user of the first computing device. A longer pseudorandom sequence of digits of length longer than n may be employable in encryption, for example as a part of a stream cipher.
[0114] In another method of obtaining a pseudorandom number, in a case that the quantum circuit implements a polynomial superposition of permutations, one could run the circuit multiple times to see the most likely output of each input, and use the obtained permutated sequence of digits as the pseudorandom sequence of digits. In some use cases, such as cryptography, the first computing device may be associated with a different user than the sequence-determining computing device, which is a device that is associated with a quantum computing device or has access to a quantum computing device, such as by being in communication with a quantum computing device, optionally being able to control the quantum computing device. In other use cases, however, such as e.g. when determining pseudorandom numbers, the first computing device and quantum computing device may be associated with the same user.
[0115] In some embodiments, the first computing device and quantum computing device may be different parts of the same computing device.
[0116] Figure 4 illustrates an example of a system. The system comprises at least one first computing device 402. The first computing device 402 is preferably a classical computing device comprising at least one processing unit, memory, and communication interface, which may be configured to carry out at least the method steps associated with Fig 1.
[0117] A system may further comprise at least one quantum computing device 404. The quantum computing device may be a quantum computer comprising a quantum processor. The quantum computing device comprises quantum elements which may be, for example, qudits and / or qubits, i.e. quantum bits, such as superconducting qubits, e.g. transmons and / or fluxoniums, trapped ions, artificial atoms, photonic qubits, spin qubits, and / or quantum dot qubits. The first computing device 402 may be in wired or wireless connection with the quantum computing device 404 in cases where the first computing device also operates as a sequence-determining computing device. Alternatively, the first computing device 402 and quantum computing device 404 need not be in connection with each other. A second permutation entity or related quantum circuit may be provided for use by the quantum computing device 404 through a user of the quantum computing device 404.
[0118] Yet, depending on the embodiment, in a further alternative the first computing device 402 and quantum computing device 404 may be different parts of the same computing device.
[0119] In some embodiments, one first computing device 402 may be associated with a plurality of quantum computing devices 404. Figure 5 illustrates a further example of a system. The system may comprise a first computing device 402, which is configured to determine a second permutation entity. The first computing device 402 may be configured to provide the second permutation entity to a sequence-determining device 502, which may be an encrypting computing device or a decrypting computing device.
[0120] In some embodiments, the first computing device 402 may operate as a cloud computing device and may be associated with a plurality of sequencedetermining devices 502.
[0121] The sequence-determining device 502 may be associated with a quantum computing device 404. The sequence-determining device 502 may then be configured to facilitate preparation of an initial state on the quantum computing device 404, facilitate execution of the quantum circuit on the quantum computing device, facilitate measurement of final states of quantum elements, and determine a permutated sequence of digits.
[0122] The invention has been explained above with reference to the aforementioned embodiments, and several advantages of the invention have been demonstrated. It is clear that the invention is not restricted only to these embodiments, but comprises all possible embodiments within the scope of inventive thought and the following patent claims.
[0123] The features recited in dependent claims are mutually freely combinable unless otherwise explicitly stated.
Claims
CLAIMS1. A computer-implemented method for determining a quantum circuit appliable on n quantum elements, wherein the method comprises - obtaining a first permutation entity, wherein said first permutation entity is indicative of a first permutation Pn, said first permutation Pncomprising at least one permutation or partial permutation appliable to a sequence of digits of length n,- determining a second permutation entity, wherein said second permutation entity is indicative of a quantum circuit appliable on n quantum elements, wherein the quantum circuit corresponds to the first permutation Pn, said quantum circuit corresponding to a sequence of unitary operators, wherein the second permutation entity is determined by transforming the first permutation Pninto a unitary matrix and determining the second permutation entity based on the unitary matrix, and- providing the second permutation entity as an output to enable implementing the first permutation by utilizing n quantum elements on a quantum computing device, wherein the second permutation entity comprises the determined unitary matrix or wherein the second permutation entity comprises a quantum circuit determined based on the unitary matrix.
2. The method of claim 1, wherein if the second permutation entity is a quantum circuit, the second permutation entity is determined by utilizing a decomposition method on the unitary matrix.
3. The method of any previous claim, wherein the first permutation Pncomprises a permutation on the set of all strings of the sequence of digits of length n.
4. The method of any previous claim, wherein the first permutation Pnis determined as Pn=⊗kσ̂xq, where σ̂xis the Pauli-X matrix and qkis the kth digit of a random n-bit string q, wherein the second permutation entity is determined as being indicative of Pq= U1U2 by taking a random n-digit sequence θ = (θ1θ2... θn), where each θk∈ [0,2π) and definingRx(θk) and Ū2=⊗kRx(qkπ - θk), where Rxrefers to an x rotation of a single quantum element.
5. The method of any previous claim 1-4, wherein the sequence of unitary operators yields a polynomial superposition of permutation operators.
6. The method of any previous claim 1-5, wherein the sequence of unitary operators yields a state transformation such that only a given polynomial number of initial states is mapped to a polynomial number of final states.
7. The method of any previous claim, comprising acting on the first permutation Pnwith one or more auxiliary permutations from the left, middle, and / or right before determining the second permutation entity based on the first permutation entity.
8. The method of any previous claim, wherein the second permutation entity is provided for encrypting a sequence of digits or decrypting an encrypted sequence of digits, wherein the sequence of digits of length n corresponds to the sequence of digits to be encrypted or decrypted, preferably wherein an initial state of the n quantum elements is specifiable by the sequence of digits to be encrypted or decrypted.
9. The method of claim 8, usable in connection with a public key cryptosystem, wherein the first permutation entity is associated with a public key and the second permutation entity is usable for encrypting a sequence of digits or wherein the first permutation entity is associated with a private key and the second permutation entity is usable for decrypting a sequence of digits.
10. The method of claim 8, usable in connection with a private key cryptosystem, wherein the first permutation entity is associated with a private key and the second permutation entity is usable for decrypting a sequence of digits.
11. The method of any of claims 1-7, usable in connection with a data compression method, wherein the first permutation entity is indicative of a permutation to be applied on data that is to be compressed, wherein the second permutation entity is configured to enable retrieval of the first permutation exactly, partly or approximatively.
12. A computer-implemented method for determining a permutated sequence of digits of length n, the method comprising- obtaining a second permutation entity determined according to the method of any of claims 1-11,- facilitating preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of n quantum elements correspond to a sequence of digits of length n,- facilitating execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitating execution of a quantum circuit determined based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitating measurement of states of the n quantum elements after executing the quantum circuit, and- utilizing the measured states of the quantum elements to determine a permutated sequence of digits of length n.
13. The method of claim 12 wherein the method is utilized for generating a pseudorandom number, the method comprising sequentially executing the quantum circuit on the quantum computing device and extracting at least a portion of the digits of the permutated sequence of digits to obtain a pseudorandom number.
14. The method of claim 13 wherein the method is used to stretch a shorter random sequence, or a sequence provided by the user, of n digits into a longer pseudorandom sequence of digits, optionally employable in encryption, for example as a part of a stream cipher.
15. The method of any of claims 12-14, wherein the method comprises sequentially executing the quantum circuit on the quantum computing device and measuring states of the n quantum elements after executing the quantum circuit, wherein a final state of a previous execution is used as an initial state for a subsequent execution.
16. A computer-implemented method for encrypting or decrypting a message, the method comprising- obtaining a second permutation entity determined according to the method of any of claims 1-10,- facilitating preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of the nquantum elements correspond to a sequence of digits of length n which is to be encrypted or decrypted,- facilitating execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitating execution of a quantum circuit based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitating measurement of states of the n quantum elements after executing the quantum circuit, and- utilizing the measured states of the quantum elements to determine a permutated sequence of digits of length n as an encrypted message or a decrypted message.
17. A computer program product comprising program code means adapted to execute the method items of any of the previous claims 1-16 when run on at least one computing device.
18. A computer-readable medium storing a computer program comprising instructions which, when executed by at least one processor, cause the computing device to perform the method according to any of claims 1- 15.
19. A first computing device configured to- obtain a first permutation entity, wherein said first permutation entity is indicative of a first permutation Pn, said first permutation Pncomprising at least one permutation or partial permutation appliable to a sequence of digits of length n,- determine a second permutation entity, wherein said second permutation entity is indicative of a quantum circuit appliable on n quantum elements, wherein the quantum circuit corresponds to the first permutation Pn, said quantum circuit corresponding to a sequence of unitary operators, wherein the second permutation entity is determined by transforming the first permutation Pninto a unitary matrix and determining the second permutation entity based on the unitary matrix, and- provide the second permutation entity as an output to enable implementing the first permutation by utilizing n quantum elements on a quantum computing device, wherein the second permutation entity comprises the determined unitary matrix or wherein thesecond permutation entity comprises a quantum circuit determined based on the unitary matrix.
20. A sequence-determining computing device configured to- obtain a second permutation entity determined according to the method of any of claims 1-11,- facilitate preparation of an initial state of n quantum elements on a quantum computing device, wherein the initial states of n quantum elements correspond to a sequence of digits of length n,- facilitate execution of the second permutation entity if the second permutation entity is a quantum circuit or facilitate execution of a quantum circuit determined based on the second permutation entity on the quantum computing device utilizing the n quantum elements, - facilitate measurement of states of the n quantum elements after executing the quantum circuit, and- utilize the measured states of the quantum elements to determine a permutated sequence of digits of length n.
21. A system comprising at least a first computing device of claim 19 and optionally a quantum computing device.