Mimic function

From HandWiki

A mimic function changes a file [math]\displaystyle{ A }[/math] so it assumes the statistical properties of another file [math]\displaystyle{ B }[/math]. That is, if [math]\displaystyle{ p(t,A) }[/math] is the probability of some substring [math]\displaystyle{ t }[/math] occurring in [math]\displaystyle{ A }[/math], then a mimic function [math]\displaystyle{ f }[/math], recodes [math]\displaystyle{ A }[/math] so that [math]\displaystyle{ p(t,f(A)) }[/math] approximates [math]\displaystyle{ p(t,B) }[/math] for all strings [math]\displaystyle{ t }[/math] of length less than some [math]\displaystyle{ n }[/math]. 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 [math]\displaystyle{ x }[/math] occurs with probability [math]\displaystyle{ p(x,A) }[/math] and item [math]\displaystyle{ y }[/math] occurs with probability [math]\displaystyle{ p(y,A) }[/math], then a random number is used to choose between outputting [math]\displaystyle{ x }[/math] or [math]\displaystyle{ y }[/math] with probability [math]\displaystyle{ p(x,A) }[/math] or [math]\displaystyle{ p(y,A) }[/math] respectively.

Even more sophisticated models use reversible Turing machines.

References