Cryptography Reference
In-Depth Information
At first glance, there may be little that you can hide in binary
code because the variables are just registers and there aren't
many of them, but there's still room for hidden bits. The order
that the registers are used by the code is an ordered list and an
ordered list of
! bits of hidden informa-
tion. See Chapter 13. This technique could also be used with
source code-level hidden information.
n
items can hold log 2 n
Reordering If any
blocks of instructions are independent
from each other, then they can be reordered in arbitrary ways
to hide log
n
! bits of data.
If the blocks have several instructions in them, they can often
be shuffled together in arbitrary ways to increase the complex-
ity:
Before:
2 n
a1();
a2();
a3();
b1();
b2();
b3();
c1();
c2();
c3();
After:
a1();
b1();
c1();
c2();
a2();
a3();
b2();
b3();
c3();
The number of potential shuffles is quite high and depends on
a number of assumptions about the underlying instruction set.
Loop Unrolling Loop unrolling is a technique to interleave the
instructions fromdifferent interations of a loop. That is, it starts
the
+1 th iteration of loop before the
th is finished.
i
i
Here's a loop:
Search WWH ::




Custom Search