Steganography Documentation
What is steganography?
Steganography is the technique of embedding secret information within an ordinary object, such as an image or audio file, ensuring the hidden message remains undetectable to those unaware of its presence. For instance, a message can be concealed within the pixels of an image or the sound waves of an audio file. This wallet further employs advanced algorithms to make extracting concealed information computationally infeasible for unauthorized parties.
Once the hidden file reaches its destination, the secret data can be extracted using specialized tools or techniques. To enhance security, steganography is often combined with encryption, where the hidden message is encrypted before embedding. This combination makes the concealed information both harder to detect and more secure.
How It Works
Workflow of the Steganography Process
The detail of the embedding algorithm
Message Preparation:
A user selects a message to embed within an image.
The user decides whether to encrypt the message before embedding.
Determining the Embedding Strategy:
The application determines the most suitable hiding method based on the data size and the image’s capacity. This can involve using all RGB channels or selectively choosing specific channels like R, G, or B.
The user chooses between two embedding modes: sequential or pseudo-random.
Sequential mode: The message is stored sequentially in each pixel, following a straightforward and linear pattern.
Pseudo-random mode: The message is embedded at random pixel locations, guided by the output of an HMAC function. This method is designed to enhance security by obfuscating the bit locations, making it more difficult to detect or extract the data.
Encryption for Enhanced Security
The user selects an encryption mode to add a layer of security.
The application derives the encryption key from the user’s seed phrase, which the user is responsible for storing and backing up.
At the destination, the receiver must use the corresponding decryption key to retrieve the hidden message.
Secure key management via MPC (Multi-Party Computation) mode
In MPC mode, the mobile device and the cloud hold shares of the master encryption key, which derives from the user's seed phrase.
For encryption:
The cloud computes partial encryption using its key share and sends the result to the mobile device.
The mobile device combines this with its own share to construct the full encryption key and finalize encryption.
The master key is never fully rebuilt, ensuring maximum security.
Embedded the message into the image
Security features
Encryption:
The message is encrypted before embedding to ensure its confidentiality.
A unique encryption key is derived from the user’s seed phrase, which serves as the root for secure key management.
Why it is secure:
Ensures that the hidden message cannot be accessed without the correct decryption key.
Even if the steganographic embedding is detected, the encrypted message remains unintelligible to unauthorized users.
Pseudo-random placement:
The embedding locations are determined using a cryptographically secure HMAC function.
Data is embedded bit-by-bit at random pixel locations, avoiding sequential or predictable patterns.
Why it is secure:
Prevents detection by obfuscating embedding patterns, making it resistant to steganalysis techniques that rely on spatial or statistical analyses.
The randomness ensures unpredictability in data placement, thwarting reverse engineering tools.
Frequency Obfuscation:
Random noise is added to the LSBs of non-embedded pixels.
This creates a uniformly altered image, masking the presence of hidden data.
Why it is secure:
Masks embed locations by adding random noise to unused pixels, creating a uniformly modified image.
This makes it nearly impossible for attackers to distinguish between regions with hidden data and regions with noise.
Secure Key Management via MPC
The master encryption key is split into shares held by the mobile device and the cloud.
The cloud performs partial encryption using its share, and the mobile device finalizes encryption with its own share.
The master key is never fully constructed, ensuring it remains secure.
Why it is secure:
The master encryption key is securely managed by splitting it into shares, preventing any single entity from accessing the full key.
Even if one share is compromised, the complete encryption key remains secure.
The master key is never rebuilt, eliminating a critical attack vector.