Google представил механизм Adiantum для быстрого шифрования накопителей
10 февраля 2019 года
Компания Google предложила механизм шифрования накопителей Adiantum, который может применяться на маломощных устройствах, на которых невозможно использовать алгоритм блочного шифрования AES из-за слишком больших накладных расходов. В частности, Google намерен применять Adiantum для шифрования накопителей младших моделей смартфонов на базе платформы Android, оснащаемых процессорами ARM, не предоставляющими инструкции для аппаратного ускорения шифрования AES. Эталонная реализация алгоритма опубликована под лицензией MIT, реализация на уровне подсистемы ядра Linux dm-crypt опубликована под лицензией GPLv2 (патчи подготовлены как для редакций ядра для Android, так и для обычных ванильных ядер Linux).
По аналогии с AES-128-CBC-ESSIV и AES-XTS метод Adiantum не изменяет результирующий размер данных, что позволяет использовать его для шифрования секторов на накопителях. Adiantum также обеспечивает генерацию блоков с разным шифротекстом для повторяющихся исходных данных. Реализация Adiantum базируется на применении быстрой хэш-функции NH, алгоритме аутентификации сообщений (MAC) Poly1305 и потоковом шифре XChaCha12, а также единоразовой операции на базе блочного шифра AES-256 для 16 байт в каждом блоке (с учётом размера блока в 4096 байт такая операция не критична с точки зрения производительности).
Poly1305 и XChaCha12 позиционируются как более быстрые и безопасные аналоги HMAC и AES, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Для повышения производительности алгоритм ChaCha применяется в варианте с 12 раундами вместо обычно используемых 20, но этого вполне достаточно, так как ChaCha даже с 12 раундами обеспечивает более высокий уровень стойкости к атакам, чем AES-256. На процессоре ARM Cortex-A7 реализация Adiantum тратит на операцию расшифровки 10.6 циклов процессора на каждый байт (при размере блока 4096 байт), что в пять раз быстрее AES-256-XTS.
На процессорах с аппаратной поддержкой ускорения AES, таких как ARMv8 с инструкциями A64, A32 и T32 ( Cryptography Extensions) и x86 с инструкциями AES-NI, рекомендуется применять систему шифрования дисков на базе AES, так как в этом случае аппаратно ускоренный AES будет быстрее программной реализации Adiantum. При этом Adiantum обеспечивает более высокую стойкость к атакам, так как в AES-XTS изменение одного байта исходных данных приводит к изменению всего 16 байт шифротекста, в то время как в Adiantum изменяется целиком весь блок, равный размеру сектора (512 или 4096 байт).
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.