Notations and operations in Boolean logic
In order to understand the mechanism of symmetric algorithms, it is necessary to go over some notations in Boolean logic and these operations on a binary system.
As we have already seen in Chapter 1, Deep Dive into Cryptography, the binary system works with a set of bits of {0,1}. So, dealing with Boolean functions means performing logic calculations on a sequence of bits to generate an answer that could be either TRUE or FALSE.
The most frequently used functions are AND (conjunction), OR (disjunction), and XOR (exclusive OR). But there are a few other notations as well that will be explained soon.
A Boolean circuit aims to determine whether a variable, x, combined with another variable, y, satisfies the TRUE or FALSE condition. This problem is called the Boolean satisfiability problem (SAT, or B-SAT) and it is of particular importance in computer science. SAT was the first problem to be shown as NP-complete.
NP-complete...