Over a million developers have joined DZone.

Conceal: An Encryption Library for Data Storage on Android

DZone's Guide to

Conceal: An Encryption Library for Data Storage on Android

· Java Zone
Free Resource

Are you joining the containers revolution? Start leveraging container management using Platform9's ultimate guide to Kubernetes deployment.

This week, Facebook released Conceal, an efficient encryption library for data storage on Android. There have been concerns about Android's security for years, and Conceal aims to address the problem of publicly-accessible data on SD cards by preventing it from being accessed by other apps. According to this overview of Conceal's purpose and features from Subodh Iyengar, software engineer at Facebook, Conceal is:

...a set of Java APIs to perform cryptography on Android and make storage more secure and lightweight. We created Conceal to be small and faster than existing Java crypto libraries on Android while using memory responsibly.

Iyengar also describes the practicality and ease-of-use that set Conceal apart:

Conceal is not a general purpose crypto library. Unlike other libraries, which provide a wide range of encryption algorithms and options, Conceal prefers to abstract this choice and include sensible defaults. We think this makes sense because encryption can be very tricky to get right.

Conceal's website provides some extra details, such as benchmarks against Java and Bouncycastle for reading and writing encrypted data. Check out Iyengar's full overview and Conceal's GitHub to take a look.

Moving towards a private or Hybrid cloud infrastructure model? Get started with our OpenStack Deployment Models guide to learn the proper deployment model for your organization.


Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}