page.title=Encryption
@jd:body

<!--
    Copyright 2014 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc">
    </ol>
  </div>
</div>

<p>
Encryption is the process of encoding all user data on an Android device using
symmetric encryption keys. Once a device is encrypted, all user-created data is
automatically encrypted before committing it to disk and all reads automatically
decrypt data before returning it to the calling process. Encryption ensures that
even if an unauthorized party tries to access the data, they won’t be able to
read it.
</p>
<p>
Android has two methods for device encryption: full-disk encryption and
file-based encryption.
</p>
<h2 id=full-disk>Full-disk encryption</h2>
<p>
Android 5.0 and above supports <a href="full-disk.html">full-disk encryption</a>.
Full-disk encryption uses a single key—protected with the user’s device password—to
protect the whole of a device’s userdata partition. Upon boot, the user must
provide their credentials before any part of the disk is accessible.
</p>
<p>
While this is great for security, it means that most of the core functionality
of the phone in not immediately available when users reboot their device.
Because access to their data is protected behind their single user credential,
features like alarms could not operate, accessibility services were unavailable,
and phones could not receive calls.
</p>
<h2 id=file-based>File-based encryption</h2>
<p>
Android 7.0 and above supports <a href="file-based.html">file-based encryption</a>.
File-based encryption
allows different files to be encrypted with different keys that can be unlocked
independently. Devices that support file-based encryption can also support a new
feature called <a
href="https://developer.android.com/preview/features/direct-boot.html">Direct
Boot</a> that allows encrypted devices to boot straight to the lock screen, thus
enabling quick access to important device features like accessibility services
and alarms.
</p>
<p>
With the introduction of file-based encryption and new APIs to make
applications aware of encryption, it is possible for these apps to operate
within a limited context. This can happen before users have provided their
credentials while still protecting private user information.
</p>
