Toffoli gates are all you need

Any Boolean function can be computed with Tofolli gates, and Tofolli gates are reversible, and so any Boolean function can be computed reversibly.

John D. Cook | Applied Mathematics Consulting