Brick: Data Encryption and Decryption

August 10, 2015


Brick is an experimental software solution designed to encrypt data through a unique process of encoding and decoding information within image files, referred to as "Bricks". This approach allows users to encrypt messages into images, adding an additional layer of security and privacy to communication. It is NOT meant for security. It can be used for data compression depending on your parameters.

How It Works


To encrypt data, Brick converts your message or data file into a pixel representation within an image file, creating a visually encoded message — the Brick. During this process, users have the option to:

  • Specify a recipient: Only the intended recipient can decrypt the Brick, enhancing security.
  • Set an expiration date: The Brick becomes unreadable after the specified date, ensuring the data doesn't stay accessible indefinitely.

A decryption key is generated alongside each Brick. This key is crucial for decoding the information and is typically stored separately to maintain security.


Decrypting a Brick requires the corresponding image file and its decryption key. Brick analyzes the encoded data within the image, using the key to decode and reconstruct the original message. If the Brick:

  • Is intended for a different recipient or
  • Has expired

the program will automatically destroy the Brick, making the data irretrievable to ensure security compliance.

Security Features

Brick incorporates several security mechanisms to protect data:

  • Auto-destruction: Ensures that data is inaccessible after expiration or if accessed by unauthorized parties.
  • Separate key storage: Enhances security by requiring both the image file and an external key to access the data.

Why Brick?

Brick is just-for-fun project, that’s just a proof of concept for a fun encryption and data compression technique.