Adiantum (cipher)
   HOME

TheInfoList



OR:

Adiantum is a
cipher In cryptography, a cipher (or cypher) is an algorithm for performing encryption or decryption—a series of well-defined steps that can be followed as a procedure. An alternative, less common term is ''encipherment''. To encipher or encode i ...
composition for
disk encryption Disk encryption is a technology which protects information by converting it into code that cannot be deciphered easily by unauthorized people or processes. Disk encryption uses disk encryption software or disk encryption hardware, hardware to encry ...
. It uses a new cipher construction called HBSH (hash, block cipher, stream cipher, hash), specifically choosing NH, 256-bit
Advanced Encryption Standard The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant ...
(AES-256), ChaCha12/
ChaCha20 Salsa20 and the closely related ChaCha are stream ciphers developed by Daniel J. Bernstein. Salsa20, the original cipher, was designed in 2005, then later submitted to the eSTREAM European Union cryptographic validation process by Bernstein. Ch ...
,
Poly1305 Poly1305 is a universal hash family designed by Daniel J. Bernstein in 2002 for use in cryptography. As with any universal hash family, Poly1305 can be used as a one-time message authentication code to authenticate a single message using a sec ...
for the four elements. HPolyC is an earlier variant which does not use NH. It was designed in 2018 by Paul Crowley and Eric Biggers at
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
specifically for low-powered mobile devices running Android Go. It has been included in the
Linux kernel The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
since version 5.0. The construct is designed to be "wide-block", where any change in the plaintext causes the entire ciphertext to be unrecognizably changed. Adiantum is implemented in
Android 10 Android 10 (code name, codenamed Android Q during development) is the Android version history, tenth major release and the 17th version of the Android (operating system), Android mobile operating system. It was first released as a developer pre ...
as an alternative cipher for device encryption, particularly on low-end devices lacking hardware-accelerated support for AES. (Adiantum only invokes AES once per plaintext.) The company stated that Adiantum ran five times faster than AES-256-XTS on
ARM Cortex-A7 The ARM Cortex-A7 MPCore is a 32-bit microprocessor core licensed by ARM Holdings implementing the ARMv7-A architecture announced in 2011. Overview It has two target applications; firstly as a smaller, simpler, and more power-efficient succes ...
CPUs. Google had previously exempted devices from mandatory device encryption if their specifications affected system performance if enabled. Due to the introduction of Adiantum, device encryption becomes mandatory on all Android devices beginning on Android 10.


References


External links

*
Android Open Source Project: Enabling Adiantum
Ciphers Computer-related introductions in 2018 {{Crypto-stub