Cryptography Reference
In-Depth Information
if (a<b)
{
if (c<d)
{
//...
}
{
else
//...
}
}
else {
if (c<d)
{
//...
}
{
else
//...
}
}
This could be written:
{
if ((a<b) and (c<d))
}
{
else if ((a<b) and (c>=d))
}
{
else if ((a>=b) and (c<d))
}
{
else
}
The branching can be composed inmany ways that are beyond
the scope of this topic.
Inlining Routines Many programmers like to break up their
software into short functions, methods or subroutines in or-
der to increase the readability of the code. This can be easily
defeated by replacing the calls to the subroutines with the sub-
routine itself. This is often done by code optimizers to reduce
the number of calls to the subroutines, an operation that can
often slow down software, but can also obliterate the software
author's attempts at breaking up the package into easily read-
able snippets.
This technique can be quite useful when it is composed with
loop unrolling and other transformations because it creates
longer blocks with more instructions. In other words, more fer-
tile grounds for more operations.
Innane Comments All of the text steganography fromChapters
6, 7, and 8 can be used to create innane comments for source
code.
Loop Endpoint Modification This technique offers little to
code optimization, but it's a cheap, quick way to hide one bit
Search WWH ::




Custom Search