  Traditionally, computation within self-assembly models is hard to conceal
because the self-assembly process generates a crystalline assembly whose
computational history is inherently part of the structure itself. With no way
to remove information from the computation, this computational model offers a
unique problem: how can computational input and computation be hidden while
still computing and reporting the final output? Designing such systems is
inherently motivated by privacy concerns in biomedical computing and
applications in cryptography.
  In this paper we propose the problem of performing ``covert computation''
within tile self-assembly that seeks to design self-assembly systems that
``conceal'' both the input and computational history of performed computations.
We achieve these results within the growth-only restricted abstract Tile
Assembly Model (aTAM) with positive and negative interactions. We show that
general-case covert computation is possible by implementing a set of basic
covert logic gates capable of simulating any circuit (functionally complete).
To further motivate the study of covert computation, we apply our new framework
to resolve an outstanding complexity question; we use our covert circuitry to
show that the unique assembly verification problem within the growth-only aTAM
with negative interactions is coNP-complete.
