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 Diving 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 XOR (exclusive OR), OR (disjunction), and AND (conjunction). 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 condition TRUE or FALSE. This problem is called the Boolean Satisfiability Problem (SAT) and it is of particular importance in computer science. SAT was the first problem to be shown as NP-complete. The question is as follows...