  A fundamental problem in coding theory is the design of an efficient coding
scheme that achieves the capacity of the additive white Gaussian (AWGN)
channel. The main objective of this short note is to point out that by
concatenating a capacity-achieving nested lattice code with a suitable
high-rate linear code over an appropriate finite field, we can achieve the
capacity of the AWGN channel with polynomial encoding and decoding complexity.
Specifically, we show that using inner Construction-A lattice codes and outer
Reed-Solomon codes, we can obtain capacity-achieving codes whose encoding and
decoding complexities grow as $O(N^2)$, while the probability of error decays
exponentially in $N$, where $N$ denotes the blocklength. Replacing the outer
Reed-Solomon code by an expander code helps us further reduce the decoding
complexity to $O(N\log^2N)$. This also gives us a recipe for converting a
high-complexity nested lattice code for a Gaussian channel to a low-complexity
concatenated code without any loss in the asymptotic rate. As examples, we
describe polynomial-time coding schemes for the wiretap channel, and the
compute-and-forward scheme for computing integer linear combinations of
messages.
