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

  • 1
    Are you saying that you want to encode a message in a document of dummy text by raising certain lines? That sounds cool, possible, and hard. – Matthew Leingang Apr 19 '13 at 15:35
  • 2
    But you need to provide more details or an example before anybody can help. – Matthew Leingang Apr 19 '13 at 15:47
  • magazynt3.pl/wp-content/uploads/2008/09/… the 0 in message and 1 is up or down of line – jak Apr 19 '13 at 17:49
  • I've imported the image from your comment. – Matthew Leingang Apr 19 '13 at 18:23
  • Is the text broken up into lines manually or is that left to the line-breaking algorithm? – Christoph B. Apr 19 '13 at 18:59
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}
  • 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 sticksandstones.kstrom.com/appen.html hello: 01101000 01100101 01101100 01101100 01101111 minimum 35 bits ,70 lines – jak Apr 20 '13 at 13:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.