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


Gradle 4.2 Released With Faster Build Times
05/10/2017

The emphasis in the recently released Gradle 4.2 is improved support for building native applications, which has reduced build times for native performance by as much as half. Another highlight i [ ... ]



Does Strong Typing Help?
18/10/2017

We all have our opinions on static strong typing versus dynamic or even no real typing at all, but hard evidence of what works is thin on the ground. Now some new research gives us some facts to throw [ ... ]


More News

 

Last Updated ( Monday, 03 February 2014 )
 
 

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