Unbreakable Encryption (Beta) ?

Note: Binary and large files not yet supported, but improvements coming soon.


This provides ultra-secure (OTP-Enhanced AES) encryption which is performed completely client-side, so it's safe from network monitoring. It can make unsecure messaging channels completely secure.

To Send

  1. Enter several passphrases in the blue box in any order, with one phrase per line.
  2. Enter your message in the green box.
  3. Click "⇝ Encrypt ⇝".
  4. Copy or download the ciphertext (encrypted) data, and send it to someone using any method.
  5. Send each passphrase through a sufficiently different channel so that no entity (government or otherwise) can monitor all of them. (e.g. email, phone, social media, in-person, mutually remembered history, etc.) The initial passphrase transmission is the hardest part, but this is fast and easy to use after that, and perpetually secure (as long as at least one half-decent passphrase is still secret).

To Receive

  1. Enter your passphrases in the blue box in any order, with one phrase per line.
  2. Paste ciphertext (encrypted) data into the red box.
  3. Click "⇜ Decrypt ⇜".


The OTP portions of this works on the following principle: unless you know at least all but one of the variable in a+b=c, then it's impossible to determine what the other two are. This tool goes even further, allowing a+b+c+d+e+...=zzz..., and I've added AES encryption besides. In the face of these impossible obstacles, any prospective cracker will weep with utter hopelessness.

WARNING: Fake versions of this tool could be produces, so make sure you get it from a trusted place. Once you do, save a local copy by clicking "Save ▼". This is a stand-alone file not requiring anything else. Check for the latest version at stalwart.ca/aes (IP: but remember that web/ip traffic (either DNS, routing, or content) can be diverted or modified.

If you see gibberish when decrypting, then passphrase(s) are missing or wrong. Even one extra space will change everything (but blank lines are ignored).

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Use it at your own risk.

For nerds: This sorts and joins the passphrases into a single line, which is then used as a one-time-pad on the plaintext. The amalgamated passphrases are then reduced to 32 bytes (in a cyclical one-time-pad fashion, on top of itself) which is subsequently used as an AES256 key. If your passphrase(s) are extremely short, AES128 or AES192 may be used, so try to use at least 32 bytes worth of characters, and try to avoid repeating patterns. The resulting keys are incredibly unpredictable, and the OTP is completely formidable as long as your keys are reasonably good, especially with longer passphrases. The more passphrase data, the better (>= the plaintext length would be incredible, but probably overkill).


Passphrases (1/line, any order):

Download as (filename):