Ces derniers ne peuvent bénéficier de l'accélération d'AES via leurs SoC à bas coût. En attendant que cette technologie se démocratise, le géant américain a planché sur une solution logicielle.
Elle se base sur la même technique utilisée pour le chiffrement des connexions HTTPS dans des conditions identiques et mise sur ChaCha. Mais le duo ChaCha20-Poly1305 ne peut être utilisé de manière classique sur un système de fichiers, car peu adapté à cet usage (voir les détails).
C'est ici qu'Adiantum se distingue : il permet d'obtenir un bloc de 4 096 octets chiffrés depuis un bloc de 4 096 octets en clair. Il se repose en partie sur Poly1305 pour la phase de hash, et sur ChaCha12 (12 tours de calculs plutôt que 20) pour le chiffrement.
Selon Google, ce choix n'impacte pas la sécurité puisqu'actuellement, huit tours suffisent à s'assurer que les données ne sont pas compromises. AES reste en partie utilisé, mais pour une part mineure des données (16 octets).
L'ensemble est annoncé comme cinq fois plus efficace qu'un chiffrement AES-256-XTS sans accélération matérielle, mais reste moins performant si une telle fonctionnalité est présente. Adiantium ne doit donc être utilisé que sur des appareils où elle fait défaut.
Un document plus technique vient détailler la solution. Google précise que les constructeurs peuvent activer Adiantum, qui devrait se généraliser avec l'arrivée d'Android Q. La société précise d'ailleurs qu'elle souhaite faire du chiffrement une obligation sur tous les appareils à l'avenir.
À voir si cette initiative en inspire d'autres, notamment dans le domaine de la sécurité des objets connectés, où le chiffrement n'est malheureusement pas toujours considéré comme une obligation, là aussi pour des raisons de performances.