  Generative deep learning algorithms have progressed to a point where it is
difficult to tell the difference between what is real and what is fake. In
2018, it was discovered how easy it is to use this technology for unethical and
malicious applications, such as the spread of misinformation, impersonation of
political leaders, and the defamation of innocent individuals. Since then,
these `deepfakes' have advanced significantly.
  In this paper, we explore the creation and detection of deepfakes and provide
an in-depth view of how these architectures work. The purpose of this survey is
to provide the reader with a deeper understanding of (1) how deepfakes are
created and detected, (2) the current trends and advancements in this domain,
(3) the shortcomings of the current defense solutions, and (4) the areas which
require further research and attention.
