ENHANCED SYSTEMS AND METHODS FOR PIRATE DECODER IDENTIFICATION

Information

  • Patent Application
  • 20240372696
  • Publication Number
    20240372696
  • Date Filed
    May 01, 2024
    8 months ago
  • Date Published
    November 07, 2024
    a month ago
  • Inventors
  • Original Assignees
    • NTT Research, Inc. (Sunnyvale, CA, US)
Abstract
The disclosed technology relates to a method and system for detecting pirated decryption keys. The method involves the use of a computer tracer apparatus, comprising a translator algorithm and a query generator algorithm. The translator algorithm receives a decoder program and generates responses to queries based on a set of rules, including a state repair procedure. The query generator algorithm generates an initial and subsequent sets of queries based on inputs from the translator algorithm. The final output identifies potential traitor users. The system is executed on a quantum computer and includes modules configured for the same operations.
Description
FIELD OF THE INVENTION

The present disclosure generally relates to the field of tracers for detecting if a decoder device is executing a pirated copy of a decryption key acquired from one or more traitor users.


BACKGROUND OF THE INVENTION

The threat of quantum computers requires re-evaluation of some of the core aspects of modern cryptography. Due to Shor's algorithm, cryptosystems based on factoring or discrete logs will be insecure. Even for cryptosystems based on so-called “post-quantum” building blocks, quantum computing may also yield new threat models, such as superposition attacks.


A perhaps more subtle issue is the following: even if the building blocks are quantum-immune and the threat model remains the same, the classical proof may not hold quantumly. Indeed, a classical proof converts a classical adversary into a classical algorithm for some underlying hard problem, while a post-quantum proof must convert a quantum adversary into a quantum algorithm. What works for classical adversaries may not work for quantum adversaries. The canonical example of a proof technique that does not translate is rewinding, which is known to be problematic quantumly due to the no-cloning theorem. (A different example is the quantum random oracle model, though this model is conceptually closer to the superposition attacks mentioned above.) Rewinding is most often discussed in the context of interactive proofs, where it is used to extract information from the adversary that would remain hidden against straight-line procedures. In this context, a number of positive results have been achieved quantumly.


There are certain cases where rewinding arises, perhaps implicitly, in settings other than interactive proofs:

    • It is known, classically, that indistinguishability obfuscation (iO) implies differing inputs obufscation (diO) in the setting where the pairs of circuits being considered only differ on polynomially many points. The proof extracts a differing input from a distinguisher by testing the distinguisher on a variety of distributions over programs, using a type of binary search.
    • In traitor tracing, a coalition of malicious users group their secret keys into a pirate decoder program, and a tracing algorithm must identify at least one malicious user. Once identified, the malicious user(s) can be prosecuted. Essentially all traitor tracing schemes test the decoder on various distributions over ciphertexts, and use the corresponding decryption probabilities to accuse a user.


      The unifying feature of both classes of results is that the extracted information is computed based on the success probabilities of a single adversary on various distributions of inputs. This is very different from the way information is typically extracted for interactive proofs, where the information is usually extracted from the adversary's outputs themselves.


