Suppose that Alice wishes to send messages to Bob through a communication channel C-1, but her transmissions also reach an eavesdropper Eve through another channel C-2. This is the wiretap channel model introduced by Wyner in 1975. The goal is to design a coding scheme that makes it possible for Alice to communicate both reliably and securely. Reliability is measured in terms of Bob's probability of error in recovering the message, while security is measured in terms of the ratio of Eve's equivocation about the message to its a priori entropy. Wyner showed that the situation is characterized by a single constant C-s, called the secrecy capacity, which has the foUowing meaning: for all epsilon > 0, there exist coding schemes of rate R >= C-s - epsilon that asymptotically achieve both the reliability and the security objectives. However, his proof of this result is based upon a nonconstructive random-coding argument. To date, despite a considerable research effort, the only case where we know how to construct codes that achieve secrecy capacity is when Eve's channel C-2 is an erasure channel, or a combinatorial variation thereof. Polar codes were recently introduced by Arikan. They achieve the capacity of symmetric binary-input discrete memoryless channels with low encoding and decoding complexity. In this paper, we use polar codes to construct a coding scheme that achieves the secrecy capacity of general wiretap channels. Our construction works for any instantiation of the wiretap channel model, as originally defined by Wyner, as long as both C-1 and C-2 are symmetric and binary-input.