10

In steganography is an interesting way of conveying information. Each line is either raised by a few points or not raised at all. How will cause it to subsequent lines of text have been raised about the 4pt up? Map of lifts should be written as possible to change the data every time.

Line shifting, change interline

example image

jak
  • 329

1 Answers1

9

This hides the first argument in the second, optimised for lowercase ascii only in the first argument (it offsets the ascii code by that of m so that one half of the alphabet raises a line and the other half lowers it. You can use \ to denote a space.

enter image description here

\documentclass{article}

\def\hide#1#2{%
\setbox1\vbox{}%
\gdef\txt{#1}%
\setbox0\vbox{\hsize5cm \raggedright
#2%
\par
\loop
\unpenalty
\skip0\lastskip\unskip\global\setbox1\vbox{\vskip\skip0\unvbox1}%
\unpenalty
\skip0\lastskip\unskip\global\setbox1\vbox{\vskip\skip0\unvbox1}%
\unpenalty
\setbox0\lastbox
\ifvoid0
\else
\global\setbox1\vbox{%
\dimen0\dp0
\count0=96
\expandafter\getnext\txt{}\relax
\dimen2\dimexpr\count0 sp - 109sp\relax
\kern10000\dimen2
\box0
\kern-10000\dimen2
\kern-\dimen0
\hrule
\kern\dimen0
\unvbox1}%
\repeat
}
\leavevmode\box1
}

\def\getnext#1#2\relax{%
\ifx\\#1\\%
\gdef\txt{}%
\else
\ifx\ #1%
\count0=95
\else
\count0=`#1
\fi
\gdef\txt{#2}%
\fi}




\begin{document}
\Large

\hide{hello}{
\def\a{One two three four five six seven eight nine ten. }
\def\b{\a Red yellow blue green. \a\a One two three. }
\b\b}
\hide{david}{
\def\a{One two three four five six seven eight nine ten. }
\def\b{\a Red yellow blue green. \a\a One two three. }
\b\b}



\end{document}
David Carlisle
  • 757,742
  • For those interested in some discussion around this topic and solution, there's some back-and-forth in chat... – Werner Apr 19 '13 at 22:57
  • This is little endian? hm... hello have more data inside. Look here http://sticksandstones.kstrom.com/appen.html hello: 01101000 01100101 01101100 01101100 01101111

    minimum 35 bits ,70 lines

    – jak Apr 20 '13 at 13:20