Case: I give you a "live" box with quantum signals going through it (while performing calculations) and which contains quantum logic gates. You don't know exact internal structure of box, but you're allowed to use whatever tech tool to analyse and elaborate it (including open the box and "look" in whatever way you prefer to).


  1. Is there a way to reverse engineer the box, i.e. to provide what is going inside it: 1a. what logic gates it's comprised of? 1b. what data has been passed (bits pattern) from time t1 till t2 through its certain segment?

  2. Is it a must to "shut off" the box (in advance or in the middle) to answer on 1a or 1b?

  3. What are exact steps "to solve" if answer on q1 is "Yes"?

  4. If there is a difference (to answer or to step on) between questions (regarding reverse engineering gates vs reverse engineering data) above - please split your answer accordingly.

P.S. I did't want to ask as separated questions since all sections are strongly co-related each other. P.S. 2: If there are differences from implementation point of view (spin of electrons or entanglement of photons) - please split your answer as well respectively to each scenario. Thanks :)

  • $\begingroup$ Knowing the internal structure of the box, and being allowed to open it up and look inside, are the same thing. So there is a contradiction in the constraints you have given. Either I can know what the internal structure is, or I can't open it up and look inside. Although this is somewhat subtle, especially if the quantum computer is running. $\endgroup$ – Joel Klassen Jul 11 '16 at 16:22
  • $\begingroup$ If I give you Intel Xeon chip and ask to tell me exact logic configuration - I don't think you can by just looking on it. By looking I mean perceiving impression (with naked eye or microscope) visually, looking on surface only. But you can use tools to strip layers to delve into 3D structure, OK. Still, by visually looking I don't think you have all info to derive full configuration of chip from (configuration is: gate types and their interconnections, firmware burnt, programmable parts to workaround potential HW bugs, etc. Am I clearer now? $\endgroup$ – Leon Kigelman Jul 11 '16 at 16:45
  • $\begingroup$ No this is not clearer. If you mean that I can only use my naked eye, then you should not say that I can use any tool I like. If I can use any tool I like, then I can learn almost anything I like about structure of the device. $\endgroup$ – Joel Klassen Jul 11 '16 at 16:56
  • $\begingroup$ Use microscope, like I pointed - no problem. Use optical till zoom-in becomes not enough, use scanning EM for better resolution, but you drastically hurt (at least its temporary behaviour, maybe irreversibly the whole chip) the chip I gave you (striking electron beam of microscope). And above all you have fact that measurements cause qubits to collapse, so again you damage at least the behaviour (I meant your to not change behaviour, just look (although not-so passively, but maybe there is "passive" way to "see/hear" what's going on there). $\endgroup$ – Leon Kigelman Jul 11 '16 at 17:02
  • $\begingroup$ It is definitely possible to recover large portions, if not all, of the inner workings of a modern Intel processor using standard research-grade microscopy. (I have friends that have done this to specific sub-components for their research.) If the matter is truly "how much damage will be done in the process?", then that's a matter of how robust and modular the manufacturer has made their design -- which is something we can't say until a quantum computer has been built. $\endgroup$ – Alex Meiburg Jul 12 '16 at 8:54

Suppose you have a black box, which takes an arbitrary pure quantum state as input, and returns a new pure quantum state. This is not an unreasonable definition of a quantum computer for our purposes. This black box can be expressed as a unitary matrix.

If our goal is to determine what that unitary operation is, then we are interested in performing what is called quantum process tomography. This is a very well studied field of quantum information, and it is understood how to do this theoretically. The way it works is by preparing known input states, passing them through the black box, and then doing quantum state tomography on the outputs. Quantum state tomography is where you take many copies of a state and make different measurements until you have sufficient measurements to know what the state is. Once we know a sufficient number of input output combinations, then we can deduce what the black box is doing. However, as the size of your input states becomes large, the number of times you have to use the black box to determine what the unitary operation is will grow far too rapidly to be practical. Note that this does not allow you to know precisely how the quantum computer is constructed, but just what it does.

I think this answers question 1a, question 2, and question 3 in one interpretation of the question.

Question 1b is ill posed. The problem is that if a quantum computer is operating properly, then the question of what data (that is, classical information) is passing through which gates at which time, does not have a definite answer. If it did have a definite answer, then it would no longer be a quantum computer, and might instead be some kind of classical computer.

Finally, if you wish to know how the black box is constructed, you will have to crack it open and look at its guts. There's no way to tell what is going on inside just by looking at the inputs and outputs. That is the definition of a black box.

  • $\begingroup$ Thanks, I now understand it better. I meant you can open, this is "transparent" box in sense you can open, and use whatever tool you think may help you: screw, microscope, you can do "CT" to whole chip and derive it's full 3D structure (upon realistic resolutions possible). In short: I give you a box and ask you to give me its internal structure to be able to duplicate by myself the "same copy of" off-line, after you provide me charts of how it is built. $\endgroup$ – Leon Kigelman Jul 11 '16 at 17:16

To be honest, I think that the question is rather pointless at the moment. The reason is that we don't even have a quantum computer yet.

Consider a classical computer: If you only know the outcome of the computer and the problem you feed into it, and if you know classical algorithms, you can (try to) cook up an algorithm that does the same. Naturally, the algorithm might be different in many ways from what is really going on, because there are many ways to do the same computation. If you don't know what the algorithm is supposed to do (e.g. cryptography), your result will probably only poorly immitate the box unless you know what happens with all possible inputs. You can compare computation times between implementations to see whether your reverse-engineered algorithm behaves similarly in that respect, you can use general patterns of human programming to argue that the algorithm will probably be similar, but none of this will actually tell you whether you reverse-engineered the same algorithm as the one in the box. The same will be true with quantum computation using quantum state and process tomography.

If you really want to know more about what's going on in the classical computer/box, you need to have more information. For instance, you need to plug in an oscilloscope and measure electricity at different points of the computation, etc. Or you need to know which language and library the code was written in and which compiler was used. If you want to truly reverse engineer the program, you need to understand in detail how the computer/the box works.

At this point, we run into a problem: Since there is no quantum computer, we can't know how it works. We have no idea which of the many paradigms it will ultimately be based on (e.g.: will there even be gates?), so we also don't know how to get more information out. Clearly, it'll be by doing measurements somewhere inside the box (some form of quantum process tomography) and clearly it'll be a bit harder because of the probabilistic nature of the device, but I doubt you can say more.

  • 2
    $\begingroup$ Excuse me, but I don't agree. Not having something doesn't necessarily mean you can't predict how it works. Me and you don't have private plane, but we assume quite precisely what parts it consists of, and if I want to analyse crash upon video or pictures, I can give 3-10 possible root problems of what could have happened. My question is not philosophical, although I agree that today not so practical. $\endgroup$ – Leon Kigelman Jul 11 '16 at 16:53
  • 1
    $\begingroup$ You say: "If you only know the outcome of the computer and the problem you feed into it, and if you know classical algorithms, you can cook up an algorithm that does the same." No you can't, not efficiently. This is the basis for classical cryptography. $\endgroup$ – Peter Shor Jul 11 '16 at 17:20
  • 1
    $\begingroup$ @Leon: I think the right answer to this question (which the other answer gave) is "look at quantum process tomography". Whether you'll be able to open up a quantum computer and use quantum process tomography to reverse engineer all the pieces is probably currently unanswerable, but I can't imagine how you could reverse engineer a quantum computer without using it. $\endgroup$ – Peter Shor Jul 12 '16 at 2:35
  • 1
    $\begingroup$ I would say, for a given unitary operation U, there are different ways to achieve it. Is the 'reverse engineering' expected to achieve the goal to find out which way the operation U is realized? Then I am afraid the quantum process tomography will not work. Or even given U, to find an efficient way to achieve it is generally difficult itself. $\endgroup$ – XXDD Jul 19 '16 at 14:25
  • 1
    $\begingroup$ @X.Dong: Exactly. And reverse engineering mostly refers to finding out how exactly $U$ is implemented, not just finding out what $U$ does and rebuilding it in any way. $\endgroup$ – Martin Jul 19 '16 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.