Facebook Conceal Encryption For Android
Facebook Conceal Encryption For Android
Written by Mike James   
Monday, 03 February 2014

Why is Facebook offering Android programmers an encryption library? The reason isn't clear, but it is open source so there can't be anything lurking in there, can there?

facebooklogo

Facebook builds a lot of software and it open sources a pleasing amount of useful code. Conceal is a Java API targeting Android file encryption. It is designed to be efficient enough to be used on old Android devices with low memory and slower processors. 

Can you be sure that the crypto is done right?

The good news is that there is no need to check out Conceal from the start because it doesn't actually implement the cryptographics algorithms. Instead it makes use of OpenSSL.

This raises the question of why not just use OpenSS? The answer is that the entire OpenSSL library is sophisticated and flexible - and therefore big. Conceal ships with a subset of selected algorithms which makes it possible to fit everything into 85KB. 

Of course this means that you don't have the choice and flexibility that a full encryption library offers but, let's face it, you often don't need a choice - any encryption will satisfy the need.

 

concealed

Comparing Conceal to Bouncycastle, another lightweight encryption library, and native Android encryption.

 

In this case Conceal make use of AES-GCM and HMAC-SHA1 which are faster versions of the standard algorithms and not available as part of OpenSSL on older Android devices.

It also ships with a default keychain which stores the keys in SharedPreferences. In a real use of the library you would probably have to pay attention to implementing your own key management. 

What does Facebook use Conceal for?

"Facebook currently uses Conceal to store image files on SD cards. Conceal helps Facebook protect user's private data by encrypting data stored on SD cards while allowing users to move some of the data storage needs of the app to the expandable SD card."

Conceal is offered on a BSD licence, which means you can modify it, and the team are looking for help to expand and maintain the code. 

 

facebooklogo

 

Banner


Cayenne Makes IoT Easy, Really Easy
12/05/2016

This really is the IoT for the rest of us. Cayenne is a drag-and-drop IoT builder that makes working with the Raspberry Pi to create IoT apps as easy as it possibly can be. This isn't just another IoT [ ... ]



A Mathematical Proof Takes 200 Terabytes To State
10/05/2016

The idea that computers play a key role in mathematical proof is well accepted today by all but the purist of mathematicians, but the latest example of proof by computer enters a new realm - a proof 2 [ ... ]


More News

 

Last Updated ( Monday, 03 February 2014 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2016 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.