Thursday, August 1, 2013

Released new AES padding parameter to smartphones

Just to be safe, I released the new block padding parameter to crypt2phile and cryptxphile (for smartphones) likely running Android 2.x or similar. I don't know if op system upgrades to these platforms could cripple decryption, but I need to be prepared at least for the latest-and-greatest phone platforms in the future.  

Android 4.3 upgrade...update

After more investigation (ref. previous post), I have determined that the app problem can be traced to lack of backwards compatibility between 4.2 and 4.3 regarding block padding used during Java encryption/decryption. Alas, this recent Google op system upgrade caused corrupted decryption output when using text that was encrypted prior to the upgrade...this error is not the app's direct fault.

I released a fix/work-around:
"Encrypt/decrypt block padding was not backwards-compatible after Android 4.2 to 4.3 op system upgrade!!! Technically: Changed app from using AES/CBC/PKCS5Padding to AES/CBC/PKCS7Padding. This makes your old, pre-upgrade encrypted folders 'decryptable' again, but leaves brand new folders (since your tablet received an op system upgrade) undecipherable. Sorry, but this was the best of the bad options available." 

Android 4.3 upgrade corrupted old files?

My Nexus 7 tablet was automatically upgraded to Android 4.3. This o/s platform contains, among other features, better disk management code called TRIM, which helps prevent storage fragmentation. After the Android s/w update (and subsequent platform reboot), I noticed some of my old encrypted data had been partly corrupted, and in one case, totally corrupted when the app's decryption step completed. The app did not report a decryption error, but the output was incorrectly decoded, especially at the beginning of the text block. Major mystery!!!