Шифрование приложений на Android работает следующим образом:
- При первом включении устройство с предустановленной ОС Android 5.0 и выше генерирует псевдослучайный 128-разрядный ключ (мастер-ключ). 5 Помимо него, также генерируется ещё одно псевдослучайное 128-битное число (соль), а пользователя просят ввести пароль. 5
- Мастер-ключ используется для шифрования всего содержимого пользовательского раздела во встроенной памяти устройства. 5 Для каждого сектора генерируется свой вектор инициализации с солью и указанием номера сектора. 5
- При вводе пользовательского пароля мастер-ключ расшифровывается, и далее пользовательские данные автоматически расшифровываются в фоне. 5
Для шифрования данных в приложениях на Android используются различные алгоритмы, такие как AES (Advanced Encryption Standard), RSA (Rivest-Shamir-Adleman), DES (Data Encryption Standard) и другие. 1