Пусть дан некий алгоритм шифрования. Пусть неизвестны IV, и ключ, но известно начало plaintextа и шифротекст. Ну для простоты речь идёт о HTTPS, где в начале всегда заголовок известного вида.
Известно, для получения IV и ключа, надо решить задачу SAT. Пусть мы сформулировали условия такой задачи для заданного шифротекста и известного начала Plaintextа.
SAT полиноминально сводится к SAT-3. В этом случае мы работаем с системой уравнений, каждое из которых берет на вход 3 каких-то угадываемых бита, и каждое уравнение по сути является одной из возможных 256 функций. Ну просто больше функций от 3х булевых переменных не породить: bool F(x1,x2,x3) { return (some_const_8bit >> (x1+2*x2+4*x3)) &0x1; }
Из этих функций некая и довольно большая часть связывает биты решения между собой, тем самым резко упрощая задачу. Правильно ли я понимаю, что сведя шифроалгоритм к SAT-3 мы по колву таких «гадких» функций в системе уравнений можем оценить его криптостойкость?