Рейтинг:1

Есть ли принципиальная разница между шифрованием операций блочного шифрования и дешифрованием?

флаг mk

Есть ли фундаментальная причина обозначать одно направление блочного шифра как «шифрование», а другое — как «дешифрование»? Или это произвольный выбор? Или, может быть, практические решения для конкретных схем шифрования?

Иными словами, если бы разработчики DES или AES решили называть то, что известно как «шифрование», «дешифрованием» и наоборот, мир был бы другим?

Есть ли доказательство/аргумент неразличимости для $E_k(m0)$ против. $Е_к(м1)$ пока такого нет $D_k(m0)$ против. $D_k(м1)$?

Или, возможно, $Е$ имеет другие эксплуатационные характеристики, чем $Д$, и было сделано какое-то предположение об относительной частоте одной операции по сравнению с другой?

например для шифрования AES, по-видимому, более эффективно, чем дешифрование, и было сделано некоторое предположение, что более важно иметь возможность быстро шифровать, чем дешифровать (не уверен, почему это должно быть так...)

kelalaka avatar
флаг in
Нет, мы просто хотим, чтобы они оба были эффективными. Небольшая разница есть из-за дизайна.
eddydee123 avatar
флаг mk
@kelalaka, можете ли вы уточнить, что вы подразумеваете под «из-за дизайна» - это преднамеренный выбор дизайна? Или случайный результат того, как разработан шифр AES?
kelalaka avatar
флаг in
С небольшим поиском на нашем сайте; [Шифрование AES требует больше времени для расшифровки, чем для шифрования] (https://crypto.stackexchange.com/q/14978/18298)
eddydee123 avatar
флаг mk
@kelalaka Не могли бы вы опубликовать ответ, включающий цитату из обсуждения, на которое вы ссылались: «MAC нужен только примитив шифрования, и даже некоторые алгоритмы шифрования / дешифрования (CTR, EAX) используют только примитив шифрования базового блочного шифра. Таким образом, Алгоритм Rijndael был оптимизирован для скорости шифрования по сравнению со скоростью дешифрования». За исключением того, что это утверждение сделано без какой-либо ссылки, поэтому неясно, является ли это фактом или мнением.
Maarten Bodewes avatar
флаг in
Было бы очень странно, если бы псевдослучайная перестановка (PRP) с ключом была безопасной в одном направлении, а не в другом.
eddydee123 avatar
флаг mk
@MaartenBodewes - очень странно, да, но не нарушит ли это свойство безопасности PRP? Если злоумышленник не может делать запросы на расшифровку (CPA, но не CCA), то кажется, что этот странный PRP будет безопасным.
Рейтинг:4
флаг ru

С криптоаналитической точки зрения разница только в маркировке допущений атаки. Все современные блочные шифры предназначены для защиты как от CPA (атак с выбранным открытым текстом), так и от CCA (атак с выбранным зашифрованным текстом). Атака CPA на функцию шифрования является атакой CCA на функцию дешифрования и наоборот.

Существует аргумент в пользу того, чтобы сделать функцию шифрования более быстрой из двух, поскольку определенные режимы (цепочка блоков шифрования) могут быть распараллелены для дешифратора, но не для шифровальщика.Более быстрое шифрование теперь лучше балансирует часы для операций. Другие режимы вообще не требуют расшифровки (режимы счетчика, режим выходной обратной связи). Разработчики блочных шифров любят создавать проекты, которые хорошо работают для всех режимов, поэтому шифрование быстрее, чем дешифрование, является законным, но не обязательным дизайнерским решением.

poncho avatar
флаг my
Забавный факт: возможно реализовать шифрование в режиме CBC с использованием блочного шифра в направлении расшифровки (вы обрабатываете сообщение в обратном порядке, сначала работаете с последним блоком, выполняете операцию в стиле CFB — все еще не поддается распараллеливанию); следовательно, для режима CBC может иметь смысл сделать операцию «расшифровки» более эффективной :-)
Daniel S avatar
флаг ru
@poncho Я не уверен, что полностью понимаю то, что вы описываете. Это где-то записано?
poncho avatar
флаг my
Кто-то предложил это несколько лет назад здесь, на crypto.stackexchange. Идея довольно проста; предполагая, что у вас есть блоки открытого текста $P_0, P_1, ..., P_n$, вы выбираете случайный окончательный блок зашифрованного текста $C_n$ и итеративно вычисляете $C_{i-1} = P_i \oplus D_k(C_i)$; окончательное значение $C_{-1}$ — это IV, который нужно отправить вместе с сообщением. Легко видеть, что если $C_n$ был выбран равномерно случайным образом, он генерирует зашифрованные тексты/IV с тем же распределением вероятностей, что и обычная реализация режима CBC с равномерно выбранным IV (и, следовательно, является одинаково безопасным).
Рейтинг:0
флаг in

Нет никаких фундаментальный разница. Мы даже можем поменять местами функции шифрования и дешифрования, и ничего не произойдет:

$c = D_k(m), m = E_k(c).$

Конечно, в зависимости от шифра и реализации одно направление может быть быстрее другого.

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

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