Portable Text Encryption - v14.12, 11 August 2024

Files:
pte.exe - Windows executable
pte - Linux executable

This util does not depend on any external helper utils, and so is completely
portable, making it well suited for USB flash drives and Tails persistent
storage. It is written in TCL and uses the AES, DES, Blowfish, and RC4
packages from tcllib version 2.1.

The use is pretty self explanitory, but ..

The upper text box is for plaintext, type some text or import a text file, when
you "encrypt", this text will be encrypted and the result, the "cipher text",
will be displayed in the bottom text box. In the password dialog, there is a
checkbox labled "No L/F's in Output". By default, the cipher text will consist
of lines with a width of 75 characters, if this box is checked, the output will
be one continuous line without line feeds (carriage returns for Windows fans)
which is desirable in some cases, i.e., copying and pasting to IRC channels or
possibly web page input.

If you enjoy these little scripts that I make, consider writing me an email and
letting me know where you're from.

Dana Booth
danabooth@mail.com



Update log:

v14.12 - Added option to save ciphertext as file. Added option to import
ciphertext from file.

v14.11 - Updated the GUI to use two text boxes, upper text box for the plain
text, and the lower text box for the cipher text. Threw in a few buttons for
east of use. Looks quite different, but the guts are unchanged.

v12.02 - Fixed an annoyance where the ciphertext contained several trailing
white spaces

v12.01 - PTE would encrypt the whitespace in an empty text box, this was not so
much a bug as it was an annoyance, so I fixed that.

v12.0 - Mostly just cleaned up some very lazy lines, although a couple of these
changes made this version incompatible with previous versions.

v11.0 - Added option to import a text file, removed the buttons and just went
with a pull down menu, password salting and hashing is more robust. This version
is not compatible with previous versions, i.e., text encrypted with previous
versions cannot be deciphered with this one and vice-versa.

v10.01 - No changes, fixed a typo.

v10.0 - Change the method of encrypting the "salt" before dispersion into the
ciphertext.

v9.11 - RC4 wasnt't properly deciphering when the plain text was too short, <
three characters, fixed.

v9.0 - Throws a random character somewhere within the first nine characters of
the ciphertext.

v8.0 - changed the method of dispersing the "salt", for lack of a better term,
within the ciphertext.

v7.0 - the plain text is now compressed before encryption, reducing the length
of the ciphertext, the reduction can be significant in many cases.

* note, a couple of versions skipped which were unsuccessful.

v4.0 - I was unhappy with the password hashing, and changed it completely to be
far more robust and unpredictable, which also makes this version incompatible
with previous versions.

v3.1 - came to my attention that I wasn't salting passwords, this is fixed,
which makes this version incompatible with previous versions

v3.0 - outputs base64 rather than hexdecimal, shortening the ciphertext

v2.51 - strengthened the password hashing
