Google heeft een encryptiemethode ontwikkeld voor smartphones met chips die geen hardwarematige encryptie voor aes hebben, zoals budgettoestellen. De encryptie is gebaseerd op het ChaCha-streamcipher.
Google legt de reden van de ontwikkeling van Adiantum en de details achter de encryptie uit op zijn Security Blog. Google verplicht full disk-encryptie al sinds 2015 sinds de komst van Android 6.0, maar Android ondersteunt hiervoor aes-256 en bij langzamere system-on-chips leidt dit tot matige prestaties. Google houdt een grens aan van 50MiB/s. Komt de doorvoer daaronder dan geldt de verplichting niet.
Bij smartphones met chips op basis van ARMv8 speelt dit niet vanwege de Cryptography Extensions, die hardwarematige versnelling van aes-encryptie bieden. Met name budgetsmartphones en andere apparaten met goedkope chips vielen tot nu toe vaak buiten de boot. Google noemt de oude ARM Cortex-A7 als processor zonder hardwarematige versnelling, die te langzaam is voor aes.
Google heeft daarom een alternatief ontworpen in de vorm van Adiantum. Het bedrijf zet hiervoor een variant van het ChaCha-streamcipher in, waarbij op aes gebaseerde technieken zijn geïntegreerd. Adiantum biedt aanzienlijke prestatiewinsten ten opzichte van aes-256 op een Cortex-A7, stelt Google.
Het bedrijf gebruikte in 2014 al ChaCha20 bij een tls-suite voor de beveiliging van https-verbindingen. Voor Adiantum koos het bedrijf voor ChaCha12, waarbij het getal voor het aantal rounds staat. Hoe meer rounds, hoe veiliger de encryptie. Hoewel Google daarmee flinke concessies lijkt te doen, stelt het dat ChaCha12 nog wel even mee kan omdat round-8 nog niet gekraakt is, hoewel in 2008 al de 7-variant doorbroken werd.
Fabrikanten kunnen Adiantum inschakelen bij Android Pie-smartphone die bij aes de 50MiB/s niet halen. Boven die grens adviseert Google het gebruik van aes. Adiantum wordt onderdeel van Android Q. Google heeft zijn werk gepubliceerd in een paper met de titel Adiantum: length-preserving encryption for entry-level processors.