Считаете ли вы, что схемы шифрования с сохранением формата (FPE) имеют какие-либо ограничения по сравнению с другими традиционными блочными шифрами?
На самом деле схему FPE можно рассматривать как обобщение обычного блочного шифра. В конце концов, обычный блочный шифр привязан к определенному размеру блока; с FPE мы можем использовать любой размер блока, который сочтем удобным (например, все сообщение).
Есть ли у FPE широкий спектр приложений, чтобы стать будущей областью исследований?
Я так считаю. Одна приятная особенность FPE (с некоторыми изменениями; большинство схем FPE допускают такую возможность) заключается в том, что легко построить схему AEAD, которая вполне устойчива к неправильному использованию:
Чтобы зашифровать, вы бы взяли сообщение $ млн $, и добавить $к$ нули и $\ell$ случайные биты (или nonce; дешифратор восстановит эти биты, и при необходимости их можно будет использовать в качестве порядкового номера). Зашифруйте это с помощью схемы FPE, используя AAD в качестве настройки.
Чтобы расшифровать, вы расшифровываете схему FPE, используя AAD в качестве настройки; разобрать результат и проверить, $к$ в конце появляются нули.
Должно быть очевидно, что это безопасная схема AAD (при условии, что схема FPE безопасна). Кроме того:
Если отправитель использует плохую случайность для своих $\ell$ случайных битов, это становится детерминированной схемой, в которой злоумышленник может определить, было ли одно и то же сообщение отправлено дважды, но не может определить ничего, кроме этого.
Если получатель забывает проверить $к$ нулей, то это становится полностью искажающей схемой, когда противник может изменить расшифрованное сообщение на что-то случайное, но не может сделать ничего, кроме этого. Это отличается от многих схем AEAD, где, если дешифратор забывает проверить тег, шифрование становится податливым (а AAD по существу игнорируется).
Итак, если это так прекрасно, в чем недостаток? Что ж, одним из основных является производительность — текущие схемы FPE довольно медленные, поэтому эта прямолинейная схема не используется. Более производительная (но все же безопасная) схема FPE сделает ее гораздо более привлекательной.
Другим очевидным недостатком является то, что FPE нельзя реализовать «однопроходным» способом (когда мы обрабатываем сообщение по частям); это удобно, когда нам нужно обрабатывать большие сообщения; однако должно быть очевидно, что возможность выполнять устойчивое к неправомерному использованию шифрование (где отсутствие энтропии nonce дает утечку только в том случае, если сообщения идентичны) несовместимо с однопроходным шифрованием, и что возможность выполнять устойчивое к неправомерному использованию дешифрование (когда забывают check проверка целостности позволяет активному злоумышленнику только рандомизировать открытый текст) несовместима с однопроходной расшифровкой.