Оба не очень ясны, особенно если вы не понимаете математику, хотя оба имеют очень похожие описания. Я бы сказал, что первая книга лучше описывает путаницу, но вторая лучше подходит для распространения, хотя это ключ, который распространяется в открытый текст для создания зашифрованного текста «запутанным» способом, так что вы не можете «нераспространять». " либо из зашифрованного текста.
На самом деле, при достаточно большом слое «путаницы» вам не нужен слой «диффузии». Путаница относится к нелинейной операции, а диффузия — к линейной операции. Большие нелинейные операции ОЧЕНЬ затратны в вычислительном отношении, поэтому небольшая нелинейная операция комбинируется с линейными операциями для выполнения работы.
Комбинация линейного и нелинейного смешивания делает взаимосвязь между зашифрованным текстом и ключом, а также между зашифрованным текстом и открытым текстом чрезвычайно сложной математической задачей для решения.Если кто-то знает открытый текст и зашифрованный текст, вы не хотите, чтобы они нашли ключ, а если они знают только зашифрованный текст, вы не хотите, чтобы они нашли ключ или открытый текст.
Это помогает увидеть, как это применимо к общему шифру, такому как AES. AES использует 128-битный блок с 8-битным нелинейным блоком и линейное матричное умножение в конечном поле, работающее с 32-битным блоком в 4 параллельных путях.
В AES путаница возникает из-за s-box (уровень подбайта), который используется в функции раунда, а также в расписании клавиш. Распространение происходит из-за матричной операции (слой смешивания столбцов) в сочетании со сдвигом строк, так что все входные биты полностью смешиваются в течение 2 раундов, в сочетании с тем, как генерируются подключи раундов в расписании ключей.
При достаточном количестве раундов работа по решению математической задачи становится сложнее, чем подбор ключа методом перебора, и AES справляется примерно на том же уровне. Конечно, это сложнее, но в этом и есть заметки.
Изображение предоставлено Википедией