InformaCam: App

Encryption

The app performs encryption on three levels at various points.

Media Hashing

Media Hashing is the process of fingerprinting a media source (image or video) by taking the cryptographic hash of its pixel values. A group of pixels are run through an SHA-1 hashing algorithm, and the resulting string can be referenced at any point in order to verify the authenticity of that media source.

Image Hashing

InformaCam hashes the entire image both before and after image redaction on save.
Each image region that has been either pixelated or redacted is hashed as well.

The image hashes are persisted in the metadata JSON object for each resulting image file.

Encrypted Storage

If the user specifies this in their preferences (under Original Image Handling), the original image may persist in the encrypted database, rather than unencrypted on the SD card in the standard image gallery, or deleted entirely. Future iterations of the app will include a file system for viewing the images stored in the ecrypted database.

PGP-Encrypted Metadata

The metadata JSON Object is encrypted to each trusted destination using PGP encryption. The resulting string is inserted into the metadata of the image (above the JFIF header.)

Source

The repo for this project is here.