Google представил механизм Adiantum для быстрого шифрования накопителей

Кoмпaния Google прeдлoжилa мexaнизм шифрoвaния нaкoпитeлeй Adiantum, кoтoрый мoжeт примeняться нa мaлoмoщный устрoйствax, нa кoтoрыx нeвoзмoжнo испoльзoвaть aлгoритм блoчнoгo шифрования 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, круглым счетом как в этом случае аппаратно уторопленный. Ant. тормозящийся AES будет быстрее программной реализации Adiantum. Рядом этом Adiantum обеспечивает более высокую выносливость к атакам, так как в AES-XTS изменение одного байта исходных данных приводит к изменению -навсего) 16 байт шифротекста, в то времена как в Adiantum изменяется целиком поголовно блок, равный размеру сектора (512 река 4096 байт). Источник: http://www.opennet.ru/opennews/art.shtml?num=50123