Encryption explained · iPhone and Android
Encryption explained: how your photos get scrambled, and what keeps them safe
A photo on your phone is a file of numbers. Anyone who gets the file can read the numbers and see the picture. Encryption changes the numbers so the picture can’t be seen, and gives you a way to change them back.
The idea in one picture
Imagine a lockbox. The box is the cipher, a published recipe for scrambling data. The key is the one thing that opens it. Everyone can know exactly how the box is built, and it stays safe, as long as the key is secret. That is the principle modern cryptography relies on: the method is public, the key is private.
Without the key, an encrypted photo looks like random noise. There is no hint of the picture, no partial view, and no “almost opened”.
What actually happens to a photo
- The app makes a long random key, often 256 bits.
- It runs the photo through a cipher together with the key. Out comes scrambled data of about the same size.
- It also adds a short tag, a kind of seal. When the photo is opened later, the tag proves nothing was changed. If a single byte is damaged, opening fails instead of showing a broken picture.
- The original is removed, or never written. Only the scrambled version is kept.
To view the photo, the app uses the key to reverse the process.
The names you’ll see
- AES-256. A standard published by the US government in 2001, used worldwide. The 256 is the key size in bits. It is very fast on chips that have AES built in, as most phones do.
- ChaCha20-Poly1305 and XChaCha20-Poly1305. A newer cipher paired with a sealing method (Poly1305). The “X” version takes a longer random value for each file, which makes mistakes harder to make. It is fast without special hardware.
- Argon2id. Not a cipher. It turns a short secret such as a PIN into a key, slowly on purpose, so each guess is expensive.
A 256-bit key has about 10^77 possibilities. No computer that exists or is planned could try them all. That is why attackers don’t try.
Where encryption fails
Breaking the cipher is almost never the way in. People go around it:
- Guessing the PIN. If the key comes from a six-digit PIN, only a million guesses are needed. That is why slow key derivation and long passphrases matter.
- Reading the key. If the app stores the key where someone else can get it, such as on a server, the lock does nothing against that someone.
- Reading the photo after it is opened. While you look at a photo, it is decrypted in memory. A phone that is already unlocked, or has spyware, can show it.
- A copy elsewhere. If the original is still in your gallery, a cloud account or a chat download, encrypting one copy protects nothing.
“Military-grade” and other labels
“Military-grade encryption” is a marketing phrase. It usually means AES-256, which is a public standard that a free app can use as easily as a defense contractor. It does not tell you who holds the key, how the PIN becomes a key, whether copies exist elsewhere, or whether the app has been reviewed by anyone outside the company.
Better questions to ask any app:
- Where is the key made, and where is it kept?
- Can the company open my data if I forget my PIN?
- Is the file format published so others can check it?
- Does a decrypted copy ever get written to storage?
How Silo handles it
Silo encrypts on the phone with XChaCha20-Poly1305 and 256-bit keys, before anything is written to storage. Your PIN or passphrase goes through Argon2id, and the vault’s format is published so anyone can check it or decrypt a copy without the app. Photos and videos are shown from memory, so no decrypted copy is written to storage. Read the published format for the details.
Questions
Can encrypted photos be cracked?
Not by trying every key. A 256-bit key has more possibilities than anyone can search. Real attacks guess a weak PIN, steal the key, or read the photo after the app has opened it.
Is AES-256 better than XChaCha20?
Neither is known to be weak. AES is very fast on chips with built-in support, and XChaCha20 is fast and simple in software. Both give the same strength when used correctly, so the way an app handles keys matters far more.
What does military-grade encryption mean?
Usually just that the app uses AES-256, which is a public standard that anyone can use. It says nothing about how keys are stored or who can reach them.
Does encryption hide that a file exists?
No. It hides what is inside. Someone can often still see that files exist, how many there are and roughly how large they are, unless the app takes extra steps.
Is a locked folder the same as encryption?
No. Many locks just hide a folder or ask for a PIN before showing it, while the files underneath are unchanged. Encryption changes the files themselves.