Шифрование файлов включено – даже требуется – по умолчанию на большинстве устройств Android, поскольку оно защищает ваши данные, если вы потеряете свой телефон или его украдут. Шифрование в Android использует улучшенный стандарт шифрования (AES), и большинство современных 64-разрядных процессоров, на базе Armv8, поставляются с криптоускорителем, который повышает производительность в несколько раз по сравнению с программным решением. Но есть также много бюджетных устройств, например, основанных на Arm Cortex-A7, в которых отсутствуют криптографические расширения, и включение шифрования AES сделает устройства еще медленнее, чем они уже есть.
Таким образом, чтобы обеспечить шифрование файлов на бюджетном оборудовании без значительного снижения производительности, Google разработала шифрование Adiantum, оптимизированное для работы без криптоускорителя.
Как объясняется в блоге Google Security, Adiantum использует потоковый шифр ChaCha – как используется в HTTPS – в режиме сохранения длины, поскольку файловые системы работают в блоке 4096 байт. Шифрование дополнительно адаптирует идеи из предложений на основе AES для шифрования с сохранением длины, такого как HCTR и HCH. Это приводит к гораздо большей эффективности на Arm Cortex-A7 с шифрованием и дешифрованием Adiantum в секторах размером 4096 байт, что составляет около 10,6 циклов на байт или в 5 раз быстрее, чем AES-256-XTS.
Оптимизированную для Arm реализация Adiantum уже можно найти в ядре Android Linux 4.9 и в основном ядре Linux 5.0. Вы также можете найти исходный код эталонной реализации, тестового вектора и набора тестов Adiantum на Github, и новый режим шифрования/дешифрования теперь может быть включен производителями в Android 9.0 и выше, в устройствах, неспособных поддерживать шифрование/дешифрование файлов AES 50 МБ/с. Обратите внимание, что Adiantum по-прежнему медленнее, чем AES в устройствах Arm & x86 с криптоускорителем AES.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.