T-function
Подскажите пожалуйста, кто в курсе, о чём subj, в двух словах. Сам пробовал, но пока не въехал, все тексты на инглише и времени пока много нет. Было бы совсем неплохо хотя бы приблизительно представлять, о чем это.
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
||||||||||||||||||||
|
||||||||||||||||||||||||||
Нормы пользования. Некоторые права на материалы сайта защищены по условиям лицензии CreativeCommons. Движок
openSpace 0.8.25a и дизайн сайта © 2006-2007 Vlad "SATtva" Miller.
|
||||||||||||||||||||||||||
комментариев: 9796 документов: 488 редакций: 5664
В последнее время было много работ по построению легкообратимого линейного слоя рекурсивным способом. Намекалось, что можно и нелинейный также построить. Сама идея довольная проста и элегантна, но в голове не отложилось, что это называется T-функциями. Наверное, по аналогии с треугольными матрицами и треугольными числами.
Если конкретизировать то, что в вики написано, там общий случай с абстрактной операцией сложения и любым числом битов. Судя по встречавшимся работам, чаще всего бывают побайтовые операции, а вместо абстрактного сложения используется XOR. Эта функция самообратима, поэтому можно отдельно посчитать функцию в скобках и поксорить с результатом предыдущего субраунда. Для расшифрования не нужно инвертировать функцию в скобках потому, что конструкция похожа на предельный случай несбалансированной сети Файстеля (только не для всей раундовой функции, а обычно только для линейного слоя): левая половина — один байт, правая половина — вся остальная часть блока.
Чего же вы в такие теоретические дебри полезли без инглиша-то? Построение алгоритмов с T-функциями на практике пока распространения не получило.