  Decoy states have recently been proposed as a useful method for substantially
improving the performance of quantum key distribution. Here, we present a
general theory of the decoy state protocol based on only two decoy states and
one signal state. We perform optimization on the choice of intensities of the
two decoy states and the signal state. Our result shows that a decoy state
protocol with only two types of decoy states--the vacuum and a weak decoy
state--asymptotically approaches the theoretical limit of the most general type
of decoy state protocols (with an infinite number of decoy states). We also
present a one-decoy-state protocol. Moreover, we provide estimations on the
effects of statistical fluctuations and suggest that, even for long distance
(larger than 100km) QKD, our two-decoy-state protocol can be implemented with
only a few hours of experimental data. In conclusion, decoy state quantum key
distribution is highly practical.
