ckotinko (ckotinko) wrote,
ckotinko
ckotinko

Category:

Криптография и SAT-3

Пусть дан некий алгоритм шифрования. Пусть неизвестны 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 мы по колву таких «гадких» функций в системе уравнений можем оценить его криптостойкость?

По хорошему, надо щас сесть и сделать прогу для перевода кода на С в булевы функции, купить книжку в магазе, свести задачу к SAT3 и посмотреть не размотается ли клубок. Ибо больно большие корреляции у AES128, на 9 из 10 раундах уже сломан.
Subscribe

Recent Posts from This Journal

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments