  We consider the situation in which a transmitter attempts to communicate
reliably over a discrete memoryless channel while simultaneously ensuring
covertness (low probability of detection) with respect to a warden, who
observes the signals through another discrete memoryless channel. We develop a
coding scheme based on the principle of channel resolvability, which
generalizes and extends prior work in several directions. First, it shows that,
irrespective of the quality of the channels, it is possible to communicate on
the order of $\sqrt{n}$ reliable and covert bits over $n$ channel uses if the
transmitter and the receiver share on the order of $\sqrt{n}$ key bits; this
improves upon earlier results requiring on the order of $\sqrt{n}\log n$ key
bits. Second, it proves that, if the receiver's channel is "better" than the
warden's channel in a sense that we make precise, it is possible to communicate
on the order of $\sqrt{n}$ reliable and covert bits over $n$ channel uses
without a secret key; this generalizes earlier results established for binary
symmetric channels. We also identify the fundamental limits of covert and
secret communications in terms of the optimal asymptotic scaling of the message
size and key size, and we extend the analysis to Gaussian channels. The main
technical problem that we address is how to develop concentration inequalities
for "low-weight" sequences; the crux of our approach is to define suitably
modified typical sets that are amenable to concentration inequalities.
