Encrypted Text Format Specification and Tools

This Web-page is a working repository for a family of programs which share a central feature: strong (128-bit) encryption of text in a form (referred to as "textec" in this document) which makes such text suitable for communication between different application programs not necessarily designed to operate with encrypted data, as well as for communication of protected text between applications running on different operating systems and on different hardware architectures. All core C language functions - most notably those that perform Blowfish encryption and decryption - are part of the source code collection posted here. They have been rigorously tested on a large number of different computer systems.

Textec is designed assuming a typical "unit" of protected data consists mostly - but not entirely - of natural language text and that its volume is what would be expected in a typical e-mail message or a narrative record-element of a computerized database. The encrypted text format attempts to be both simple and robust. In particular, textec "by design" steers away from "tags", "headers" or similar identifiers. Flexibility and simplicity have been the primary design principles. Specifically, and in contrast to MIME protocol and similar endeavors, textec design assumes that in many instances the archival repository or communication infrastructure system need not - indeed, there are good reasons why it should not - know "too much" about the data it is handling.

Textec design also recognizes that in most real-life computer applications the weakest link in the security chain lies not with the strength (ill-understood as it might be) of the cryptographic algorithm, but remains well hidden somewhere in the myriad number of minor software engineering details that all large systems are burdened with. If this view is correct, simplicity and isolation of the code that participates in the "security chain" is an important condition of system security. Users that (perhaps legitimately) fear their opponent can cryptographically break the algorithm used by textec, may as well view all current cryptographic algorithms with equal scepticism and opt for non-algorithmic security solutions (OTP, physical protection, dedicated communication channels and so on).

So far, "the family" consists of the following members:

  Encodex Command-line program performing encryption.
  Decodex Command-line program performing decryption.
  Notex Windows text editor similar to Notepad.
  Eudox Eudora 3.x "plug-in" encryptor/decryptor.

The current version of these programs is posted for testing and feedback (please e-mail bug-reports to: support@geodyssey.com); however, the format of textec is stable and is not expected to change. Its details are documented in the preamble of the Encodex (see below) program source code. (View the relevant section).

Encodex and Decodex

Two "command line" utility programs (Encodex and Decodex) for three selected platforms (Linux, Mac OS X and Windows) provide the basic ability to encrypt and decrypt files into and out of the textec format.

Download Encodex (encodex) for Linux.
Download Decodex (decodex) for Linux.

Download Encodex (encodex) for Mac OS X.
Download Decodex (decodex) for Mac OS X.

Download Encodex (encodex.exe) for Windows.
Download Decodex (decodex.exe) for Windows.

Download Encodex (encodex) for Zaurus.
Download Decodex (decodex) for Zaurus.

The complete C language source code of both programs is included here. The primary reason for providing it is to have it inspected as widely as possible, in order to ensure that it can be trusted.

Additionally, both programs can be simply recompiled on new platforms in order to provide a quick ability to generate and process textec. The code can also be "stitched into" any other application (e-mail, text-processing, database, etc.) in order to give such application the ability to encrypt, decrypt and exchange secure text with other applications using the same format. There are no restrictions - this can be done by the developers of both "proprietary" and "open-source" systems, commercial or free. A small encrypted text file, included here (textectest.xtx), can be used to confirm the correct operation of ported program. Its key is "geodyssey" (without quotes).

Download Encodex and Decodex source code (codex.zip).


Notex is a program very similar to the Windows Notepad "applet". Using Windows "clipboard" it can exchange both clear and encrypted text not only with the e-mail clients, but with a wide variety of other text-processing applications running under the Windows family of "desktop" OS-es (9x, ME, 2K, XP, etc).

Read or save preliminary documentation (notex.txt).

Download and/or test-run Notex (notex.exe). The program requires no "installation" or "configuration files". Your browser may let you run Notex from its current location on the 'net. If this is the case, you can use the clipboard to locally transfer the text to and from your e-mail program window, and encrypt and decrypt e-mail without any encryption software "installed" on your computer.

You can test this quickly by selecting and copying into the clipboard the text displayed by your browser if you click on textectest.xtx, then starting notex.exe from the 'net and entering the password [Crypto] - [Enter...Key...] (the password is "geodyssey", no quotes) and decrypting the clipboard to the Notex text window [Crypto] - [Decrypt Clipboard to Text].


The same format of e-mail-friendly ciphertext is used by an Eudora "plug-in" named Eudox. This plugin has been developed for use with Eudora 3.0.6: the most popular and probably still the best e-mail program for the Windows desktop. It has additionally been tested with Eudora 4.3 and 5.0.

Read or save brief documentation (eudox.txt).

Download the eudox.dll file and simply copy it into the Eudora plug-in directory (usually named "plugins"), no other "installation" is required. Then run Eudora and first select [Tools] - [Eudox - Enter or Change Key] to enter the encryption key. Once the key has been entered select [Edit] - [Message-Plug-ins] and [Eudox encrypt] or [...decrypt] on the main Eudora menu to encrypt or decrypt either the whole body or only the selected (highlighted) part of an e-mail message in the active message window.

Download Eudox (eudox.dll).

All of the above executable programs and the C language source code are published with no restrictions on their use and copying, and no guarantee, either explicit or implied.
MD5 checksums of binary files you can download from this repository are:
ccc1c3dfaa28f712cbce61d60f7de3fa *codex.zip

61f56699dfb3184d17198ca46bbe612b *linux6/encodex
24d86bd1a7fca6c43b2913ced9da0e45 *linux6/decodex

17403dd3720dfbad4d9c76940e02faa4 *macosx/encodex
09e97ca35041a67ffc1694df140e6a01 *macosx/decodex

bf93ab85f86737d87c4dd4ba9cb2988f *win32\encodex.exe
15ac4f2f9920cd25d7531cbd12eca2ca *win32\decodex.exe
97cb5bdd4a10aafab2148978d9816803 *win32\eudox.dll
c95a3d3f46de0cdbf1819ea0bc9be705 *win32\notex.exe

198f3e8dd7ab6c2bb8db9813a4490955 *zaurus/encodex
1ff32cd03b1008cb1ec9207ec5639342 *zaurus/decodex

Return to Geodyssey's cryptography page.