  With the advent of quantum key distribution (QKD) systems, perfect (i.e.
information-theoretic) security can now be achieved for distribution of a
cryptographic key. QKD systems and similar protocols use classical
error-correcting codes for both error correction (for the honest parties to
correct errors) and privacy amplification (to make an eavesdropper fully
ignorant). From a coding perspective, a good model that corresponds to such a
setting is the wire tap channel introduced by Wyner in 1975. In this paper, we
study fundamental limits and coding methods for wire tap channels. We provide
an alternative view of the proof for secrecy capacity of wire tap channels and
show how capacity achieving codes can be used to achieve the secrecy capacity
for any wiretap channel. We also consider binary erasure channel and binary
symmetric channel special cases for the wiretap channel and propose specific
practical codes. In some cases our designs achieve the secrecy capacity and in
others the codes provide security at rates below secrecy capacity. For the
special case of a noiseless main channel and binary erasure channel, we
consider encoder and decoder design for codes achieving secrecy on the wiretap
channel; we show that it is possible to construct linear-time decodable secrecy
codes based on LDPC codes that achieve secrecy.
