A mimic function changes a file A {\displaystyle A} so it assumes the statistical properties of another file B {\displaystyle B}. That is, if p ( t , A ) {\displaystyle p(t,A)} is the probability of some substring t {\displaystyle t} occurring in A {\displaystyle A}, then a mimic function f {\displaystyle f}, recodes A {\displaystyle A} so that p ( t , f ( A ) ) {\displaystyle p(t,f(A))} approximates p ( t , B ) {\displaystyle p(t,B)} for all strings t {\displaystyle t} of length less than some n {\displaystyle n}. It is commonly considered to be one of the basic techniques for hiding information, often called steganography.

The simplest mimic functions use simple statistical models to pick the symbols in the output. If the statistical model says that item x {\displaystyle x} occurs with probability p ( x , A ) {\displaystyle p(x,A)} and item y {\displaystyle y} occurs with probability p ( y , A ) {\displaystyle p(y,A)}, then a random number is used to choose between outputting x {\displaystyle x} or y {\displaystyle y} with probability p ( x , A ) {\displaystyle p(x,A)} or p ( y , A ) {\displaystyle p(y,A)} respectively.

Even more sophisticated models use reversible Turing machines.

  • Wayner, Peter (December 1990). (Report). Cornell University Department of Computer Science. TR 90-1176.
  • Wayner, Peter (July 1992). "Mimic Functions". Cryptologia. 16 (3): 193–214. doi:.
  • Wayner, Peter (2008). Disappearing Cryptography (3rd ed.). Morgan Kaufmann. ISBN 978-0123744791.