 have some equipment to give up a way up here so feel free to ask a question and if it's really good or really dumb then you can probably get a piece of equipment here. Can you hear me in back all right? Okay. Use the middle mic. All right. All right. Is this better? Okay. Let's start over. This is Quantum Computing 101 how to crack RSA. This is a change from the printed schedule substituting for the talk that didn't show up. My name is Walter Dougherty. I teach computer science in Texas A&M University in College Station Texas which is the home of the Aggies. I heard a few Aggies here so for those of you who don't know the translation for greets and shouts is howdy and giggum. So howdy and giggum to dark tangent for putting on such cool blackhead and DEFCON conferences. I'm not John Erickson or Super Dave if you've been to previous DEFCONs you already know something about quantum computing. You can read about me on the slides. Here's what we're going to talk about. First of all what is quantum computing? Next how does it work? Why is it exponentially faster than classical computing and by classical I mean the kind of computing we're all doing today. I don't mean using vacuum tubes and how can a quantum computer crack RSA? First we need to define what a quantum is. If you look in just a dictionary or the ordinary English usage a quantum is a significant step. So for example if you're going to mail a letter you have to put one stamp on it for the first ounce and then if it's 0.0001 ounces over one ounce you have to put a second stamp on it. So the quantum is a significant step. We have the phrase in English to make a quantum leap means to make a significant step. In science it refers to something which is a unit or a step. So for example I can charge up a capacitor with seven billion electrons on one plate or seven billion and one electrons on that plate. I can't put seven billion point thirty four electrons on it. You can't put point thirty four of an electron on something. So the number of electrons would be the quanta involved there. Quantum mechanics has been around for about 75 years. Everybody from Einstein to Feynman has agreed that this stuff is really weird and so lots of people didn't believe it. Lots of people have spent a lot of time constructing experiments to prove that quantum mechanics is wrong. All the experiments have failed. So for the last 75 years quantum mechanics has stood up to all the tests that people can make against it. Just let me give you one example of how weird quantum mechanics is and you can do this yourself with a laser pointer and three Polaroid sunglasses. I wish I had a lapel mic. I need both hands. Oh well. Take your laser pointer, shine it through one lens of Polaroid sunglasses. You all know what Polaroid sunglasses do. They basically make the light waves go through in one orientation. So you're going if the beam from the laser is aligned with the polarization you'll get 100% of the light through. If you rotate it 90 degrees you'll get 0% of the light through. Now what about a random beam that is not polarized? The beam coming out of your laser pointer. Now the waves are in all different directions. What will happen when it hits the polarizing filter is that half of them will go through vertically polarized matching the filter and half of them will be blocked. You'll be absorbed to be reflected. So the output from putting in all polarizations is one of two choices. Either vertical or horizontal and gets rejected. So half the light goes through this first pair of sunglasses. Now you put a second polarizing filter behind that. If it's lined up then you still get the half light through. Half was blocked by the first half of what was not close enough to being oriented to go through and you get another half diminution there so you get a quarter out. If you rotate the second filter 90 degrees what happens? No light gets through. So all the light that comes through the first filter is vertically polarized. When it hits the second polarizing filter all of the light is rejected or absorbed. Zero light comes through. So we've got a light source, two filters oriented 90 degrees, zero light coming out. Now what do you think would happen if we put a third filter in the middle? We say hey, we've got zero light coming out. The best that a third filter in the middle could do would be reduce the amount of light that we're already down to zero percent. So it's not going to have any effect at all. Wrong. If the middle filter is oriented at 45 degrees you will now get light out the third one. Because what happens is a pretty quick polarized beam out of the first filter gets the second filter that's rotated 45 degrees. Now it passes half the light and rejects half the light but the half that it passes has been rotated. So the half that it passes is now at 45 degrees to your 90 degree filter. And so now half passes and half is reflected and now you get an eighth of a light out. So you have two filters that walk all the light you add a third filter you get light out. That's weird. It gets worse. But we'll come to that. This is it's not the slide I wanted. This is the ultimate interdisciplinary area. So quantum computing involves quantum physics, obviously, which I've talked about. It involves computer science, which is my field. It's mathematics. It's chemistry. It's RF electronics. So if you're interested in interdisciplinary areas, this is the great one to get into. We've already talked about what a quantum is scientifically of being some state for example, in the case of our polarizing filter, it would be a photon that was polarized vertically or polarized horizontally would be a quantum state. Mathematically, this can be described as a vector in a Hilbert space. So for your choice of the prizes on the table, who can tell us what a Hilbert space is? Right there. Okay, a complex linear vector space. Come up after the speech and take your paper. So if you're a mathematician, just think of a complex linear vector space. That means that there are eigenstates which can generate the space. They are conventionally called zero and one with these funny little brackets around it. And the brackets are the vertical stroke and the greater than sign or less than sign, depending on whether it's a row or column vector. So this little symbol here that stroke zero greater than all it means is a column vector in one direction of your axes. So you can think of it as being a unit vector in the x direction and a unit vector in the y direction on your coordinates. That's what these represent. Don't think that means zero, it means nothing. That just means one of the states, just like a bit in your computer can be a zero or one. Well, if it's a CMOS gate, then if you say this is at zero, you don't mean there's no charge on it. You mean there's charge on the zero gate and not on the one gate. So these are two distinguishable states. Now, how could we actually implement that? Well, we could take these spin up and spin down of a spin one half particle. Another question. Who knows what a spin one half particle is? Give me an example of a spin one half particle behind you. Yeah. Okay, he's giving me an example of a binary state. I wanted a particle back over there. You spin it 180 degrees. It's exactly the same. Well, no, because you can still distinguish it. You can see whether the spin up or spin down. Name a particle. Electron. Okay, good. You can pick up a prize afterward. Some good spin one half particles are, let's see, electrons, electron neutrinos, muons, muon neutrinos, talons, talons, neutrinos, protons, neutrons, and there are lots of other things. We don't have to stick to spin one half particles. For example, photon is not a spin one half particle. But it does have two distinguishable states of vertical and horizontal polarization. Second principle computing is called superposition. Now what this means is that we can define a state which is in effect the vector sum of the eigenstates. Now where this really gets tricky is that the coefficients are complex numbers. So if you think about an airplane that's going at a bearing of about 70 degrees, so it's a little north of east. And you can pretend that what this airplane is doing is it's going two miles east and one mile north of two miles east and one mile north of two miles east and one mile north so that if you take the track of the airplane after an hour and project it onto the axis, then you say, okay, when 100 miles north and 200 miles east. In the case of a quantum particle, it behaves when you measure it as though it were actually doing this stair step pattern. Because when you measure it, you can never catch it in the in between state. The measurement will always tell you it was either going this way or it was going this way. Even though technically the particle is really doing this. So the amplitude is called conventionally omega. So omega zero and omega one are simply the coefficients. If you were to project a particular quantum state onto the axes, then you'd have omega zero on one axis and omega one on the other axis say I went 200 miles east and 100 miles north. So those are the two base two vectors which I could sum to get the vector that was the track of the plane. The extra wrinkle because these are complex numbers is there can be a phase angle that still has the same size. So if you have a complex number like one plus I, then one minus I is another complex number that has exactly the same magnitude. But one plus I one minus I 180 degrees out of phase. So you have a phase angle in there as well as it. Also, if you take the product omega star, which is the complex conjugate. So if omega is a plus bi, then omega star is a minus bi. If you multiply those two strings together, then you get a squared plus b squared, which is a real number. And that turns out to be the probability. So if we wanted to know what the probability of locating this airplane was, then what we would do is simply project the values on the axis and say okay, for every 200 miles east, it goes 100 miles north. In the case of the quantum particle, when we project and get those numbers, those are amplitudes and you have to infect square them to get probabilities. Now the probabilities all add up to one, which is like it should be. The probabilities can also be negative. Remember, I told you quantum is weird. Suppose the projection of one of these is I. Then what's the probability? The probability is I squared, the probability is minus one. So this is one of the paradoxes. It's called the Einstein Podolski-Rosem or EPR paradox to say that it is possible to come up with negative probabilities to make the mathematics work out. What else could you use for a quantum particle? Well, somebody said that you could use an electron for a spin one half particle. That is, it's a charged particle which is rotating. So it generates a north pole. And if you put a really strong magnetic field on it, then it will flip over and the north pole will be down. And so we can distinguish these two states. We can also use a proton. But what's a proton? A proton is just a hydrogen nucleus. So you can take a molecule like chloroform, which is, let's see, CHCl3, I guess. Then the H is a hydrogen. And so the nucleus of the hydrogen is simply a proton. And you can use that proton as a quantum bit. But you can also use the carbon as a quantum bit. So here in one molecule, it's very convenient to make a two bit quantum register. Because the carbon and the hydrogen are different sizes. They resonate at different RF frequencies. So using nuclear magnetic resonance techniques or NMR, you can put a short pulse of radio, a short radio pulse. And if it's the right frequency, then it will flip the carbon over or flip the hydrogen over. And you can selectively turn them into 000011011 by the pulse that you put on them. Quantum heaters have also been built using an ammonia molecule, IBM in a paper that I'll come back to, custom built a molecule that had seven atoms in it with different resonant frequencies. So they built one molecule that was a seven bit register. And by putting a pulse of a certain frequency and a certain duration on it, they could flip each one of these atoms in the molecule individually. Now my favorite one is caffeine, because caffeine has about 10 atoms in it that can be individually addressed. So maybe one of these days you'll have your quantum computer in your Pepsi can or your coffee cup, that every molecule is going to be a 10 bit quantum register. Yes. Oh, goodness. It's the J frequency. It's like several hundred megahertz, like 200 megahertz. It's standard NMR stuff. So if talk to your friendly neighborhood, chemistry physicists who does nuclear magnetic resonance, and you can get that stuff. There's also work being done on embedding quantum dots in a silicon substrate, because we know an awful lot about building stuff in silicon. So if you can take a slab of silicon and put some quantum bits in this slab of silicon, and then put some gates on top of it, they would do things like make a shift register out of it, read things and read things out with a group in Australia and one in Maryland who are working on doing that. The problem they're having right now is in keeping the bits from migrating. So when you get down so small and deposit it someplace, then it's basically an impurity in the silicon and it can migrate through the lattice. Okay, now, third principle upon computing is interference. You're all familiar with interference. If you take a bath in a bathtub, and you have a uniform illumination from the light, you'll notice that there's a certain intensity of light on the bottom of the bathtub sitting very still, that is. Now you take a handful of water and start dripping it, it'll make ripples. As it make ripples, the pattern of light on the bottom of the bathtub will change into a ripple pattern. Some of the ripples will be dark. And some of the ripples will be brighter than the light that was eliminating it. What's happening? What's happening is that the surface of the water as a wave is forming lenses. If the light hits two parts of the ripple, and is refracted to land at the same spot on the bottom of the tub, in phase, it reinforces and makes a spot of light which is brighter than the illumination. If they are out of phase, then it makes a dark spot. So there's an example of interference. The classic experiment in physics is called Young's Double Slit Experiment. So if you want to look that up, that is a more technical demonstration of it. If it's constructive, it reinforces, if it's destructive, then it reduces the intensity. Now, here's an example of superposition. This is from IEEE Spectrum article. The bottom bit is pictured as a top at the spinning on the tip of the person's finger. And you'll notice that the top has a purple side and a red side. So the purple side up, let's say is our state zero, spin up. And when the RF pulse hits it, that gets resonant to it will flip over and it will continue spinning, but it's now spinning upside down with the purple down. So we change the zero to a one by applying an RF pulse to it. What happens if we apply a shorter pulse? If we apply a shorter pulse in the bottom picture, what will happen is that this bit doesn't get turned all the way over. And if we time it just right, we can turn it halfway over. So now the bit is still rotating on its axis, but it is precessing and doing this. And so as it's going around and precessing, it's halfway between the zero and the one states. Again, like the airplane going at an angle, it is a convenient fiction to treat this intermediate state as a superposition of those zero and one. And that's what the middle part of the bottom picture shows is that you can pretend that this state is actually simultaneously a zero and a one. Another important principle of quantum computing is called entanglement. Basically, what entanglement is, is two mutually dependent qubits, which have a joint state. That is, you have two qubits and you can tell what the state of it is. They are zero, zero, or they are one, zero, or whatever. You can tell what the joint state is. However, if you observe one of the bits, the other bit is forced to be in a particular state. So think about a teeter-totter out in the playground. You say, if I see this end up, I know this end is down. If I see this end down, I know this end is up. Even if the other end is hidden behind the tree. So if I see this end of the teeter-totter up, I say the other end is down. If I see this end down, then the other end is up. Another famous example that quantum physicists like to give, there was some grad student named Bertelsmann, who was either colorblind or not very fashion conscious or both. And he never wore matched socks. So he had a drawer full of socks, and every morning he would pick two out and put them on. But you always knew that the socks would not be the same color. So now you're sitting in a class you got there a little before Bertelsmann did. And when he comes into the class and sticks his first foot in the door, you see he's wearing a pink sock on his right foot. You already know that the other sock is not pink. So that's an entangled state. Here's an example, a two qubit system, zero one, which means one bit is a zero and the other bit is a one. Superimposed with the state one zero, dividing by square root of two is to make the probabilities still come out to one. It's just a normalization factor. You can't factor this into two individual qubits. You can't say the first bit is either a zero one and the second bit is either zero one, because that would give you all four combinations. And the description of the joint states has only two combinations exist. So in this case, if we read the first bit was a zero, we know the second bit has to be a one. And if we read the first bit is a one, we know the second bit has to be a zero. You can create these particles by sending a photon through something called a birefringent crystal. And then what will come out is two entangled photons, where their polarizations are dependent on each other. And if you reserve one, you know what the other is, you can send the other one. And this has been done through a fiber optic pipe 30 kilometers long. And then observe what its orientation is at the other end. And you will know what the orientation of the first photon was. This is how quantum teleportation and quantum cryptography work. Quantum teleportation is reproduces a quantum state at another location. That's the good news. I can take an arbitrary quantum state any combination between zero and one any phase angle. And I can reproduce that state at a remote location. So the good news is I can reproduce the state. The bad news is the process of reading it destroys the original state. So this is the great subject of all the 2am Star Trek movies of if we teleport someone and something breaks, then is the person destroyed or not? Is it murder if you kill your car and all of these interesting things? And here's how teleportation works. You can look at the slide on the website. Quantum cryptography relies on Heisenberg's uncertainty principle, which says if you had one coordinate system for vertical and horizontal, and another for 45 degrees and 135 degrees, you can't do both measurements simultaneously. The result of that in quantum cryptography is that you can detect eavesdropping to an arbitrarily high accuracy. So by observing one bit of one quantum bit of a chosen message, you can have a three fourths chance of detecting eavesdropping by observing two bits, you can have a 15 16th chance and so on. And so you can make a system which is provably secure. That is, eavesdropping is guaranteed to be detected to arbitrarily high probability. Quantum operators are analogous to logic gates, but they're reversible. If you think about an AND gate or the AND operator in C plus plus or Java, if I say x and y, and I tell you the result is a one, then you know x and y are both one. If I tell you the result is a zero, you don't know what x and y were. It might have been zero, zero, it might have been zero, it might have been one, zero. Quantum gates are always reversible. So you can take the results of the quantum gate, apply the inverse of the operator and tell what arguments applied it. You can build up a quantum computation from a small set of universal operators. So just like in a classical computer and AND and NOT or AND and OR are enough to generate all possible logical functions, you can generate all possible logical quantum functions from a small set of operators. And one of the most common ones is called a controlled NOT. All it is is an exclusive OR. So you'll notice there are two columns here. On the left side of this picture at the top, we have an input one and a control one. What this is doing is an exclusive OR with the result on the left hand bit. So if you go down to the bottom, you'll see the output is a zero and the control is still a one. So one x OR one at the top comes out with a zero at the bottom. The control bit didn't change. However, on the right hand half of this picture, if the control bit is a zero and we have an input of a one, then the output still stays a one. So zero x OR with one, the output is still a one and it didn't change. Where does the exponential speed up come from? The exponential speed up comes from the fact that in quantum bits can hold two to the nth values in superposition that is simultaneously. So for taking about our two bit register, if we put both of them in the intermediate position, then the first bit is both a zero and a one and the second bit is both a zero and one and we can play like this register represents all four values, zero zero zero one one zero one one. And every additional bit that we add doubles the number of values that can be superimposed. The good news is that a single operation, suppose you wanted to take the square root or the sign of the number in this register, now it takes a certain amount of effort to do that computation. A single function evaluation on that register actually evaluates all two to the nth values. So it calculates the sign of zero zero, the sign of zero one, the sign of one zero and the sign of one one. And in the amount of effort it would take to calculate one sign. So that's the good news is that you can calculate two to the nth values and the times it would take you to calculate one. The bad news is you can't get all of those answers out. Because when you do the readout, when you do the quantum measurement, it's going to force it to an eigenstake. So the trick in a quantum algorithm is to adjust the algorithm so that the answer you want out of all of these superimposed answers gets a higher probability. That is by rotating its vector so that it's closer to an eigenstake. So when you read it out, you're more likely to get the result. They said I could run over a little because of the, I spot the fit. So I'm going to try to wrap this up in another five, 10 minutes. What's the application to cryptography? I will not take the time to review this conventional encryption that is symmetric key like DES where you use the same key for both. There's an encryption function e that takes a message what m and your key k and the result of that computation is a ciphertext c. That's what you transmit to the receiver. The receiver has the complementary function d crypt which takes the block of ciphertext c and the same secret key k and returns the message block. The security of conventional encryption depends on several things. One of which is that even with many plain text ciphertext pairs, that is we've intercepted the message that was sent and we've intercepted the message that was transmitted that doesn't help us to decrypt the next ciphertext that we intercept. And the sender and receiver need to obtain copies of the secret key securely and keep it secure. So the key is secret even though the algorithm is not. How hard is it to guess the secret key pretty hard? The best known algorithms, if you're just guessing, then for in values the expected number of guesses would be one half in. And so that's where these numbers come from. So if you could check a million keys a second, a 32 bit key would take you 35 minutes on average. That is it would take you 70 minutes if it was the last key you tried. He would take you one microsecond if it was the first key you tried, but the average would be half of that 56 bit key DES would take 1142 years. You say, okay, that's too long. I'm not going to be around to make use of this result. So I'm going to take a million computers each checking a million keys a second. And that's the right most column. Now you can try. You can expect the cracker 56 bit key in 10 hours. Okay, we'll make the key longer. 8 bit key now it takes 10 to 18 years. So before exhaustive search isn't going to work on guessing the secret key. You all know why we want to use public key geography. One of the key reasons that I referred to is the need to distribute keys securely. And you can also use it for method message authentication. Next few slides just go through the general public key and RSA and I need to skip through these rapidly to get to cracking it with the quantum computer. The sending key and the receiving key are different in public key cryptography. This is the public history of public key encryption. Now that the official secrets act of 20 years has expired, the British have admitted that they did this before 1976. Just they couldn't tell anybody. RSA Corporation, which was founded by Rivers Jamir and Edelman, that's what the RSA stands for, have posted challenges with longer and longer keys. And so they posted a challenge with 129 decimal digit key that was cracked in 1994. A challenge of 140 decimal digits was cracked in 1999. 155 bit key was also cracked in 1999. The current challenge is 174 decimal digits. You can go to RSA.com. If you want to sign up for the current challenge, it has not been cracked. So this is a 576 bit key that RSA people have not been able to crack. Consequently, RSA recommends you use 1024 bit keys or if you're really paranoid 2048 bit keys. I should mention that the way that it's being cracked is also going up exponentially in time. That is adding one more bit more than doubles the amount of time it takes to use the method because even though you can distribute sitting a block of the possible keys, all of the results have to be put together in this huge matrix that grows super linearly to do the final cracking of it. And so it's going to get harder and harder as you can see from this history to crack RSA. Here are the mathematical details of RSA. The key one is that it starts out with two large primes. So if you say, hey, I want a 300 digit key, then you pick two primes that are roughly 150 digits long, multiply them together. That's your end. Go through the rest of this process. The bottom two lines will tell you what public key and private key you should use. You'll notice they both include N. So the public key is a number E that's calculated according to this and the number N. The private key D is calculated according to this and the number N. So the key in cracking RSA is to factor in and get the primes P and Q back. If you do that, then with P, Q and E, then you can determine what it is. Here's an American example. You can go through that. So here's how we crack factor N, which is public, get P and Q, calculate the Euler-Totian function phi of N. We know what E is, so we calculate D, which is the modular inverse mod phi of N, and now we've got the private key. So the key is in factoring in to get P and Q. Here's an example corresponding to the previous numbers that I used in creating an RSA code. So how hard is factoring? The best known factoring algorithms go up something like E to the two-thirds times the number of bits. So it's exponential, as you can see from these times. So factoring 129 decimal digit number takes about 5,000 mip years. A mip is a million instructions per second. So if you've got a computer running a million instructions per second and run it for 5,000 years, then you can expect to be able to factor a 129 decimal digit number. If you went to a 2,000 decimal digit number, it would take you roughly three billion years at a billion a second. Now here's the killer app. Back in the middle 60s, Bennett and Deutsch at IBM came up with the idea of how you might actually do some useful computation with a quantum computer, purely theoretical, nice mathematical curiosity. Nobody was really too much taken with it outside of very small community. And then Peter Schroer at MIT in 1994 came up with an algorithm that you could use a quantum computer to factor large numbers in a much smaller amount of time. Here's basic of the way it works. You pick a Q with small prime factors. It says nothing to do with the Q that you're looking for. That's just the letter that he used. Choose an X at random. Calculate a table of X to the a mod n. Now what this does, the mod n means that the values are going to repeat. So if you know something about random number generators, you know what you want is as many random numbers as possible out of the algorithm before it repeats. It's eventually going to repeat because most random number generators have a mod in them. And so what you want is something that will not repeat. Well, when it does repeat, what that means is this calculation of this table of X to the a has the same values over and over and over and over. So if it's a small number of values, it might be 1, 4, 3, 7. 1, 4, 3, 7. 1, 4, 3, 7. 1, 4, 3, 7. Okay. What we really want to know is how far apart the ones are. The one way of doing that is to do a Fourier transform. So by doing a discrete Fourier transform on that, we can transform this periodic waveform into something that has peaks at multiples of the frequency. And the frequency is going to be 1 over the period. Every time we do this, when we read the quantum bits, we're going to get something that is close to the period because the Fourier transform, if it were perfect, it would just be like this. Period twice the period, three times the period. It's not quite perfect because it's discrete. So what you get is something like this with peaks. And now every time you read it because the probability is roughly speaking the square of this, you're much more likely to read a value that's on one of the peaks. If you get enough of these values, order log q times where q is this first number you started, then you can figure out what the period must have been. So if I tell you I measure the frequency of 200, 400, and 800, you don't know what the fundamental is. You don't know if it's 100 or 200. But if I tell you the multiples are 200, 300, and 500, then you say the fundamental must have been 100 because that's the only result I could have gotten. So by doing this experiment, a small number of time, a small number of repetitions, you can put the results together, come up with R, which is the period. We're almost there. Having taken R in the second line, plug it into this formula and take the greatest common divisor of x to the r over 2 minus 1 and plus 1 within. And we are guaranteed by Schroer's algorithm to get two factors of n. That's the good news. The bad news is that the factors might be one and in. The algorithm might tell you here are your factors and the answer is one times in. And you say, well that's nice but I really would like to do it again. And so you do it again and in a short number of repetitions you'll get the P and Q. Key features are that the discrete free A transform that's equal amplitudes and unequal amplitudes so that measuring the quantum state is more likely to yield a result close to some multiple of one over r and this period can be quantum computer efficiently because we can do all of the steps simultaneously by doing them on a superimposed register. Three or four years ago there was a published prediction that by 2000 it is expected that a quantum computer will factor 15, a 4-bit RSA key into the numbers 3 and 5. They didn't make it in 2000. They almost didn't make it in 2001. But in November of 2001, IBM with their seven Q-bit custom designer molecule register successfully factored 15 using a modification of Schor's algorithm and came up with the factors of 3 and 5. Scaling up for larger numbers is theoretically unlimited so that if you can build a big enough quantum computer and there's a big gap between the theoretical and the if you can build because if you're working with an electron you have to shield it from all magnetic and electric fields that might disturb the bit state or put in some redundancy and error correction. Yes. Can't hear you. Oh, okay. To factor the U7, U7 Q-bits to factor a 4-bit number in IBM's case. All right. Let me get on my crystal ball. I predict that in the next five to ten years we're going to begin to see quantum effect memory. So as each RAM chip gets denser and denser at some point they're going to have one bit stored on every electron in the chip and to store two bits on one electron they're going to have to start using a quantum effect. So it's not going to be a quantum computer. What it's going to be is a quantum effect memory that is far denser than any memory that we have now. I predict that there will be special purpose experimental computers, translation, free letter government agencies will implement Schor's algorithm, commercial availability. Everyone knows that Hitachi has a secret project. Oh, I wasn't supposed to say that. I guess it's not secret anymore. Hitachi has a secret project to build a quantum computer. They have patented a quantum optic, a quantum dot, which uses an optical phenomenon. And so that's a published patent that Hitachi has. NTT, the usual suspects, IBM, Zeeman's, NTT are all working on building quantum computers. And maybe 20 years from now, here's what you'll see on your computer. Anybody know what the cats refer to? Schrodinger's cats. This is a famous quantum mechanic thought experiment for all the animal lovers. He didn't actually kill the cat. So I have a radioactive particle that in some unknown time is going to decay and emit something that I can detect. When it decays and the particle is detected, then a pellet of cyanide will drop into the acid, produce poison gas and kill the cat. You don't know how long this is going to take. So what is the condition of the cat in the box? Is the cat dead or alive? And the quantum mechanical answer is it's both. It's a superposition of the dead state and the live state until you actually perform the observation. And once you actually perform the observation, then all of the other possible states collapse and there's only one state left and the cat is no longer both alive and dead. It's either alive or it's dead because of the particle. So that's what that refers to. For further information, here's some sites I like. Again, you can get these off of my web page. I'll go back to that slide at the end. Lots of work going on at the usual suspects. Stanford, MIT, Caltech, Berkeley, University of Cambridge, Oxford. Let's see Los Alamos National Labs has a very active quantum group. Here's some reference sites. Some of them are kind of professional and some of them are actually student term papers. So some of these I thought were good collections of links. So you can use these as kind of metal links to find out some more stuff. Finally, if you want to know more about this, you can come to Texas A&M and sign up for my course this fall. Thank you.