Рейтинг:1

Критерии разработки блочного шифра при указании размера ключа

флаг bv

Для заданного размера блока в N бит общее количество возможных перестановок равно (2^N)! Чтобы выбрать любую из возможных перестановок, ключ должен иметь длину log2((2^N)!), которая обычно намного больше, чем N. Учитывая, что AES имеет 128-битный блок и может иметь ключ длиной 256 бит, блочный шифр AES использует только небольшое подмножество всех возможных перестановок блоков.

Мой вопрос: как дизайнер определяет, какое подмножество пространства перестановок следует использовать?

Существуют ли какие-либо критерии дизайна, которые следует применять в отношении того, как перестановки «разнесены»?

На ум приходят некоторые непосредственные и, казалось бы, очевидные критерии:

  1. Удалите перестановку, которая ничего не меняет (например: 1 на 1, 2 на 2, ..., n-1 на n-1). так как это не будет запутывать открытый текст.

  2. Удалите перестановки, которые не изменяют «достаточно» записей (т. е.: 1 на 5, 5 на 1, а все остальные n на n).

Как разработчик определяет «лучший» подмножество перестановок для сопоставления с ключевым пространством?

kelalaka avatar
флаг in
Прочтите книги AES или TwoFish или начните отсюда [Какие рекомендуются общие стратегии для начала проектирования и/или анализа блочного шифра?] (https://crypto.stackexchange.com/q/39791/18298) И обратите внимание, что даже Не доказано, что AES является PRP.
user2357 avatar
флаг us
@kelalaka в чем суть этих книг?
kelalaka avatar
флаг in
https://www.amazon.com/Design-RijndaeL-Encryption-Information-Cryptography/dp/3540425802 и https://www.amazon.com/Twofish-Encryption-Algorithm-128-Bit-Cipher/dp/0471353817/ и https://www.schneier.com/academic/twofish/
user2357 avatar
флаг us
@kelalaka спасибо.
Рейтинг:2
флаг in

Блочный шифр как перестановка (семейство) не «выбирается» явно: потому что любая такая перестановка огромна и не может быть полностью сгенерирована и проанализирована. Вместо этого разработчик создает вычислительную схему/алгоритм блочного шифра. Мы не можем напрямую проверить свойства перестановки, о которых вы думаете, например. число фиксированных точек, небольшие циклы и т. д., потому что хороший блочный шифр создает такие сложные перестановки, что анализировать их с этой точки зрения практически невозможно. Вместо этого криптографы анализируют свойства, которые в некоторой степени можно проверить: дифференциальные следы высокой вероятности, следы линейной корреляции, симметрии и т. д.

Кроме того, часто можно проанализировать группу, сгенерированную раундовой функцией (с любым ключом), и обычно это либо полная симметричная группа, либо, по крайней мере, чередующаяся группа (что всегда имеет место в сети Фейстеля на основе XOR). Ключевое отличие здесь от настоящего шифра в том, что в этой настройке количество раундов не ограничено. Но тем не менее это полезная информация: мы можем заключить, что не существует свойства, которое выполняется для всех ключей и для любого количества раундов.

Рейтинг:1
флаг sy

Чтобы доказать безопасность блочного шифра, разработчики пытаются использовать рациональные решения, которые обеспечивают достойную защиту от известных методов криптоанализа. Известными методами криптоанализа являются статистический криптоанализ, такой как дифференциальный и линейный криптоанализ, и структурные атаки, такие как алгебраический криптоанализ. Для первого метода дизайнеры стараются использовать перестановки, которые имеют хорошие Путаница и диффузия характеристики. Вот как в основном они выбирают перестановки. Чтобы увидеть, как это работает на самом деле, я предлагаю вам прочитать Компаньон блочного шифра книга. Надеюсь, чтение страницы Википедии, которую я дал ранее, даст вам общее представление о том, как выбираются перестановки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.