Разработчики Google представили новый метод шифрования Adiantium, который ориентирован на бюджетные устройства, где использование AES невозможно.
Дело в том, что пользователям Android доступна поддержка алгоритма шифрования AES (Advanced Encryption Standard), который отлично работает с новейшими процессорами за счет ARMv8 Cryptography Extensions. Однако на менее мощных устройствах, начиная от бюджетных смартфонов и заканчивая «умными» часами и телевизорами, начинаются проблемы. Такие гаджеты оснащены менее мощными процессорами, где аппаратной поддержки AES «из коробки» попросту нет (например, ARM Cortex-A7).
Инженеры Google объясняют, что на таких устройствах AES работает настолько медленно, что это портит пользователю весь опыт взаимодействия с устройством. И хотя шифрование хранилища стало обязательным условием еще в 2015 году, с релизом Android 6.0, маломощные устройства были «освобождены» от этого, так как при включении AES они больше тормозят, чем работают. В таких случаях шифрование либо отключено по умолчанию во избежание проблем, либо вообще удалено из Android.
Именно для таких устройств с маломощными процессорами разработчики Google и создали Adiantum, работающий с поточным шифром ChaCha20. Все технические подробности и результаты внутренних бенчмарк-тестов можно найти в отдельном документе (PDF).
Таким образом, у поддерживаемых сейчас AES-128-CBC-ESSIV и AES-256-XTS появилась альтернатива. Разработчики приводят простой пример: на процессоре ARM Cortex-A7 Adiantum осуществляет шифрование и дешифрование в секторах размером 4096 байт с показателями около 10,6 цикла на байт, что примерно в пять раз быстрее AES-256-XTS.