When moving to the quantum setting for traitor tracing, Zhandry shows that if the pirate decoder contains a quantum state, then the classical tracing algorithms are no longer guaranteed to work. The malicious users of course want to design their decoder in such a way as to avoid tracing, and would therefore be incentivized to design a quantum state decoder to evade tracing. Being able to trace such quantum state decoders is therefore the natural model to consider in the post-quantum setting. Zhandry provides an initial positive result, showing how to trace even quantum decoders for schemes in the Private Linear Broadcast Encryption (PLBE) framework, when the identity space is polynomial size. (Another limitation of Zhandry's work is that the PLBE must support public encryption for all distributions used during tracing, which is not true of the known succinct LWE-based scheme.) However, the techniques are incapable of handling other important traitor tracing approaches, in particular:

    • Traitor tracing with embedded identities, where the identity of a user is an arbitrary string, as opposed to an index in a polynomial-sized set. The first such tracing scheme is due to Nishimaki, Wichs, and Zhandry, who use the PLBE framework but with exponentially many identities. Nishimaki et al. and later work also explore other structures for achieving embedded identities.
    • Combinatorial traitor tracing, which achieve traitor tracing with short ciphertexts from general public key encryption, as opposed to algebraic tools.


      When considering the restricted iO-diO equivalence in the quantum setting, it is most natural to consider a quantum auxiliary input, since the auxiliary input will be the adversary's state at some step in the protocol. However, the equivalence has a flavor similar to PLBE with super-polynomial identity spaces (as observed by Nishimaki et al.), and therefore is also not handled by the previous quantum techniques.


Thus, these important cases of traitor tracing and the iO-diO equivalence were previously open questions in the quantum decoder/auxiliary input setting.


BRIEF SUMMARY OF THE INVENTION

We show the following results:

    • The post-quantum equivalence of indisitnguishability obfuscation and differing inputs obfuscation in the restricted setting where the outputs differ on at most a polynomial number of points. Our result handles the case where the auxiliary input may contain a quantum state; previous results could only handle classical auxiliary input.
    • Bounded collusion traitor tracing from general public key encryption, where the decoder is allowed to contain a quantum state. The parameters of the scheme grow polynomially in the collusion bound.
    • Collusion-resistant traitor tracing with constant-size ciphertexts from general public key encryption, again for quantum state decoders. The public key and secret keys grow polynomially in the number of users.
    • Traitor tracing with embedded identities, again for quantum state decoders, under a variety of different assumptions with different parameter size trade-offs.


      Traitor tracing and differing inputs obfuscation with quantum decoders/auxiliary input arises naturally when considering the post-quantum security of these primitives. We obtain our results by abstracting out a core algorithmic model, which we call the Back One Step (BOS) model. We prove a general theorem, reducing many quantum results including ours to designing classical algorithms in the BOS model. We then provide simple algorithms for the particular instances studied in this work.


      This Work. In our work, we resolve these open questions. We start by defining an algorithmic model we call the Back One Step (BOS) model, which we show is valid for any quantum program containing a quantum state. This is the core conceptual contribution of this work, and builds on ideas from Zhandry and Chiesa, Ma, Spooner, and Zhandry, which in turn build on Marriott and Watrous.


We then design new algorithms for the model, for the instances arising from the aforementioned open problems. This step is entirely classical, and while the algorithms may not be trivial, they are fairly simple. Combining our results together, we achieve the following results:

    • We prove the restricted iO-diO equivalence holds post-quantumly, even if the auxiliary input is a quantum state. Along the way, we give a definition of diO that address several subtleties in defining quantum security that we overcome.
    • We construct tracing algorithms for several existing traitor tracing schemes, achieving a couple “firsts” for tracing schemes for quantum decoders:
      • (Section 6) Bounded collision traitor tracing from general public key encryption, where the parameters grow polynomially with the collusion bound but are independent of the number of users.
      • (Section 6) Collusion-resistant traitor tracing from general public key encryption, where ciphertext size is independent of the number of users.
      • (Sections 5 and 7) Collusion-resistant embedded identity traitor tracing, under various assumptions with different parameter size trade-offs. In particular, assuming public key encryption, we get a scheme where the parameters grow polynomially in the number of users. Assuming Learning With Errors (LWE), we get such a scheme with succinct ciphertexts whose length is independent of the length of the embedded identities. Finally, assuming iO, we get a scheme with both succinct ciphertexts and where parameter sizes are independent of the number of users.
    • These schemes are identical to their classical counterparts, except for the tracing algorithm. They also match most of the best-known results for classical traitor tracing under post-quantum assumptions, with the main exception being the LWE-based traitor tracing scheme with constant-sized parameters, which still remains open in the quantum setting.





BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive examples are described with reference to the following figures.



FIG. 1 illustrates a quantum computer tracer apparatus, according to aspects of the present disclosure.



FIG. 2 depicts a system architecture for a quantum computing environment, related to FIG. 1, according to aspects of the present disclosure.



FIG. 3 shows a block diagram of a quantum computer system, expanding on the system architecture in FIG. 2, according to aspects of the present disclosure.



FIG. 4 and FIG. 5 both represent classical computing components that may be used in combination with or in place of the quantum systems depicted in FIGS. 1-3, according to aspects of the present disclosure.





DETAILED DESCRIPTION

The following description sets forth exemplary aspects of the present disclosure. It should be recognized, however, that such description is not intended as a limitation on the scope of the present disclosure. Rather, the description also encompasses combinations and modifications to those exemplary aspects described herein.


1 Technical Overview
1.1 a General View of Classical Tracing Algorithms

Essentially all modern classical traitor tracing algorithms can be framed as follows. There is a collection custom-character={Dqcustom-character of distributions of ciphertexts, and the adversary produces a decoder subject to the following guarantees:

    • Large success probability on source. The distribution of “honest” ciphertexts is an element of custom-character, which we will denote as Dα for some distinguished α∈custom-character that we call the source. Any useful decoder, by definition, has a “large” success probability on Dα.
    • Small success probability on sinks. There is a collection of distributions {Dq}q∈Ω for q∈Ω⊂custom-character, which we may call sinks, for which any coalition of users has “small” success probability.
    • Constant on adversary partition. Any coalition of malicious users corresponds to a partition Π on custom-character, such that the coalition, and therefore their decoder, cannot efficiently distinguish between distributions belonging to the same part of the partition. In other words, the decoder's decryption probability is roughly constant on each part of the partition.


      The tracing algorithm therefore tests the decoder on various Dq, learning (estimates of) the decoder's success probabilities on Dq. The rough idea is that α and q∈Ω must have different success probabilities, so the tracer is guaranteed to see some jumps as it make its queries. These jumps must be across different parts of the partition, revealing some information about the structure of the partition. The hope is that this information can identify at least one malicious user.


Abstracting out the details of generating the various distributions and estimating their success probability, we arrive at a model we might call the Globally Consistent Hidden Partition model, where the tracer simply queries (potentially adaptively) on various qicustom-character and receives in response real numbers oi ∈[0, 1]. We are guaranteed that any oi,oj which correspond to queries qi,qj lying in the same part of the partition Π will be close, that qi=α will give “large” oi, and that qi∈Ω will give “small” oi. The tracer then takes these o; and uses them to learn information about the partition.


Example: PLBE. To make things concrete, we now illustrate how this view captures private linear broadcast encryption (PLBE). Here, there are N users, with identities 1, . . . , N. For any q∈[0,N], one can encrypt to the set [q]={1, . . . , q}. Users in q will be able to decrypt, while users outside of q will not. An “honest” ciphertext is an encryption to all users, q=N. Moreover, any coalition of users will be unable to distinguish encryptions to [a] and [b], unless the coalition contains a user in the half-open interval (a,b]. In the view above, we would therefore have custom-character=[0,N], α=N, and Ω={0}. For a coalition of users a1<a2< . . . <at ∈[N], the partition Π therefore consists of the intervals [0,a1], (a1,a2], (a2,a3], . . . , (at,N].


To trace, we split into two cases. In the case where N is polynomial, one simply estimates the success probabilities o0, o1, . . . , oN on queries 0, 1, . . . , N. The usefulness of the decoder implies that oN>>0, while PLBE security implies that o0≈0. Therefore, there must exist a q such that |oq−1−oq|>>0. But since oi must be constant on the intervals in Π, we know that q=ai for some i. Thus we have identified a member of the coalition.


If N is exponential, then we cannot simply do a linear scan. However, a variant of a binary search will work, as shown in Boyle, Chung, and Pass as well as Nishimaki et al. In the binary search, we recurse left if there is a large gap between the pivot and the left value, while we recurse right if there is a large gap between the pivot and the right value. Importantly, we must make sure to pivot both left and right if there is a large gap in both directions. Otherwise, there is a possibility that every time we recurse, the gap gets divided by 2, and after a polynomial number of steps the gap is negligible but we have yet to accuse a user. Fortunately, it is proved by those works that there will never be more branches in the binary search than there are users in the coalition, so the overall search still takes polynomial time.


1.2 Moving to Quantum: Prior Results

When we move to allowing a quantum decoder, we must be much more careful. There are several issues, first pointed out by Zhandry. First is definitional: the success probability of the decoder is not necessarily known (nor even knowable) until it is measured, and any measurement necessarily alters the quantum state. Care must be taken to appropriately define traitor tracing to handle cases where the decoder may be in superposition of both high success probability and low success probability. Zhandry shows how to handle these definitional issues.


The second issue has to do with rewinding, which happens at two levels. First, estimating success probability on a distribution classically involves running the decoder on various samples from the distribution. But this implicitly requires being able to return the decoder to its original state every time, to ensure independent trials from the same distribution. As mentioned above, quantumly rewinding is problematic. In particular, each trial may alter the state of the decoder. Zhandry demonstrates that the classical approach of repeated sampling cannot, in general, yield an estimate of the decoder's success probability. Fortunately, Zhandry shows how to develop a quantum-compatible success probability estimation routine based on a technique of Marriott and Watrous.


Note that Zhandry's procedure requires security to hold when the adversary gets an arbitrary polynomial number of tracing ciphertexts; this is not the case for traitor tracing from LWE. We inherit this limitation, and this is why we still cannot handle succinct traitor tracing from LWE.


A second level is that multiple success probabilities will have to be estimated, for various distributions of inputs. In the classical setting, it is assumed that each estimate of success probability is applied to the same initial decoder; in other words, the decoder is rewound to its initial state. (The usual terminology is that the decode is “stateless.”). Otherwise, how can we make sense of gaps between estimated success probabilities, if the success probabilities has since changed and the previous estimates are no longer valid.


Zhandry gives a first step toward overcoming this problem, by showing that a local consistency property holds: if two consecutive estimates of success probabilities are on computationally indistinguishable distributions, then the estimated success probabilities will be close. However, estimated probabilities that are not consecutive may not obey this property. This gives rise to a variant of the tracing model above, which we will call the Locally Consistent Hidden Partition Model, that is identical to the Globally Consistent model above, except that (1) oi,oj corresponding to qi,qj in the same part are guaranteed close only if |i−j|≤1, and (2) qi=α is guaranteed to yield a large ri only on the first query i=1. The good news is that the linear scan algorithm for PLBE with polynomial identity space fits within this model (provided the scan starts at N and goes to 0), allowing Zhandry to trace this particular case. On the other hand, the model seems inherently limited to PLBE: during any sequence of probability estimates, the estimate outcomes may be the sequence 1, 1, 1, . . . , 1, 0, 0, 0, . . . . Such a sequence would satisfy the local consistency requirements, as long as the jump from 1 to 0 happens the first time a distribution Dq for q∈Ω is tested. But for a polynomial-length sequence, only a log number of bits of information can be extracted, namely the location of the jump between 1 and 0. Thus this model is incapable of handling a variety of traitor tracing scenarios, such as

    • Embedded identities, where the whole point is to embed more than a logarithmic amount of information.
    • Combinatorial traitor tracing, which usually follows a non-linear path. For example, traitor tracing based on fingerprinting codes first extracts a very long “codeword” from the decoder, which is then further processed; in the locally consistent model it would be impossible to construct this codeword.


      The work of Kitagawa and Nishimaki. Kitagawa and Nishimaki show how to watermark PRFs in a quantum decoder model. Most relevant to us, their algorithm surprisingly extracts more than a logarithmic amount of information. However, their techniques are likely limited to the case of no collusions, which is insufficient for our purposes.


1.3 Our Solution: The Back One Step (BOS) Model

A starting point for our results is the recent work of Chiesa, Ma, Spooner, and Zhandry. They provide a powerful new rewinding technique, where they show that in some sense it is possible to “repair” a quantum state after a measurement. They apply their technique to the setting of interactive proofs, where they repair the quantum state of the adversary in order to rewind the it many times. In this work, we show how to adapt the rewinding technique to our setting.


Before getting into the details of our approach, we highlight some conceptual differences between our settings:

    • Chiesa et al. extract information from an adversary using the adversary's actual messages; the rewinds are used to obtain many such messages. The inputs for the different rewinds are typically all uniformly random and independent. In contrast, for traitor tracing, information is generally extracted by looking at success probabilities. The distributions tested will generally be far from uniform, in order to get differences in success probabilities.
    • The decision tree in traitor tracing is rather deep. Consider for example the binary search algorithm for PLBE with large identities. In order to find a gap, we must explore a deep branch. We may not find anything, in which case we must return to the root and explore a different branch. In contrast, the rewinding in Chiesa et al. always returns the adversary to a state approximating the initial state of the adversary. In this sense, the decision tree is shallow, having only one level.
    • The repair procedure can only repair a single feature of the adversary. This is inherent, since different quantities may correspond to “incompatible” observables, and in general quantum systems one cannot simultaneously “know” the values of incompatible observables. Chiesa et al. always repair just the original success probability of the adversary. This is enough for them, due to their shallow decision tree. Looking at our setting, however, always repairing to the initial setting will not work. For example, in the binary search case, if we just repair to the initial success probability, this allows us to return to the root of the binary search tree. But now the values at all points may have shifted around. So if we explore a branch and fail to find a gap, when we return to the root, the gap we are looking for may have moved into the branch we just abandoned. Even if we explore all branches, we may never end up actually finding the ever-moving gap.


In order to simplify the task of designing new tracing protocols to overcome these challenges, we propose an intermediate model which we call the Back One Step (BOS) model. The BOS model allows us to abstract away the complicated techniques of state repair in order to give a clean model of what the technique should be capable of. This model will then allow us to design novel tracing algorithms. Importantly, the task of designing algorithm in the model will be entirely classical, with all the quantum aspects hidden beneath the abstraction.


The Model. We now describe the BOS model: there is a collection custom-character of queries available. There is moreover a potentially stateful oracle which contains a secret partition Π of custom-character. The oracle accepts a sequence of queries q1, . . . , qt custom-character, and answers queries with a bit oi ∈{0, 1}. Note that we descretized the oi, to make the model simpler. We impose the following constraints:

    • Large value on source if first query. A distinguished query α∈custom-character. If q1=α, then o1=1. There are no guarantees on subsequent queries to α, or if α is not the very first query.
    • Small values on sinks. There is a collection Ω⊂custom-character, such that if qi ∈Ω, then oi=0. This holds for all i.
    • Local consistency. For any two consecutive queries qi, qi+1, if qi, qi+1 lie in the same part of the partition Π (and in particular, if qi=qi+1), then oi=oi+1. There is no such requirement for qi,qj with |i−j|>1.
    • Single step rewinding. Finally, if qi+2=qi, then oi+2=oi. Any other identical queries that may exist in the query sequence have no such restriction.


      If we ignore the last requirement, note that we recover the model of Zhandry. The last requirement essentially says that we can make a query qi, make an arbitrary different query qi+1, and then rewind to the previous query qi for query i+2 and be guaranteed to recover the same output oi a second time.


      Realizing the BOS Model. By adapting the rewinding technique of Chiesa et al., we show how to instantiate a BOS oracle from any pirate decoder or diO adversary. The rough idea is to run the BOS algorithm, using Zhandry's success probability estimation routine to answer every query. This already ensures large values on the source (if the first query), small values on the sinks, and local consistency, following the same analysis as Zhandry. In order to ensure single step rewinding, we then add one more feature: if any query qi+2 is equal to qi, instead of naively computing the success probability oq+2 using Zhandry, we instead use the quantum rewinding technique of Chiesa et al. to rewind to a state where query qi+2=qi yields success probability essentially equal to oq. Thus, we can answer the query with oq+2=oq, thereby guaranteeing single step rewinding.


      Designing Algorithms for the BOS Model. The BOS oracle guarantees are much weaker than the Globally Consistent Hidden Partition Model, and as discussed above, many classical tracing algorithm crucially rely on these stronger consistency guarantees. Perhaps surprisingly, while local consistency alone does not appear enough for many tracing settings, the ability to rewind even a single step opens many doors. We design new algorithms for the BOS model for the various settings, crucially leveraging the ability to rewind a single step. Importantly, this design process is entirely classical, greatly simplifying the design task. We note that the algorithm for each result is different (aside from the iO/diO equivalence and basic embedded identity tracing scheme being the same).


We next briefly describe how the process works for tracing PLBE; for the other results see the main body of the paper.


The case of PLBE. As explained above, in the case of PLBE, we have custom-character=[0, N], α=N, Ω={0}, and Π={[0, a1], (a1, a2], (a2, a3], . . . , (at, N]}. Our goal is to recover one of the ai.


We know if the first query is on α=N, then the response is oN=1. Likewise, we know if we ever query on 0, the response is o0=0. In the classical case, we would identify an ai via a binary search. We first assign a pivot to be N/2, and query on N/2. If the query response is oN/2=1, we know that at least one ai lies in the interval [1, N/2], so we can recurse on the interval [0, N/2]. If the query response is ON/2=0, then we know at least one ai lies in the interval [N/2+1, N], and so we can recurse on the interval [N/2, N].


In the BOS model, we can try the same: after querying on N and receiving response 1, we query on N/2 and receive response oN/2. If oN/2=1, we know by the rules of the BOS model that there is an ai in the interval [1, N/2], and if oN/2=0, we know by the rules of the BOS model that there is an ai in the interval [N/2+1, N]. Moreover, in the case oN/2=1, we actually have the correct setup to recurse on custom-character′=[0, N/2] by setting α′=N/2, Ω′={0}, and Π′ to be the partition of custom-character′ induced by custom-character. Indeed by local consistency, since the last query was on N/2=α′ and the response was 1, if the next query is on α′ the response will be 1, guaranteeing a large response for the recursion. Small value on the sink, local consistency, and single step rewinding carry over as well.


On the other hand, let us see what happens if we try to recurse on [N/2, N] in the case oN/2=0. We would naturally set custom-character′=[N/2, N], α′=N, Ω={N/2}. We note that custom-characterlocal consistency and single step rewinding still carry over to this case. Moreover, since the penultimate query was on N=α′, single step rewinding guarantees that we get a large value on α′ if it is the next query.


This leaves small values on sink. Initially, it is true that querying on the sink N/2 gives 0, as desired. But importantly this only holds initially, where the BOS model requires the sink to give 0 always. We can see where this leads to trouble by taking the recursion a couple steps model. The next step is to query on 3N/4, receiving o3N/4. Suppose o3N/4=1. Then we recuse left on the interval custom-character″=[N/2, 3N/4] and query on 5N/8. Suppose again that o5N/8=1, so we recurse on the interval [N/2,5N/8]. At this point, we would want that Ω′″={N/2}. However, our last query on N/2 was three queries ago (with 3N/4 and 5N/2 between). Therefore, oN/2 may have changed, and there is no longer any guarantee of having small values on the sinks. Without a small value on the sinks, the recursion will fail.


One attempt to fix this problem is, after querying on 3N/4 and receiving o3N/4=1, we insert a query on N/2. By single step rewinding, we have, as desired, that the result is oN/2=1. However, this strategy fails when we move to the query on 5N/8. Suppose now that o5N/8=0, meaning we recurse right on the interval custom-character′″=[5N/8, 3N/4]. Unfortunately, by inserting the new query on N/2, the most recent query on 3N/4 was now three queries ago (being followed by N/2 and 5N/8). Therefore, we no longer have the guarantee that querying on the new source α′″=3N/4 gives a 1, and in fact it could be that all future queries give a 0, which clearly does not allow for extracting any information.


We now explain our solution. If oN/2=1, we recurse on [0, N/2] as we would classically. In the case oN/2=0, we still query on 3N/4 to get o3N/4. Here, if o3N/4=1, we cannot recurse on the interval [N/2, 3N/4]. However, we can recurse on the interval custom-character′=[0, 3N/4], since now Ω′={0}=Q and so we guarantee small values on sinks throughout, not just on the next query.


What if o3N/4=0? In this case, we update the pivot to 7N/8 as if we were recursing to the right. Importantly, however, we always keep the bottom of the domain as 0 to ensure small values on the sink. So if o7N/8 gives 1, we recurse on the interval [0, 7N/8]. If o7N/8=0, we update the pivot to 15N/16, and so on.


With this new algorithm, we can prove that we do indeed preserve all the properties of the BOS model in each step of the recursion, and will eventually reach the case where the interval is [0, a] and the pivot is a−1, and the last two queries were on a, a−1 giving oa=1, oa−1=0. We output a, as local consistency implies that a is one of the endpoints of the intervals in Π. Moreover, we can prove termination in a polynomial number of steps, namely O(t log2 N) where t is the number of ai


2 Quantum Background

We assume basic familiarity with quantum computation. We distinguish between classical probabilistic polynomial time (PPT) algorithms and quantum polynomial time (QPT) algorithms. Sometimes we will consider programs that consist of a quantum state. Formally, these will consist of a quantum circuit C, and and a quantum auxiliary input aux. To evaluate the program on input x, one evaluates C on |xcustom-character⊗aux. We will denote such programs by |Pcustom-character and the evaluation of such programs as |Pcustom-character(x).


Almost Projective Measurements. We state a property of general measurements due to zhandry that captures when a measurement is “close” to being projective, in the sense that sequential applications of the measurement yield similar outcomes.


A real-valued measurement M=(Mp)p is (ϵ, δ)-almost projective if applying M twice in a row to a register custom-character (initially containing any state φ produces measurement outcomes p, p′ where Pr[|p−p′|≤ϵ]≥1−δ.


Quantum State Repair. We now recall quantum state repair from Chiesa, Ma, Spooner, and Zhandry.


[Chiesa et al., Lemma 4.10] Given a projective measurement P on register custom-character that has outcomes in set S of size N, an (ϵ, δ)-almost projective measurement M on custom-character, and T∈custom-character, s∈S, p∈[0,1], there exists a procedure RepairT,p,sM,P on custom-character such that:

    • (State is repaired with respect to M) Consider applying the following operations to register custom-character initially containing state ρ:
      • 1. First apply M to obtain p∈[0, 1],
      • 2. Then apply P to obtain outcome s∈S,
      • 3. Then apply RepairT,p,sM,P,
      • 4. And finally, apply M once more to obtain p′∈[0,1].


Then Pr[|p−p′|>2ϵ]≤Nδ+N/T+4√δ.

    • (Efficiency) The expected total number of calls that Repair makes to M and P is at most N+4√{square root over (δ)}.


In other words, since M is almost projective, applying M twice in a row will give outcomes p, p′ that are close. However, if P is applied in between these two measurements, there are no more guarantees on the closeness of p, p′. However, by applying Repair before the second application of M, we can once again ensure closeness of p, p′.


Mixtures of Projective Measurements. The following is taken from Zhandry. We consider the following abstract setup. We have a collection custom-character={custom-characteri}i∈custom-character of binary outcome projective measurements custom-characteri=(Pi,Qi) over the same Hilbert space custom-character. Here, Pi corresponds to output 0, and Qi corresponds to output 1. We will assume we can efficiently measure the custom-characteri for superpositions of i, meaning we can efficiently perform the following projective measurement over custom-charactercustom-character:



















(



i




"\[LeftBracketingBar]"

i








i





"\[RightBracketingBar]"





P
i


,




i




"\[LeftBracketingBar]"

i








i





"\[RightBracketingBar]"





Q
i


)




(
1
)







Here, we call custom-character a collection of projective measurements, and call custom-character the control. For a distribution D over custom-character, let custom-characterD be the POVM which samples a random i←D, applies the measurement custom-characteri, and outputs the resulting bit. We call custom-characterD a mixture of projective measurements. The POVM is given by the matrices (PD,QD) where






P
=





i





P


r
[

i

D

]



P
i



and


Q


=




i





P


r
[

i

D

]



Q
i








Next, for a∈custom-character and interval [b,c]⊂custom-character, denote the distance between a and [b,c] as |a−[b,c]|:=minx∈[b,c] |a−x|. For a∈[b,c], the distance is 0 and for a∉[b,c], the distance is max(a−c,b−a). Let D0, D1 be two distributions over custom-character, with cumulative density functions ƒ0, ƒ1, respectively. Let ϵ∈custom-character. The Shift distance with parameter ϵ is defined as:








Δ
ϵ

(


D
0

,

D
1


)

:=


sup

x








"\[LeftBracketingBar]"




f
0

(
x
)

-

[



f
1

(

x
-
ϵ

)

,



f
1

(

x
+
ϵ

)


]




"\[RightBracketingBar]"







Let M=custom-character and N=(Nj)custom-character be real-valued quantum measurements over the same quantum system custom-character. The shift distance between M, N, denoted Δϵ(M, N) is defined as














Δ
ϵ

(

M
,
N

)

:=


sup




"\[LeftBracketingBar]"

ψ







Δ
ϵ

(

M
(



"\[LeftBracketingBar]"

ψ







)

,

N
(



"\[LeftBracketingBar]"

ψ





)

)




Now, if custom-characterD=(PD,QD) is a mixture of projective measurements, we note that QD=I−PD, and therefore PD, QD commute. In this case, custom-characterD has a projective implementation, denoted ProjImp(custom-characterD), which is defined as follows. Let S be the set of eigenvalues of PD, and Ri for i the projectors onto the associated eigenspaces. Then ProjImp(custom-characterD) is the projective measurement (Pi)i∈S. Note that S⊂[0, 1]. Also note that applying custom-characterD is equivalent to the following: first apply ProjImp(custom-characterD) to obtain outcome p, then interpret p as a probability and output 1 probability p.


[Zhandry, Theorem 6.2] For any ϵ, δ, custom-character, D, there exists an algorithm custom-character operating on custom-character and making quantum queries to custom-character, D which additionally outputs a number in some set S⊂[0, 1] such that:

    • There is a function R=poly(1/ϵ, log(1/δ)) such that the expected number of calls custom-character makes to custom-character and D, the running time of custom-character, and |S| are all bounded by R.
    • custom-character is (ϵ, δ)-almost projective.
    • custom-character, ProjImp(custom-characterD))≤δ.


[Zhandry, Theorem 6.5] Let ρ be an efficiently constructible mixed state over custom-character, and D0, D1 efficiently sampleable, computationally indistinguishable distributions. For any inverse polynomial ϵ, there exists a negligible δ such that Δϵ(ProjImp(custom-characterD0)(ρ), ProjImp(custom-characterD0)(ρ))≤δ.


3 Cryptographic Notions
3.1 IPP Codes

A fingerprinting code is used to fingerprint data. Fingerprinting codes have long been used to build traitor tracing schemes. Note, however, that the fingerprinting codes explicitly cited in the literature are usually binary codes. Yet, the schemes provided can be generalized to non-binary codes, but require a different kind of code called an identifiable parent property (IPP) code. We will use this generalization in order to abstract more schemes from the literature, so we here define IPP codes rather than fingerprinting codes. Note that the two notions coincide for binary codes.


An IPP code is a pair (GenIPP, TraceIPP) of PPT algorithms such that:

    • GenIPP(1λ, 1N, 1c) takes as input a security parameter, a number of users N, and a collusion bound c. It outputs a tracing key tk, as well as N strings w1, . . . , wN custom-character. The wi are called codewords
    • TraceIPP(tk, w*) takes as input the tracing key and a codeword w*∈custom-character. It outputs a set A⊂[N].


For a set of codewords C⊂custom-character, let F(C) be the “feasible set” of C, which is defined as follows. A codeword w*∈Σ∪{?} is in F(C) if, for each position j∈[custom-character], either wj*=? or there exists a codeword w∈C such that wj*=wj. In other words, F(C) consists of all codewords in C, plus all codewords that can be obtained from C by potentially using a different codeword character in each position. Additionally, any entry can be set to ?. The condition of being in the feasible set of C is also called the “marking condition”.


Where IPP codes differ from fingerprinting codes is in this marking condition. For a fingerprinting code, in any position custom-character where {wj}w∈C is not a single character, wj* is allowed to be anything. This condition better reflects the use in fingerprinting. However, the marketing condition for IPP codes better reflects the use in traitor tracing.


An IPP code (GenIPP, TraceIPP) is δ-robust if, for all (potentially unbounded) algorithms custom-characterIPP, for all polynomially bounded N, c, and for all S⊂[N], custom-characterIPP wins the following experiment with probability at most 2−λ:

    • Run (tk, {wi}i∈[N])←GenIPP(1λ, 1N, 1c)
    • Run w*←custom-characterIPP({wi}i∈S)
    • If the number of ? in in w* is more than δcustom-character, output “lose” and stop.
    • Otherwise, run A←TraceIPP(tk, w*)
    • Output “win” if (1) w*∈F({wi}i∈S) (w* is feasible for the set of codewords given to custom-characterIPP), and (2) either A=∅ or A⊂/S.


      Instantiations. In the case of binary alphabets, δ-robust IPP codes are also fingerprinting codes. Optimal fingerprinting codes with constant δ have custom-character=Θ(c2λ2). In the case of non-binary alphabets, less is known about IPP codes. However, the main traitor tracing scheme of Chor, Fiat, and Naor can be seen as employing IPP codes with δ=0 and various parameters choices for custom-character, Σ, including custom-character=Θ(cλ), |Σ|=Θ(c2λ).


      3.2 Traitor Tracing with Quantum Decoders


      We follow the definitions of traitor tracing given by Zhandry. The text is mostly taken from Zhandry, except we adjust the syntax to accommodate both ordinary and embedded-identity traitor tracing. A traitor tracing system for identity space custom-character is a tuple ΓTT=(GenTT, DeriveTT, EncTT, DecTT, TraceTT) defined as follows:
    • GenTT(1λ) is a classical probabilistic polynomial time (PPT) algorithm that takes as input the security parameter, and samples a public key pk and master secret key msk.
    • DeriveTT(msk, id) is a classical PPT algorithm that takes as input the master secret key msk and an identity id∈custom-character, and outputs a user secret key skid.
    • EncTT(pk, m) is a classical PPT algorithm that takes as input the public key pk and a message m, and outputs a ciphertext c.
    • DecTT(skid, c) is a classical deterministic algorithm that takes as input a secret key skid for user id and a ciphertext, and outputs a message m′.
    • TraceTT(pk, m0, m1, 11/ϵ, |Dcustom-character) is a QPT algorithm that takes as input the public key pk, two messages m0, m1, and a parameter ϵ (whose reciprocal is an integer represented in unary), and a quantum state |Dcustom-character representing a pirate decoder. It ultimately outputs a subset of custom-character, which are the accused users. Here, m0, m1 are two messages whose ciphertexts |Dcustom-character supposedly distinguishes, and ϵ is a supposed lower bound on the distinguishing advantage.


      We next define correctness and security. A traitor tracing system ΓTT is correct if, for all messages m and identities id∈custom-character,







Pr
[



Dec
TT

(


sk
id

,


Enc
TT

(

pk
,
m

)


)

=

m
:






(

pk
,
msk

)




Gen
TT

(

1
λ

)








sk
id




Derive
TT

(

msk
,
id

)







]



1
-

negl

(
λ
)






We now discuss security, adapting the software decoder model version of the definition of Zhandry. For a decoder |Dcustom-character, two messages m0, m1, and public key pk, consider the operation on |Dcustom-character:

    • Choose a random bit b←{0, 1}.
    • Run c←EncTT(pk, mb) to get a random encryption of mb.
    • Run b′←|Dcustom-character(c).
    • Output 1 if and only if b=b′; otherwise output 0.


Let custom-characterTT=(M0, M1) be the POVM given by this operation, which we call the associated POVM to the decoder. custom-characterTT has a projective implementation ProjImp(custom-characterTT)={Mp′}p, where each Mp′ corresponds to the probability distribution on {0, 1} that is 1 with probability p.


Tracing Experiment. For an adversary custom-characterTT, function ϵ(⋅), and security parameter λ, we consider the following experiment on custom-characterTT:

    • Run (pk, msk)←GenTT(1λ), and send pk to custom-characterTT.
    • custom-characterTT then makes an arbitrary number of classical queries on identities id∈custom-character; in response it receives skid. Let S be the set of id queried by custom-characterTT.
    • Next, custom-characterTT outputs (|Dcustom-character, m0, m1) for decoder |Dcustom-character and messages m0, m1.
    • Apply the measurement ProjImp(custom-characterTT) to |Dcustom-character, obtaining a probability p. Let LiveϵTT be the event that p≥½+ϵ.
    • Finally run A←TraceTT(pk, m0, m1, 11/ϵ, |Dcustom-character) to get a set of accused users. Let FailϵTT as the event that A⊂/S (an accused user was not one of the queried users). We define the event SuccessϵTT as the event that A≠∅ (some user is accused).


A tracing system is quantum traceable if for all quantum polynomial time adversaries custom-characterTT and for every inverse polynomial ϵ, there is a negligible negl such that Pr[FailϵTT]<negl(λ) and Pr[LiveϵTT∧¬SuccessϵTT]−negl(λ).


Variations. The usual setting of traitor tracing has I=[N] for a polynomial N. In this case, we often set N to be an explicit input to GenTT, and the parameters of the scheme may depend on N. A bounded collusion traitor tracing scheme additionally has another parameter c given to GenTT, and security only is required to hold if |S|≤c. Traitor tracing with embedded identities has for custom-character={0, 1}n for integer n. Therefore, identities are now polynomial-length strings. Here, n may be an input to GenTT and the parameters of the scheme may depend on n. Note that some versions of embedded identity traitor tracing will have custom-character={0, 1}*, meaning there is no a priori bound on the length of identity strings. Finally, we consider schemes with private tracing, where GenTT outputs a special tracing key tk, which is inputted into TraceTT, and security only holds if tk is kept secret.


3.3 Defining Differing Inputs Obfuscation.

We now define differing-inputs obfuscation (diO) in the quantum setting. To the best of our knowledge, diO has not been defined in the quantum setting, and it turns out that the task is somewhat subtle. Below, we adapt the definition of traitor tracing for quantum decoders to give a strong definition of quantum-secure diO.


Let m(λ), n(λ), s(λ) be polynomials, and consider a quantum polynomial time algorithm Samp(1λ) which samples (1) a pair of circuits C0, C1 of size s(λ), input length n(λ) and output length m(λ), and (2) a quantum side information aux. Consider a distinguishing adversary custom-character. Consider the following operation on aux:

    • Choose a random bit b←{0, 1}.
    • Run Ĉ←diO(1λ,Cb) to get an obfuscation of a random choice of C0, C1.
    • Run b′←custom-character(Ĉ, C0, C1, aux).
    • Output 1 if and only if b′=b; otherwise output 0.


Let custom-characterdiO=(M0, M1) be the POVM given by this operation, which we call the associated POVM to the sampler. custom-characterdiO has a projective implementation ProjImp(custom-characterdiO)={Mp′}p, where each Mp′ corresponds to probability distribution on {0, 1} that is 1 with probability p.


Now consider an extractor ε which takes as input C0, C1, aux as well as a parameter ϵ whose reciprocal is inputted in unary (so 11/ϵ), so that if ε runs in polynomial time, then it runs in time polynomial in λ whenever ϵ is an inverse polynomial in λ. We define the following experiment, parameterized by S, custom-character, ε as well as a function ϵ:

    • Run (C0,C1,aux)←S(1λ). Let custom-character be the register containing aux.
    • Apply ProjImp(custom-characterdiO) to custom-character, resulting in probability p.
    • If







p
>


1
2

+

ϵ


(
λ
)




,




we say that event LiveϵdiO happens.

    • Next, run ε on custom-character, obtaining an input x or symbol ⊥
    • If x≠⊥ but C0(x)=C1(x), we say event FailϵdiO happens.
    • If x≠⊥ and C0(x)≠C1(x), we say event SuccessϵdiO happens.


[Post-Quantum Differing-inputs Obfuscation] A post-quantum differing-inputs obfuscator (diO) is a PPT algorithm diO such that:

    • diO(1λ, C) is equivalent to C with overwhelming probability over the randomness of diO.
    • For every QPT adversary custom-character and sampler S, there exists a QPT ε such that for every inverse polynomial function ϵ=ϵ(λ), there exists a negligible negl=negl(λ) such that Pr[FailϵdiO]<negl and Pr[LivediO∧¬SuccessϵdiO]<negl.


4 Hidden Partitions and the BOS Model

A partition Π of a set T is a collection of subsets Π={S1, . . . , Sn} such that T=∪iSi and the Si are disjoint. The sets Si are called parts of Π. Given partition Π={S1, . . . , Sn} of T and Π′={S1′, . . . , Sn′′,} of T′, we can define the product partition Π×Π′ of T×T′ as Π×Π′={Si×Sj}(i,j)∈[n]×[n′]. We can similarly define the product of several partitions.


The basic setup. Fix a set custom-character, α∈custom-character a distinguished element, and Ω⊆custom-character a distinguished subset. Also fix a relation R(Π, w) that takes as input partitions Π of custom-character and strings w∈{0, 1}* and outputs a bit. custom-character


4.1 The Quantum Hidden Partition Problem

Given custom-character, α, Ω, R as above, consider a QPT S(1λ), called a quantum hidden partition sampler (QHPS) that samples (|Pcustom-character, Π, custom-character, aux)←S(1λ) such that:

    • |Pcustom-character is a quantum state program taking inputs in some domain X and outputting a bit.
    • Π is a partition of custom-character, and custom-character
    • custom-character:custom-character→X×{0, 1} is a PPT algorithm mapping custom-character to X×{0, 1}.


Now consider two experiments involving a QHPS S and a quantum adversary custom-character. The first, called the sink indistinguishability experiment, works as follows:

    • First run (|Pcustom-character, Π, custom-character)←S(1λ), and give |Pcustom-character to custom-character.
    • Throughout, custom-character may make classical queries to custom-character, sending q∈custom-character, and receiving independent samples (x, b)←custom-character(q). Repeated queries on the same q will give independent samples.
    • Eventually custom-character outputs a sink q*∈Ω. In response, run (x*, b*)←custom-character(q) and send x* to custom-character.
    • custom-character Outputs a guess b′ for b*. The experiment outputs o=b′⊕b*;


      We say custom-character wins the sink indistinguishability experiment if o=0 (equivalently, b′=b*).


The second experiment, called the partition indisitnguishability experiment, works as follows:

    • First run (|Pcustom-character, Π, custom-character)←S(1λ), and give |Pcustom-character to custom-character.
    • Throughout, custom-character may make classical queries to custom-character, sending q∈custom-character, and receiving independent samples (x, b)←custom-character(q).
    • Eventually custom-character outputs two queries q0*, q1*. If q0*, q1* are in the same part of Π, output a random bit o and abort. Otherwise, choose a random bit c and run (x, b)←custom-character(qc*) and send (x*, b*) to custom-character.
    • custom-character outputs a guess c′ for c. The experiment outputs o=c′⊕c; custom-character wins if o=0.


      We say custom-character wins the partition indistinguishability experiment if o=0.


S is a valid QHPS if for any QPT adversaries, custom-character0, custom-character1, there exists negligible functions negl0, negl1 such that the probability custom-character0 wins the sink indistinguishability experiment is at most negl0(λ), and the probability custom-character1 wins the partition indistinguishability experiment is at most negl1(λ).


Consider the POVM which runs (x, b)←custom-character(α), and run |Pcustom-character(x) to obtain a bit b′. The POVM outputs 1 if b′=b. This POVM has a projective implementation, which we denote ProjImp(custom-character(α)). Now, consider the following experiment with algorithm custom-character:

    • First run (|Pcustom-character, Π, custom-character)←S(1λ).
    • Next apply ProjImp(custom-character(α)) to the register custom-character containing |Pcustom-character, obtaining probability p.
    • Run custom-character on 11/ϵ and custom-character. custom-character can make queries to custom-character. Importantly, on query q, custom-character can obtain a superposition of samples from custom-character(q). The output is a string w or an abort symbol ⊥.


Let LiveϵBOS be the event that






p



1
2

+

ϵ
.






The event LiveϵBOS corresponds to |Pcustom-character being able to predict the bit b with advantage at least ϵ. Let SuccessϵBOS be the event that custom-character outputs a w≠⊥ such that R(Π, w)=1, and let FailϵBOS be the event that custom-character outputs a w≠⊥ such that R(Π, w)=0.



custom-character, α, Ω, R is solvable if there exists a custom-charactercustom-character(|Pcustom-character, ϵ) that runs in time polynomial in λ and 1/ϵ and makes quantum queries to custom-character, such that for any valid QHPS S and inverse-polynomial ϵ there is a negligible negl such that Pr[LiveϵBOS ∧¬SuccessϵBOS]≤negl(λ) and Pr[FailϵBOS]≤negl(λ). In other words, custom-character should almost always succeed if |Pcustom-character starts out live, and custom-character should almost never output a w that is not accepted by R (outputting ⊥ instead if it cannot succeed).


4.2 The BOS Model

Now consider a stateful interactive potentially randomized algorithm O which takes as a secret input a partition H, and then receives a sequence of queries q1, q2, . . . ∈custom-character and produces a corresponding sequence of outputs o1, o2, . . . ∈{0,1}. We will denote an interactive algorithm custom-character interacting with O and outputting w as w←custom-character⇔O(Π).


O is a BOS oracle if, for any partition Π and any poly-length sequence of queries q1, q2, . . . , O(Π) satisfies each of the following guarantees:

    • Accepts first distinguished query. If q1=α, then o1=1.
    • Rejects sinks. For any i, if qi∈Ω, then oi=0.
    • Local consistency. For any two consecutive queries qi, qi+1, if qi, qi+1∈P∈Π (that is, if qi,qi+1 are in the same part of the partition Π), then oi=oi+1.
    • Single step rewinding. For any i, if qi+2=qi, then oi+2=oi.


A PPT algorithm custom-character solves R (with the associated custom-character, α, Ω) in the BOS model if, for any BOS oracle O and any partition Π of Q, then Pr[R(Π, w)=1:w←A⇔O(Π)]=1.


4.3 From BOS to Solving Quantum Hidden Partitions

Here, we present the main technical tool of this paper:


For any R, custom-character, α, R, Ω, if there exists an algorithm custom-character which solves R in the BOS model in polynomial time, then R, custom-character, α, Ω is solvable. We now prove Theorem 4.3. We first assume without loss of generality that custom-character has the following properties:

    • q1=α, To see why this is without loss of generality, let custom-character solve R in the BOS model, and let custom-character′ be custom-character, except that if the first query is not α, custom-character′ inserts a dummy query to α as the first query, and then ignores the response. It is easy to see that the oracle seen by custom-character as a subroutine of custom-character ′ is still a BOS algorithm, and so custom-character′ still solves R.
    • If oi=0, then qi+1=qi−1. A simple inductive argument then shows that any oi=0 is always preceded by an oi−1=1. To see why this is without loss of generality, let custom-character solve R in the BOS model, and let custom-character′ be custom-character except that if oi=0 and qi+1≠qi−1, then custom-character′ makes a final query on qi−1, immediately stops making queries (including not querying on qi+1), and answers every subsequent query by custom-character with 0. The oracle seen by custom-character as a subroutine of custom-character′ is still a BOS algorithm, so custom-character′ still solves R. But the new custom-character′ will always query on qi+1=qi−1 if oi=0.


      We call an custom-character with the above properties normal form.


We describe the algorithm custom-character given a normal form custom-character: Let custom-character be any normal form algorithm in the BOS model. Consider a quantum program |Pcustom-character stored in register custom-character. First, define the following:

    • Let r be an upper bound on the number of queries made by custom-character.
    • Let ϵ′=ϵ/r,δ=2−λ,T=1/√{square root over (δ)}.
    • Let Pred={Predx}x be the collection of projective measurements applied to custom-character corresponding to running |Pcustom-character on input x.
    • Let EST(q) be the algorithm APIϵ′/4,δPred,custom-character(q), where API is the algorithm in Lemma 2. We will dilate EST(q) so that it is a projective measurement. This means that EST(q) acts on-register custom-character×custom-characterw, where custom-characterq are the anilla registers used to purify, with a different register used for every query.


      We now give the algorithm custom-character(|Pcustom-character, 11/ϵ). Run custom-character, which makes queries q1, q2, . . . , qr. To answer each query qi, do the following:
    • 1. Define pq0=½+ϵ.
    • 2. If qi≠qi−2:
      • (a) Create the register custom-characterqi, replacing any existing register with that name.
      • (b) Then run EST(qi), obtaining measurement outcome pqi, replacing any existing value for pqi.
      • (c) If pqi≤pqi−1−ϵ′, answer the query with oqi=0.
      • (d) If pqi>pqi−1−ϵ′, answer the query with oqi=1.
      • (e) If i=1 and oq1=0 (that is, this is the first query and the query response is 0) then immediately abort and output ⊥.
    • 3. Otherwise, if qi=qi−2:
      • (a) Run the algorithm







Repair

T
,

p

q

i
-
1



,

p

q

i
-
2






EST

(

q

i
-
1


)

,

EST

(

q

i
-
2


)



.








      • (b) Update pqi to Pqi−2−ϵ′, and answer the query with oqi=oqi−2.


        When custom-character terminates and outputs w, custom-character outputs w.







We now prove that custom-character solves custom-character, α, Ω, R. We first need the following lemma:


Suppose custom-character does not abort in Step 2e. Then except with negligible probability, every query qi that custom-character responds with 1 will have pqi≥½+ϵ−i×ϵ′. We prove by induction on i. Since pq0=½+ϵ, custom-character does not abort in Step 2e only if pq1>pq0−ϵ′=½+ϵ−1×ϵ′. Now we inductively assume the lemma holds for all queries before query i, and prove it holds for query i. We break into three cases:

    • qi=qi−2. In this case, oqi=oqi−2, so if custom-character responds with 1, then custom-character must have responded two queries ago with 1 as well. By the inductive hypothesis, this means pqi−2≥½+ϵ−(i−2)×ϵ′. But now we update pqi to pqi−2−ϵ′≥½+ϵ−(i−1)×ϵ′≥½+ϵ−i×ϵ′.
    • qi≠qi−1, and oqi−1=1. In this case, by induction, we have pqi−1≥½+ϵ−(i−1)×ϵ′. If oqi=1, then it must be that qi≥qi−1−ϵ′≥½+ϵ−i×ϵ′.
    • qi≠qi−2 and oqi−1=0. By the assumption that custom-character is valid, this is impossible.


      This completes the proof of Lemma 4.3. We now prove the following lemma: If custom-character does not abort in Step 2e, then except with negligible probability the oracle custom-character presents to custom-character is a BOS oracle. We prove the properties of a BOS oracle.
    • First distinguished query: Recall we assumed q1=α. If custom-character does not abort in Step 2e, then custom-character responds to the query with 1.
    • Sinks: Consider a query qi ∈Ω. We claim that EST(qi) gives measurement outcome pqi that is at most








1
2

+

ϵ



,




except with negligible probability. First consider replacing EST(qi)=APIϵ′/4,δPred,custom-character(qi) (which produces pqi) with ProjImp(custom-character(qi)), giving outcome p′. By Lemma 2, since Δϵ′/4(EST(qi), ProjImp(custom-character(qi))≤δ, we have |p′−pqi|<ϵ′/4 except with negligible probability.

    • Then we note that p′ must be at most ½+negl≤½+ϵ′/4, except with negligible probability. Indeed, if this were not the case, then the bit b produced by custom-character(q) could be predicted with non-negligible by probability. Thus we have that









"\[LeftBracketingBar]"



p

q
i


-

1
2




"\[RightBracketingBar]"





ϵ


/
2




ϵ


/
4.







    •  Now that











p

q
i





1
2

+

ϵ




,






    •  we use Lemma 4.3. If oqi=1, then pqi≥½+ϵ−iϵ′≥½+ϵ−rϵ′>½+1ϵ′ since (r+1)ϵ′<ϵ, we therefore have that oqi must be 0.

    • Local consistency: Suppose qi, qi+1 lie in the same part of ∥. We claim that the measurement outcomes pqi and pqi+1 satisfy pqi+1≥pqi−ϵ′. Indeed, consider replacing EST(qi+1)=APIϵ′/4,δPred,custom-character(qi) (which produces pqi+1) with each of the following:
      • EST(qi)=APIϵ′/4,δPred,custom-character(qi), given outcome p′. Since the last measurement on custom-character was also EST(qi), by being almost projective via Lemma 2, we have |p′−pqi|<ϵ′/4 except with negligible probability.
      • ProjImp(custom-character(qi+1)), giving p″. Again by Lemma 2, since Δϵ′/4(EST(qi), ProjImp(custom-character(qi))≤δ, we have |p″−p′|<ϵ′/4 except with negligible probability.
      • ProjImp (custom-character(qi+1)), giving p′″. Since qi, qi+1 are in the same part of Π, the distributions custom-character(qi) and custom-character(qi+1) are computationally indistinguishable. Therefore, by Lemma 2, |p′″−p′|≤ϵ′/4 except with negligible probability.
      • EST(qi+1), giving pqi+1. As above, by Lemma 2, we have |pqi+1−p′″|≤ϵ′/4 except with negligible probability. Putting the above inequalities together shows that |pqi+1−pqi|≤ϵ′ except with negligible probability.

    • Single-step Rewinding: If qi=qi−2, then Lemma 2 and the fact that EST(qi) is almost projective immediately gives us that |pqi−pqi−2|≤ϵ′/2≤ϵ′ except with probability Nδ+N/T+4√{square root over (δ)}=Nδ+(N+4)√{square root over (δ)}, which is negligible.


      One issue with the above proof is that in order to actually turn a bit predictor in the sink proof or a distinguisher in the local consistency proof into algorithms for the sink and partition indistinguishability games, the adversary needs to be able to run API, which in turn needs to get superpositions of samples from custom-character(q). While custom-character is allowed such queries, we do not allow adversaries for the sink and partition indistinguishability games such quantum access. However, following Zhandry, we can simulate such superpositions of samples with a polynomial number of samples, thus getting an algorithm for these games which only makes classical queries. This completes the proof of Lemma 4.3.





Now suppose LiveBOS happens. In this case, by Lemma 2, Δϵ′/4(EST(α), ProjImp(custom-character(α)))≤δ. This means, except with negligible probability δ, pα=pq1 will be at least ϵ−ϵ′/4≥pq0−ϵ′. Thus, custom-character will not abort in Step 2e. Therefore, by Lemma 4.3, custom-character presents a BOS oracle to custom-character, meaning custom-character outputs a w such that R(Π, w)=1. Thus LiveϵBOS∧¬SuccessϵBOS happens except with negligible probability.


We now turn to proving that FailϵBOS happens with negligible probability. For FailϵBOS to happen, we must have (1) that custom-character does not abort in Step 2e, and (2) that custom-character fails to output a w such that R(Π,w)=1. But by Lemma 4.3, if custom-character does not abort, then it presents a BOS oracle to custom-character except with negligible probability, meaning R(Π, w)=1. Thus FailϵBOS happens with negligible probability. This completes the proof of Theorem 4.3.


5 Post-Quantum Tracing with Embedded Identities


Here, we show how to build embedded identity traitor tracing from functional encryption, specifically a special case called private linear broadcast encryption (PLBE). PLBE with polynomial index space was first formalized by Boneh, Sahai, and Waters to build ordinary traitor tracing in the classical setting, and the result was upgraded to the quantum setting by Zhandry, though only in the setting of polynomial identity spaces. Using PLBE with exponential index space to build embedded identity traitor tracing was proposed by Nishimaki, Wichs, and Zhandry for the classical setting. Here, we upgrade their result to the quantum setting.


Let ΓFE be a functional encryption scheme. We construct the traitor tracing scheme ΓTT=(GenTT, DeriveTT, EncTT, DecTT, TraceTT), where we define GenTT, DeriveTT, EncTT, DecTT below:









Gen
TT



(


1
λ

,
N

)


=


Gen
FE



(

1
λ

)








Derive
TT

(

msk
,
id

)

=




Derive
FE

(

msk
,

f
id


)



where




f
id

(

x
,
m

)


=

{





m




if


x



id








otherwise







Enc
TT

(

pk
,
m

)


=




Enc
FE

(

pk
,


(

N
,
m

)


)





Dec
TT

(


sk
id

,
c

)


=


Dec
FE

(


sk
id

,
c

)










5.1 The Hidden Partition

We use the hidden partition custom-characterBnd, αBnd, ΩBnd, RBnd. We now explain how Construction 5 leads to an instance of the quantum hidden partition problem relative to this partition. We interpret an adversary custom-characterTT interacting in the tracing experiment as a quantum hidden partition sampler STT, where |Pcustom-character is the decoder |Dcustom-character outputted by custom-characterTT, Π is the contiguous partition whose boundaries are the identities queried by custom-characterTT. Finally custom-character, on input q, encrypts (q, mb) for a random choice of b to get ciphertext c, and outputs (c, b).


Assuming ΓFE is an adaptively secure FE scheme, the QHPS STT is valid for custom-characterBnd, αBnd, ΩBnd, RBnd. The unique sink is 0, and note that encryptions of (0, m) computationally hide m, since the only secret keys are fid for id>0. Thus the probability the adversary can predict b (and therefore win the sink indistinguishability experiment) is at most ½+negl.


Next, observe that encryptions of (q, m) and (q′, m) for q′>q decrypt identically under any secret key except those for id in the interval [q, q′−1]. Thus, by FE security, the encryptions are indistinguishable unless the adversary has an id∈[q, q′−1], meaning no efficient adversary can distinguish query responses from the same part of Π. Therefore, the probability of winning the partition indistinguishability experiment is ½+negl.


Assuming ΓFE is an adaptively secure FE scheme Construction 5 is quantum traceable. Letcustom-character(|Pcustom-character, 11/ϵ) be the algorithm guaranteed by Theorem 4.3 and the existence of custom-characterBnd. Then set TraceTT(pk, m0, m1, 11/ϵ, |Dcustom-character) to be custom-charactercustom-character(|Dcustom-character, 11/ϵ) where custom-character is the sampler above obtained from pk, m0, m1. Now consider the events LiveϵBOS, SuccessϵBOS, FailϵBOS for the QHPS described above, and the events LiveϵTT, SuccessϵTT, FailϵBOS for the tracing experiment with ΓTT from Construction 5. We see that the events exactly coincide; in particular D(α) is identical to running EncTT(pk, mb) for a random choice of b. Thus, by the guarantees of Theorem 4.3, ΓTT in Construction 5 is secure.


6 Traitor Tracing from Collusion-Resistant IPP Codes


It was previously shown how to construct collusion-secure traitor tracing with constant-sized ciphertexts from binary fingerprinting codes. The scheme, described momentarily, naturally generalizes to larger alphabets (at the cost of larger ciphertexts). However, the code needed for the generalization is not a fingerprinting code, but a collusion resistant identifiable parent property (IPP) code, which has a different marking condition. It turns out that IPP codes and fingerprinting codes coincide for binary codes. But by generalizing to larger alphabets (and using IPP codes) we can abstract other existing combinatorial schemes in the literature such as Chor, Fiat, and Naor.


We now recall the scheme, which is parameterized by a parameter t.


Let (GenPK, EncPK, DecPK) be a public key encryption scheme and (GenIPP, TraceIPP) a δ-robust fingerprinting code. Define the following algorithms, which depend on a parameter σ that may be a function of δ, λ, custom-character:

    • GenTT(1λ,1N, 1c): Run (tk′,w1, . . . , wN)←GenIPP(1λ, 1N, 1c). For custom-character∈[custom-character] and σ∈Σ, run (ekj,σ, dkj,σ)←GenPK(λ). Output
      • pk=custom-characterσ∈Σ(the public key)
      • tk=custom-characterσ∈Σ, tk′) (the tracing key)
      • ski=custom-character, wi) for custom-character∈[N] (the secret key for user custom-character)
    • where N is the total identity space, and c is the collision bound.
    • EncTT(pk, m): Choose a random subset T⊆[custom-character] of size t. Let mj, custom-character∈T be a t-out-of-t secret sharing of m: mj are uniform conditioned on ⊕j∈Tmj=m. For each j∈T, σ∈Σ, compute cj,σ=EncPK(ekj,σ, mj). Output c=(T, {cj,σ}j∈T,σ∈Σ).
    • DecTT(ski,c): For each j∈T, run mj′←DecPK(dkj,wi,j,custom-characterwi,j). Then output m′=⊕j∈Tmj′.


      Quantum Tracing Challenges. In the classical setting, tracing works by first extracting a codeword w* from the decoder D, and then traces w* using the fingerprinting code. The first step is accomplished roughly by replacing ci,σ with junk and seeing if D still decrypts. Based on this information, the tracer can determine if wi* should be one of the symbols in Σ or ?. By doing this for each i∈[custom-character], the tracer extracts an entire codeword w*.


We can easily mimic the above strategy in the quantum setting to derive a measurement for each i which computes wi*. The problem is that the measurements for each i might be incompatible, which means that the tracing algorithm cannot apply these measurements simultaneously. If applied sequentially, it could be that after computing the first several positions, the decoder becomes dead. There is no guarantee that an entire codeword w* can be computed.


More abstractly, any tracing algorithm that works within the globally consistent hidden partition model is likely only able to extract logarithmically many bits, which is insufficient for obtaining a full codeword for the fingerprinting code.


6.1 The Hidden Partition

We will assume the alphabet Σ is equal to [1, s]. Let custom-characterProd=[0, s]custom-character and αProd=custom-character. Let QδProd be the set of vectors w where the number of 0's is more than δcustom-character. We call a partition Π of custom-character valid if it is equal to a product partition Π1× . . . ×Πcustom-character where each Πi is a contiguous partition of [0, s].


Given a valid partition, let (ai,j)j for custom-character∈[custom-character] the boundaries of Πi. Let RδProd(Π, w) be the following relation:

    • Output 1 if Π is not valid. custom-character
    • Output 1 if (1) Π is valid with boundaries (ai,j)i,j, (2) for all custom-character∈[custom-character], wi=? or wi ∈(ai,j)j, and (3) the number of ? in w is at most δcustom-character.
    • Output 0 in all other cases.


The first condition means that we trivially win for all non-valid Π, and can focus on the case of valid Π, where the goal is to find a string w that does not have too many ? and matches the boundaries of the product partition.


We now explain how the tracing experiment for Construction 6 leads to a QHPS relative to (custom-characterProd, αProd, ΩδProd, RδProd). Given an adversary custom-characterTT, we define the QHPS SProd as follows: first run the tracing experiment with custom-characterTT, until custom-characterTT outputs (|Dcustom-character, m0*, m1*custom-character). Then set |Pcustom-character=|Dcustom-character. Let S be the set of id queried by custom-characterTT, and let S′ be the corresponding set of codewords in the IPP code given to the users in S. Let Π be the valid partition generated by S′.


Finally, let custom-character(q) be the algorithm which does the following: choose a random subset T⊆[custom-character] of size t. Choose a random bit b, and let m=mb*. Then let mj, custom-character∈T be a t-out-of-t secret sharing of m: mj are uniform conditioned on ⊕j∈Tmj=m. For each j∈T, σ∈Σ, compute







c

j
,
σ


=

{





Enc
PK



(


ek

j
,
σ


,

m
j


)






if


σ



q
j








Enc
PK



(


ek

j
,
σ


,
0

)




otherwise








Output c=(T, {cj,σ}j∈T,σ∈Σ) and b. In other words, custom-character(q) outputs an encryption of a random choice of mb*, except that it replaces the ciphertext components cj,σ with junk (importantly, independent of b) if qj<σ.


The QHPS then outputs (|Pcustom-character, Π, custom-character).


Assuming ΓPK is semantically secure and either (1) t≥(1−δ)custom-character or (2)







(





(

1
-
δ

)








t



)

/

(








t



)





is negligible, then SProd is valid for custom-characterProd, αProd, ΩProd, RProd. Let q∈ΩProd. Then q has strictly more than δcustom-character zeros; call this set custom-character. If T∩custom-character≠0, then the share mj inside T∩custom-character is information-theoretically hidden given c. Since the mj form a t-out-of-t secret sharing, this means if T∩custom-character≠∅, then b is statistically hidden. Thus, to prove the sink indistinguishability problem is hard, we just need to show that T∩custom-character≠0 with overwhelming probability. A simple combinatorial argument shows that







Pr
[


T





𝒵


θ

]

=


1
-

Pr
[


T





𝒵


θ

]


=



1
-


(





-



"\[LeftBracketingBar]"

𝒵


"\[RightBracketingBar]"







t



)


(








t



)





1
-


(






(

1
-
δ

)




-
1





t



)


(








t



)




=

1
-


(




(

1
-
δ

)




-
t



(

1
-
δ

)





)




(


(





(

1
-
δ

)








t



)


(








t



)


)









If t>(1−δ)custom-character, then







(





(

1
-
δ

)








t



)

=
0.




If t=(1−δ)custom-character, then (1−δ)custom-character−t=0. In either case, Pr[T∩custom-character≠∅]=1. Alternatively, if







(





(

1
-
δ

)








t



)

/

(








t



)





is negligible, then Pr[T∩custom-character≠∅]≥1−negl. Thus, under the conditions of Lemma 6.1, the sink indisitnguishability problem is hard.


We now turn to the partition indisitnguishability experiment. Suppose q1, q2 are in the same part of Π, and consider the distributions custom-character(q1) and custom-character(q2). We will argue they are indistinguishable. Toward that end, consider some j∈[custom-character]. Since q1, q2 are in the same part of Π, then q1,j and q2,j are in the same part of Πj. If we assume w log that q1,j≤q2,j, then Πi has no boundary in (q1,j,q2,j]. Now consider a ciphertext component cj,σ. If σ≤q1,j, then the distributions of cj,σ under custom-character(q1) and custom-character(q2) are identical. Likewise if σ>q2,j. On the other hand, for σ∈(q1,j, q2,j), custom-characterTT does not have the secret key dkj,σ. By the semantic security of ΓPK, the adversary cannot distinguish cj,σ under custom-character(qi) and custom-character(q2).


By a hybrid over all j, no efficient adversary can distinguish custom-character(q1) from custom-character(q2), proving the hardness of the partition indistinguishability experiment.


6.2 The BOS Algorithm

[BOS Algorithm custom-characterProd] Initialize x∈[0, custom-character], and set x=custom-character. Now query on x, which by definition gives 1. Then do the following for i=1, . . . , custom-character+1:

    • 1. For a=s, . . . , 1:
      • (a) Set x′=x, except that xi′ is set to a−1.
      • (b) Query on x′, receiving response o′.
      • (c) If o′=0, query on x, break the loop in Step 1, and proceed to the next iteration of the main loop over i.
      • (d) Otherwise, set x=x′, and proceed to the next iteration of the loop over a in Step 1.
    • 2. If the loop in Step 1 terminated with all responses o′ being 1, then set xi=0. Then proceed to the next iteration of the main loop over custom-character.


      In the end, output w, which is x but with every 0 replaced by ?.



custom-character
Prod solves (custom-characterProd, αProd, ΩProd, RδProd) in the BOS model. We maintain the invariant that each time we exit an iteration of the main loop over i, the last query was on x and the response was 1. There are two cases:

    • We exited the iteration from Step 1c. But in this step we query on x, so x is the most recent query at exit. Moreover, x was queried in the last iteration of the loop over a in Step 1, and the result must have been 1 in order to proceed to this iteration. Therefore, x was queried two queries ago and resulted in response 1. By single step rewinding, the latest query on x must also give 1.
    • We existed the iteration from Step 2. But here the most recent query was on x′, it resulted in query response 1, and in Step 1d we set x=x′.


We also see that if we exit the loop of Step 1 via Step 1c, then the adjacent queries x and x′ resulted in different outcomes, meaning a is a boundary of Πi.


The result is that the final x is a string where all the non-zero terms are boundaries of the respective component partition, and x∉ΩProd (since the query output was no 0), meaning the number of 0's in x is at most δcustom-character. Thus when we replace 0's with ?'s to get w, we have that RProd(Π, w)=1. We finally note that the number of queries custom-characterProd makes is at most O(scustom-character), which is polynomial.


Assuming ΓPK is a secure PKE scheme, Construction 6 is quantum traceable.


7 Tracing Embedded Identities with Short Ciphertexts


In Construction 5 from Section 5, the string x is n bits long, where n is the bit length of identities. It is also part of the message inputted to EncFE of the underlying functional encryption scheme. Therefore, the ciphertext size must grow with the bit length of identities. As observed by Nishimaki, Wichs, and Zhandry, this is not inherent to traitor tracing. They instead propose a different structure where ciphertexts may be independent of the identity length. We now recall their construction:


Let ΓFE be a functional encryption scheme. We construct the traitor tracing scheme ΓTT=(GenTT, DeriveTT, EncTT, DecTT, TraceTT), where we define GenTT, DeriveTT, EncTT, DecTT below:

    • GenTT(1λ)=GenFE(1λ)
    • DeriveTT(msk, id): choose a random τ∈[N] where N=2λ. Then return skτ,id









Derive
FE

(

msk
,

f

τ
,
id



)



where




f

τ
,
id


(

i
,
x
,
m

)


=

[




m




if


x





2
*
τ

-

id
i










otherwise



.






Note here that x∈[0,2N]=[0,2λ+1] and i∈[n], so the inputs to EncTT are bounded by O(λ) bits long, independent of n. Thus if ΓFE has succinct ciphertexts, so will ΓTT.

    • EncTT(pk, m)=EncFE(pk, (1, N, m))
    • DecTT(skτ,id, c)=DecFE(skτ,id, c)


      Tracing. The classical ideal behind the structure above is the following: first apply the tracing algorithm for Construction 5 setting i=1. The result is that the tracing algorithm outputs 2τ−id1 from some secret key. Since id1 is a single bit, this reveals uniquely both τ and the first bit of the associated identity. Then, by varying i and testing on ciphertexts encrypting (i, 2τ−1, m), one can learn the rest of the bits of id. Essentially, we know if the first phase accused 2τ−id1, there must be a gap in the success probabilities of the decoder on encryptions of (1,2τ−id1, m) and (1,2τ−id1−1, m). Call these two probabilities p0 and p1, respectively, which are far apart. Since the τ of various secret keys are unique whp, by the security of functional encryption, we know that the decryption probability for (i, 2τ−idi, m) must be close to p0, and the decryption probability for (i, 2τ−idi−1, m) must be close to p1. Put another way, the decryption probability for (i, 2τ−1, m) will be close to p1−idi, thus revealing idi.


Quantumly, we can employ the same strategy to recover τ, id1. However, recovering the rest of the bits of id will not work as in the classical case. This is because the probabilities p0, p1 may change as we further interrogate the decoder, so we cannot simply compare with the previous value. We therefore need to develop a new quantum algorithm for the problem.


7.1 The Hidden Partition

Let QShort=[n]×[0,2N] where N=2λ. Let αShort=(1,2N). Let ΩShort={(i,0)}. Consider a sequence (τ(1), id(1)), . . . , (τ(t), id(t)) where id(j)∈{0, 1}* and τ(j) ∈[N] with τ(1)(2)< . . . <τ(t). This gives rise to a partition Π={S0, . . . , St} of QShort consisting of sets Sj={(i,x):2τ(j)idi(j)≤x<2τ(j+1)−idi(j+1)} for j=1, . . . , t−1, S0={(i,x): x<2τ(1)−idi(1)}, and St={(i,x):2τ(t)−idi(t)≤x}. We call Π of this form contiguous, and we call (τ(j), id(j)) the boundaries of Π. Let RShort(Π, w) be the following relation:

    • Output 1 if Π is not valid
    • Output 1 if Π is valid, and w is a boundary of Π.
    • Output 0 if Π is valid but w is not a boundary of Π.


We now explain how Construction 7 leads to the quantum hidden partition problem relative to this partition. We interpret an adversary custom-characterTT interacting in the tracing experiment as a quantum hidden partition sampler STT, where |Pcustom-character is the decoder |Dcustom-character outputted by custom-characterTT, Π is the contiguous partition whose boundaries are the identities queried by custom-characterTT. Finally custom-character, on input (i, q), encrypts ((i, q), mb) for a random choice of b to get ciphertext c, and outputs (c, b).


Assuming ΓFE is a secure FE scheme, the QHPS is valid for custom-characterShort, αShort, ΩShort, RShort The sinks have the form (i, 0), and note that encryptions of ((i, 0), m) computationally hide m, since the only secret keys are fid for id>0. Thus the probability the adversary can predict b (and therefore win the sink indistinguishability experiment) is at most ½+negl.


Next, observe that encryptions of ((i, q), m) and ((i′, q′), m) decrypt identically if (i, q) and (i′, q′) are in the same part of H. Thus, by FE security, the encryptions are indistinguishable if they lie in the same part. Therefore, the probability of winning the partition indistinguishability experiment is ½+negl.


7.2 The BOS Algorithm

[BOS Algorithm custom-characterShort] Initialize integers a, b∈[0, 2N] and i∈[n]. Set a=2N, b=0, and query on (1, a), which by definition gives response o=1. Then do the following for at most O(kn log2 N) steps, where k in an upper bound on the number of parts in Π:

    • 1. Query on (1, b), obtaining response o.
    • 2. If o=1, set (a, b)=(b,0) and go to Step 1.
    • 3. Else (o=0):
      • (a) If b≠(a−1): Query on (1,a), set b=└(a+b)/2┘ (a remains unchanged), and go to Step 1.
      • (b) Else (b=a−1): Query on (1, a), parse a as 2τ−id1, and do the following for i=2, . . . , n:
        • i. Query on (i, 2τ−1), receiving response o.
        • ii. If o=0, query on (1, a), set idi=0, and proceed to the next i.
        • iii. Else (o=1):
          • A. Query on (i, 2τ−2), receiving response d.
          • B. If o′=0, set idi=1, query on (i, 2τ−1) and then (1, a) and proceed to the next i.
          • C. Else (o′=1), set (a, b)=(a−1, 0), clear τ, id, exit the loop over i in Step 3b, and go to Step 1.
        • If the loop over i in Step 3b completes (that is, if we never have o′=1), output (τ, id).



custom-character
Short solves (custom-characterShort, αShort, ΩShort, RShort) in the BOS model. We will eventually find a, b=a−1 where the previous query was on (1, a−1) and gave 0, and the query before was on (1,a) and gave 1. This is Step 3b. By local consistency, a=2τ−id1 for some (τ, id) that defined the partition. We then query on (1, a) again, which by single step rewinding gives 1.


It remains to show that id is obtained in its entirety. This is done by trying to ascertain if (i, 2τ−1) lies in the same part as (1, a) or (1, a−1). This is done by querying on (i,2τ−1). If the result is 0 (Step 3(b)ii), we know by local consistency (and the fact that the last query was on (1, a) and gave 1) that (i, 2τ−1) cannot be in the same part as (1, a). So we set idi=0 and move on to the next bit of id. In order to guarantee that the last query response was 1, we query again on (1, a), which, by single-step rewinding will give 1.


If o=1, we do not immediately learn which part (i, 2τ−1) is in. So we also query on (i, 2τ−2) to get response o′ (Step 3(b)iiiA). If the response is now 0, we know that (i,2τ−1) and (i, 2τ−2) are in different parts, meaning (i, 2τ−1) is in the same part as (1, a). Thus we set idi=1 and move on to the next bit of id (Step 3(b)iiiB). But first we query again on (i, 2τ−1), which by single-step rewinding gives 1. Then we query on (1, a), which gives 1 by local consistency.


If on the other hand the response o′ is once again 1, then we learn nothing about idi. However, in this case, we have exactly the setup of a new hidden partition with N=τ−1. In particular, we know there must be a (τ′, id′) with τ′<τ. We therefore proceed back to Step 1 but with the new N=τ−1. A simple inductive argument shows that we will eventually find such a (τ′, id′). This completes the proof.


Assuming FE, Construction 7 is quantum traceable. Let custom-character(|Pcustom-character, 11/ϵ) be the algorithm guaranteed by Theorem 4.3 and the existence of custom-characterShort. Then set TraceTT(pk, m0,m1, 11/ϵ, |Dcustom-character) to be custom-character(|Dcustom-character, 11/ϵ) where custom-character is the sampler obtained from pk, m0, m1 described in Section 7.1. Now consider the events LiveϵBOS, SuccessϵBOS, FailϵBOS for the QHPS described in Section 7.1, and the events LiveϵTT, SuccessϵTT, FailϵTT for the tracing experiment with ΓTT from Construction 7; in particular D(α) is identical to running EncTT(pk, mb) for a random choice of b. We see that the events exactly coincide. Thus, by the guarantees of Theorem 4.3, ΓTT in Construction 7 is secure.


Example Systems and Apparatuses of the Present Disclosure

Referring to FIG. 1, a block diagram of a quantum computer tracer apparatus is depicted. The diagram illustrates the flow of information between a Quantum Decoder Program, a Translator Algorithm with an embedded State Repair Procedure, and a Query Generator Algorithm, culminating in the identification of a Traitor User Identity. The Quantum Decoder Program feeds into the Translator Algorithm, which interacts with the Query Generator Algorithm by receiving inputs and sending back queries. The State Repair Procedure is a component within the Translator Algorithm that contributes to the process leading to the determination of the Traitor User Identity.


In some aspects, the Translator Algorithm and the Query Generator Algorithm may be instantiated, forming a computer tracer apparatus. The Translator Algorithm may receive a decoder program and generate responses to queries based on a set of rules, which may include a state repair procedure. In some cases, the Translator Algorithm may produce a final output based on the final output from the Query Generator Algorithm and store this as the identity of one or more traitor users.


Upon receiving a query from the Query Generator Algorithm, the Translator Algorithm may perform the state repair procedure or may not, depending on the queries received by that time. The Translator Algorithm may then respond to the query with 0 or 1 based on a computation involving the query and the decoder.


The state repair procedure may receive as input a quantum decoder as a quantum system and two quantum measurements M1, M2 whose outputs are real numbers between 0 and 1, and a threshold. The state repair procedure may modify the decoder in order to increase the value produced by M1. The state repair procedure may then alternatively apply M1, M2, M1, M2, . . . , and terminate when an application of M1 produces an output above the threshold.


In some aspects, the translator algorithm may include a probability estimation procedure. This procedure may execute based on a query, denoted as qi, and using the decoder program. The outcome of this procedure, denoted as pqi, may be a real number between 0 and 1. Based on previous outputs of the probability estimation procedure, the translator algorithm may set an output, denoted as oqi, to be either 0 or 1.


In some cases, the query generator algorithm may execute by initializing two integers, denoted as a and b, to be a value N and 0, respectively, where N is determined based on system parameters. The query generator algorithm may then produce a query, denoted as qi, which is set to b. Upon obtaining a response, denoted as o, the query generator algorithm may adjust the integers a and b based on the response. If the response o equals 1, the query generator algorithm may set a to be b and b to be 0, and then proceed to generate a new query. Otherwise, if b equals a minus 1, the query generator algorithm may output a as the final output. If b does not equal a minus 1, the query generator algorithm may produce a new query qi, set b to be the integer part of the sum of a and b divided by 2, and then proceed to generate a new query. This process may continue until a final output is produced by the query generator algorithm.


To accomplish this, the parties may use any of the computer systems, including the communications networks, described herein.



FIG. 2 illustrates a block diagram of a system that may be specially configured within which embodiments of the present disclosure may operate. Specifically, FIG. 2 depicts an example system 100. The example system 100 includes a client device 104 and a quantum computing system 102. The client device 104 and quantum computing system 102 are communicable via a communications network 106. It should be appreciated that, in other embodiments, the system 100 includes one or more additional and/or alternative devices, which may operate independently and/or communicate with other devices of the system.


In some embodiments the client device 104 embodies one or more computing devices embodied in hardware, software, firmware, and/or any combination thereof. The client device 104 may be embodied by a user device configured to provide various functionality. In this regard, the client device 104 may embody a conventional computing environment that interacts with the quantum computing system 102. Non-limiting examples of a client device 104 include a specially configured mobile device, tablet, smartphone, personal computer, laptop, enterprise terminal, and/or the like. In some embodiments, the client device 104 is configured entirely by specially configured software application(s) installed to and/or otherwise executable via the client device 104 to provide various functionality for accessing and/or otherwise controlling the quantum computing system 102 as described herein. In various embodiments, the client device 104 is a conventional and/or classical computer.


In some embodiments, the client device 104 includes specially configured hardware, software, firmware, and/or a combination thereof, that enables access to and/or configuration of the quantum computing system 102. In some embodiments, the client device 104 provides access to functionality for generating and/or retrieving a quantum program for execution via a quantum computer of the quantum computing system 102. In this regard, the client device 104 may receive one or more user input(s) for constructing and/or that otherwise embody the quantum program to be executed. In this regard, a user of the client device 104 may interact with the client device 104 to construct a quantum circuit, store the quantum circuit, and submitting the quantum circuit for execution via a quantum computing system, such as the quantum computing system 102. In some embodiments, the client device 104 is embodied by a user-facing device of the quantum computing system 102, for example such that communications can occur without requiring the communications network 106.


Alternatively or additionally, in some embodiments, the client device 104 enables user input and/or output for accessing the quantum computing system 102 to execute a quantum program. In some embodiments, the client device 104 communicates with one or more computing devices of the quantum computing system 102, such as a controller, that generates and/or compiles instructions for executing via a quantum computer. For example, in some embodiments, the quantum computing system 102 includes a controller that receives the quantum program from the client device 104 and compiles it to produce control system instructions embodying hardware manipulation instructions for running the quantum program on a specific quantum computer. In some embodiments, the controller is embodied by one or more computing devices external from but communicable with the quantum computing system 102. For example, the controller may be embodied by a circuit compiler embodied in a dedicated computing system embodied in hardware, software, firmware, and/or a combination thereof internal or external to the quantum computing environment 102, dedicated hardware communicable with a quantum computer of the quantum computing system 102, software executing on a computing system communicable with the quantum computer of the quantum computing system 102, and/or the like,


The quantum computing system 102 may include one or more computing device(s) that enable compilation of a quantum program and/or use of a quantum computer for preforming a quantum program. In some embodiments, for example, the quantum computing system 102 includes a controller, a quantum computing environment, and various devices for physically manipulating the quantum computer. The quantum computing environment may include an ion trap architecture (e.g., linear, loop, and/or the like) for storing and manipulating qubits for gating. The controller may embody one or more computing device(s) embodied in hardware, software, firmware, and/or a combination thereof, that control the various devices that manipulate the quantum computer. Such control device(s) may include laser(s), cooling device(s), and/or the like. In some embodiments, the controller embodies a conventional computing system, for example specially configured via one or more specialized software application(s) to execute one or more process(es) that determine positions for the qubits at various time steps and/or instructions for repositioning the qubits to such position. For example, the controller may determine position assignments for each qubit at various time steps, and/or instructions embodying swap commands to cause the qubits to reach such positions at each of the appropriate time steps. In some embodiments, one or more device(s) of the quantum computing system 102 (e.g., a controller) receive data from the client device 104 that embodies the quantum program, instructions to be performed to manipulate the quantum computer, and/or the like.



FIG. 3 illustrates a block diagram of an example apparatus for global qubit placement assignment that may be specially configured in accordance with at least some example embodiment of the present disclosure. In some embodiments, the controller of the quantum computing system 102 is embodied by one or more computing systems, such as the apparatus 300 as depicted and described in FIG. 3. The apparatus 300 includes processor 302, memory 304, input/output circuitry 306, communications circuitry 308, and qubit positioning circuitry 310. The apparatus 300 may be configured, using one or more of the sets of circuitry 302, 304, 306, 308, and/or 310, to execute the operations described herein.


Although components are described with respect to functional limitations, it should be understood that the particular implementations necessarily include the user of particular computing hardware. It should also be understood that certain of the components described herein may include similar or common hardware. For example, two sets of circuitry may both leverage use of the same processor(s), network interface(s), storage medium(s), and/or the like, to perform their associated functions, such that duplicate hardware is not required for each set of circuitry. The user of the term “circuitry” as used herein with respect to components of the apparatuses described herein should therefore be understood to include particular hardware configured to perform the functions associated with the particular circuitry as described herein.


Particularly, the term “circuitry” should be understood broadly to include hardware and, in some embodiments, software for configuring the hardware. For example, in some embodiments, “circuitry” includes processing circuitry, storage media, network interfaces, input/output devices, and/or the like. Alternatively or additionally, in some embodiments, other elements of the apparatus 300 may provide or supplement the functionality of another particular set of circuitry. For example, the processor 302 in some embodiments provides processing functionality to any of the sets of circuitry, the memory 304 provides storage functionality to any of the sets of circuitry, the communications circuitry 308 provides network interface functionality to any of the sets of circuitry, and/or the like.


In some embodiments, the processor 302 (and/or co-processor or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory 304 via a bus for passing information among components of the apparatus 300. In some embodiments, for example, the memory 304 is non-transitory and may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory 304 in some embodiments includes or embodies an electronic storage device (e.g., a computer readable storage medium). In some embodiments, the memory 304 is configured to store information, data, content, applications, instructions, or the like, for enabling the apparatus 300 to carry out various functions in accordance with example embodiments of the present disclosure.


The processor 302 may be embodied in a number of different ways. For example, in some example embodiments, the processor 302 includes one or more processing devices configured to perform independently. Additionally or alternatively, in some embodiments, the processor 302 includes one or more processor(s) configured in tandem via a bus to enable independent execution of instructions, pipelining, and/or multithreading. The use of the terms “processor” and “processing circuitry” may be understood to include a single core processor, a multi-core processor, multiple processors internal to the apparatus 300, and/or one or more remote or “cloud” processor(s) external to the apparatus 300.


In an example embodiment, the processor 302 may be configured to execute instructions stored in the memory 304 or otherwise accessible to the processor. Alternatively or additionally, the processor 302 in some embodiments is configured to execute hard-coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 302 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Alternatively or additionally, as another example in some example embodiments, when the processor 302 is embodied as an executor of software instructions, the instructions may specifically configure the processor 302 to perform the algorithms embodied in the specific operations described herein when such instructions are executed.


As one particular example, the processor 302 may be configured to perform various operations associated with improved traitor tracing, for example as described with respect to operation of the quantum computing system 102 and/or as described further herein.


In some embodiments, the apparatus 300 includes input/output circuitry 306 that may, in turn, be in communication with processor 302 to provide output to the user and, in some embodiments, to receive an indication of a user input. The input/output circuitry 306 may comprise one or more user interface(s) and may include a display that may comprise the interface(s) rendered as a web user interface, an application user interface, a user device, a backend system, or the like. In some embodiments, the input/output circuitry 306 may also include a keyboard, a mouse, a joystick, a touch screen, touch areas, soft keys a microphone, a speaker, or other input/output mechanisms. The processor 302 and/or input/output circuitry 306 comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor (e.g., memory 304, and/or the like). In some embodiments, the input/output circuitry 306 includes or utilizes a user-facing application to provide input/output functionality to a client device and/or other display associated with a user.


The communications circuitry 308 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device, circuitry, or module in communication with the apparatus 300. In this regard, the communications circuitry 308 may include, for example, a network interface for enabling communications with a wired or wireless communication network. For example, the communications circuitry 308 may include one or more network interface card(s), antenna(s), bus(es), switch(es), router(s), modem(s), and supporting hardware, firmware, and/or software, or any other device suitable for enabling communications via one or more communication network(s). Additionally or alternatively, the communications circuitry 308 may include circuitry for interacting with the antenna(s) and/or other hardware or software to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some embodiments, the communications circuitry 308 enables transmission to and/or receipt of data from a client device in communication with the apparatus 300.


It should be appreciated that, in some embodiments, qubit positioning circuitry 310 may include a separate processor, specially configured field programmable gate array (FPGA), or a specially programmed application specific integrated circuit (ASIC). Additionally or alternatively, in some embodiments, one or more of the sets of circuitries 302-310 are combinable. Alternatively or additionally, in some embodiments, one or more of the sets of circuitry perform some or all of the functionality described associated with another component. For example, in some embodiments, one or more of the sets of circuitry 302-310 are combined into a single module embodied in hardware, software, firmware, and/or a combination thereof. Similarly, in some embodiments, one or more of the sets of circuitry, for example qubit positioning circuitry 310 is combined such that the processor 302 performs one or more of the operations described above with respect to each of these modules.


Referring to FIG. 4, the figure illustrates classical computing components. These components may be part of a classical system, such as the client device 104 or the quantum computing system 102, as depicted in FIG. 2. The classical computing components may include various hardware and software elements that facilitate the operation of the classical system. These elements may include, but are not limited to, processors, memory units, input/output devices, and communication interfaces. In some cases, these classical computing components may execute algorithms, such as the query generator algorithm described earlier, and process data received from or sent to the quantum computing system 102. In other cases, the classical computing components may facilitate user interaction with the quantum computing system 102 or other devices or systems connected to the network cloud 106.


Referring now to FIG. 5, the figure illustrates additional classical computing components. These components may be part of a classical system, such as the client device 104 or the quantum computing system 102, as depicted in FIG. 2. The classical computing components may include various hardware and software elements that facilitate the operation of the classical system. These elements may include, but are not limited to, processors, memory units, input/output devices, and communication interfaces. In some cases, these classical computing components may execute algorithms, such as the query generator algorithm described earlier, and process data received from or sent to the quantum computing system 102. In other cases, the classical computing components may facilitate user interaction with the quantum computing system 102 or other devices or systems connected to the network cloud 106.


A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.


Although an example processing system has been described above, implementations of the subject matter and the functional operations described herein can be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.


Embodiments of the subject matter and the operations described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described herein can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, information/data processing apparatus. Alternatively, or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information/data for transmission to suitable receiver apparatus for execution by an information/data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).


The operations described herein can be implemented as operations performed by an information/data processing apparatus on information/data stored on one or more computer-readable storage devices or received from other sources.


The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a repository management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.


A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or information/data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.


The processes and logic flows described herein can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input information/data and generating output. Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and information/data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive information/data from or transfer information/data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Devices suitable for storing computer program instructions and information/data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.


To provide for interaction with a user, embodiments of the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information/data to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.


Embodiments of the subject matter described herein can be implemented in a computing system that includes a back-end component, e.g., as an information/data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital information/data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).


The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits information/data (e.g., an HTML page) to a client device (e.g., for purposes of displaying information/data to and receiving user input from a user interacting with the client device). Information/data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.


While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any disclosures or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular disclosures. Certain features that are described herein in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.


Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.


Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

Claims
  • 1. A method executing on a computer for a tracer for detecting if a decoder device is executing a pirated copy of a decryption key acquired from one or more traitor users, the method comprising: instantiating a translator algorithm, which in combination with a query generator algorithm, comprises a computer tracer apparatus;instantiating the query generator algorithm, the algorithm configured for: generating an initial set of queries, and generating subsequent sets of queries based on inputs from the translator algorithm;generating a final output based on responses it receives from the translator algorithm;by the translator algorithm: receiving a decoder program;receiving the initial set of queries qi from the query generator algorithm;generating responses to the the initial set of queries based on a set of rules comprising at least a state repair procedure;receiving subsequent queries qi from the query generator algorithm;generating subsequent responses to the subsequent queries;receiving the final output from the query generator;producing a final translator output based on the final output from the query generator; andstoring the final translator output as the the identity of one or more traitor users.
  • 2. The method of claim 1, wherein the translator, upon receiving a query from the query generator: either performs the state repair procedure or does not, depending on the queries received by that time; then responding to the query with 0 or 1 based on a computation involving the query and the decoder.
  • 3. The method of claim 1, wherein the state repair procedure: receives as input a quantum decoder as a quantum system and two quantum measurements M1, M2 whose outputs are real numbers between 0 and 1, and a threshold;modifies the decoder in order to increase the value produced by M1; andthen alternatively applying M1, M2, M1, M2, . . . , and terminating when an application of M1 produces an output above the threshold.
  • 4. The method of claim 1, the translator further comprising a probability estimation procedure, wherein the estimation procedure is configured for: a. executing based on qi and using the decoder program, andb. producing an outcome that is pqi, which is a real number between 0 and 1, andat the translator, based on previous outputs of the probability estimation procedure, setting oqi to be 0 or 1.
  • 5. The method of claim 1, wherein the query generator executes by: a. initializing integers a to be N and b to be 0, wherein N is determined based on system parameters;b. producing a query qi which is set to b;c. obtaining a response o;d. if o=1, set a=b and b=0, then go to step b; otherwise: if b=a−1, then output a as the final output of the query generator; if b≠a−1, produce the query qi which is set to a, set b to be the integer part of (a+b)/2, and go to step b.
  • 6. The method of claim 1, wherein the system is a quantum system comprised of qbits, and wherein the algorithm for generating queries executes on a classical system.
  • 7. A computerized system for a tracer for detecting if a decoder device is executing a pirated copy of a decryption key acquired from one or more traitor users, the system comprising a processor configured for: instantiating a translator algorithm, which in combination with a query generator algorithm, comprises a computer tracer apparatus;instantiating the query generator algorithm, the algorithm configured for: generating an initial set of queries, and generating subsequent sets of queries based on inputs from the translator algorithm;generating a final output based on responses it receives from the translator algorithm;by the translator algorithm: receiving a decoder program;receiving the initial set of queries qi from the query generator algorithm;generating responses to the the initial set of queries based on a set of rules comprising at least a state repair procedure;receiving subsequent queries qi from the query generator algorithm;generating subsequent responses to the subsequent queries;receiving the final output from the query generator;producing a final translator output based on the final output from the query generator; andstoring the final translator output as the the identity of one or more traitor users.
  • 8. The system of claim 7, wherein the translator, upon receiving a query from the query generator: either performs the state repair procedure or does not, depending on the queries received by that time; then responding to the query with 0 or 1 based on a computation involving the query and the decoder.
  • 9. The system of claim 7, wherein the state repair procedure: receives as input a quantum decoder as a quantum system and two quantum measurements M1, M2 whose outputs are real numbers between 0 and 1, and a threshold;modifies the decoder in order to increase the value produced by M1; andthen alternatively applying M1, M2, M1, M2, . . . , and terminating when an application of M1 produces an output above the threshold.
  • 10. The system of claim 7, the translator further comprising a probability estimation procedure, wherein the estimation procedure is configured for: a. executing based on qi and using the decoder program, andb. producing an outcome that is pqi, which is a real number between 0 and 1, andat the translator, based on previous outputs of the probability estimation procedure, setting oqi to be 0 or 1.
  • 11. The system of claim 7, wherein the query generator executes by: a. initializing integers a to be N and b to be 0, wherein N is determined based on system parameters;b. producing a query qi which is set to b;c. obtaining a response o;d. if o=1, set a=b and b=0, then go to step b; otherwise: if b=a−1, then output a as the final output of the query generator; if b≠a−1, produce the query qi which is set to a, set b to be the integer part of (a+b)/2, and go to step b.
  • 12. The system of claim 7, wherein the system is a quantum system comprised of qbits, and wherein the algorithm for generating queries executes on a classical system.
  • 13. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor at a compute device, the code further comprising commands for: instantiating a translator algorithm, which in combination with a query generator algorithm, comprises a computer tracer apparatus;instantiating the query generator algorithm, the algorithm configured for: generating an initial set of queries, and generating subsequent sets of queries based on inputs from the translator algorithm;generating a final output based on responses it receives from the translator algorithm;by the translator algorithm: receiving a decoder program;receiving the initial set of queries qi from the query generator algorithm;generating responses to the the initial set of queries based on a set of rules comprising at least a state repair procedure;receiving subsequent queries qi from the query generator algorithm;generating subsequent responses to the subsequent queries;receiving the final output from the query generator;producing a final translator output based on the final output from the query generator; andstoring the final translator output as the the identity of one or more traitor users.
  • 14. The media of claim 13, wherein the translator, upon receiving a query from the query generator: either performs the state repair procedure or does not, depending on the queries received by that time; then responding to the query with 0 or 1 based on a computation involving the query and the decoder.
  • 15. The media of claim 13, wherein the state repair procedure: receives as input a quantum decoder as a quantum system and two quantum measurements M1, M2 whose outputs are real numbers between 0 and 1, and a threshold;modifies the decoder in order to increase the value produced by M1; andthen alternatively applying M1, M2, M1, M2, . . . , and terminating when an application of M1 produces an output above the threshold.
  • 16. The media of claim 13, the translator further comprising a probability estimation procedure, wherein the estimation procedure is configured for: a. executing based on qi and using the decoder program, andb. producing an outcome that is pqi, which is a real number between 0 and 1, andat the translator, based on previous outputs of the probability estimation procedure, setting oqi to be 0 or 1.
  • 17. The media of claim 13, wherein the query generator executes by: a. initializing integers a to be N and b to be 0, wherein N is determined based on system parameters;b. producing a query qi which is set to b;c. obtaining a response o;d. if o=1, set a=b and b=0, then go to step b; otherwise: if b=a−1, then output a as the final output of the query generator; if b≠a−1, produce the query qi which is set to a, set b to be the integer part of (a+b)/2, and go to step b.
  • 18. The media of claim 13, wherein the system is a quantum system comprised of qbits, and wherein the algorithm for generating queries executes on a classical system.
CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application Ser. No. 63/499,259 filed May 1, 2023, the content of which is incorporated by reference herein in its entirety.

Provisional Applications (1)
Number Date Country
63499259 May 2023 US