The privyCrypt Series

privyCrypt is supposed to be a simple encryption scheme for people whose email service providers block attachments and monitor their email (like anyone in the UK or Russia, or you have work-supplied email). It is simple and relies on the tried and true method of agreeing on a key beforehand. (Alot of people probably don't trust the whole public and private key thingy, because they don't understand it - in any case, this is a start for people who would otherwise not use encryption).

The focus of privyCrypt is on systems where access is limited eg. the inability to "install" software (in the MS-Windows sense), and where the transmission medium is not trusted (eg. work monitored email). Where possible, the statically (which in this case means you do not have to install any additional libraries) linked binaries should not exceed the maximum storage capacity of a floppy disk.

It also relies on the Blowfish encryption algorithm, along with a variant of the uuencode algorithm. Extraneous text (i.e. text not related to the encrypted message) is automatically removed. All spaces / tabs in the cyphertext are ignored, to help with dodgy email clients (you know those emails you always get back filled with extra spaces and tabs and don't align on a 80-column screen properly).

Encryption is provided through the use of Eric Young's libblowfish, and instructions (in the source code) are included on using an replacing the blowfish encryption algorithm with an alternative encryption scheme.

I called it PrivyCrypt because most of the other names were already taken; this is supposed to be PRIVacY through enCRYPTion.

Note that the Applet and Windows versions have been designed so that they will still work without inconvenience at screen resolution as low as 640x480.

You are free to distribute the executables and source code to whoever you wish; however you are asked to send me a postcard if it is to be used for commercial purposes, unless some other arrangement can be made. I also reserve the right to boast that "XYZ Corporation is using MY software!". Any derivative works must indicate that they are based on code written by myself (Voon-Li Chung) and Eric Young.

Legal Stuff

This software is provided by Voon-Li Chung ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

privyCrypt UNIX Version

PrivyCrypt 1.5 for UNIX (with 32-bit ints) PrivyCrypt 1.0 for UNIX (with 32-bit ints) Cleartext can be provided via a file, or via the standard input. Similarly, the encoded text can be output to either the standard output or to a file. The encryption key is also provided either via the command-line options, or via a file.

The new version 1.5 fixes what I call "The Hotmail Bug": if there is a section of data that needs to be encode a "&", it adds a space immediately afterwards, to ensure that web-based mail services do not result in (for example &#2) inadvertent html directives.

The UNIX version of privyCrypt has been tested on:

With the testing by Walter Truitt on an Ultra-5, I can say that the code is endian-independant.

privyCrypt PalmOS Version

PrivyCrypt 1.6 for PalmOS

Also note that the palmOS and Windows versions' "Copy" command does not need the text to be highlighted; it doesn't make sense to copy only part of the encrypted message, so copy automatically copies the entire message into the clipboard.

Version 1.5 has the same selection policy as the Windows version; if you select some text, the cut/copy operation works only on that text. If you do not select any text, the cut / copy operation works on the entire text field.

Version 1.6 fixes the hotmail bug,.

Who those who are interested, the creatorID is PRVY.

Version 1.0 is also available Version 1.5 source code is also available Version 1.6 is also available                        

privyCrypt Win32 Version

PrivyCrypt 2.6 for Windows

The windows version is "statically" linked - this means it doesn't need to install any DLLs or run any setup program. All you have to do to run it is double click on privyCrypt.exe and away you go. This means that you can even run it directly off a CD or a floppy disk, and because no installation is required, you do not need any extra priviledges to run it.

Version 2 now also allows you to encode and decode to and from files as well as the text window. When asked, the "Save" option puts privyCrypt's output in a file, while "View" is the good-old text window.

Version 2.5 now also allows you to {en,de}code directly between files, the clipboard and the text window. Press the "Settings" button to change the destination of processing.

Version 2.6's only differences is the fixing of the "hotmail bug", in which the occurance of & can be misinterpreted as the prelude to a html directive. privyCrypt fixes this by inserting a space between many ampersands and the next character, which also results in a jagged edge (instead of the text forming nice columns).

When copying text to the clipboard, if there is no text currently highlighted and you choose "Copy", then privyCrypt automatically copies the contents of the entire text window into the clipboard. If you select a section of text, then only that section is copies into the clipboard.

The application as written using Borland C++ Builder 3.

The version 2.5 source code is also available. Version 2.5 is also available. The old version 2.0 is also available. The old version 1.0 is also available.

privyCrypt the Java Applet

PrivyCrypt for Java, compiled under JDK 1.3

This is likely to be the last port of the privyCrypt series - privyCrypt as a Java-based applet, meaning that you can use privyCrypt on anyweb browser that supports Java. You basically type in the text area, the text field next to the buttons is used to enter the encryption code, and the text field to the left of that is used for error messages.

Installing a copy on your own local website

This is quite simple: you can either follow this link and save the page to a file, along with the Java Applet itself and then put a link to your own local copy.

Alternatively, if you don't like the spartan web page used to hold the applet, just add the following to your own html page:

<center>
<applet name="privyCrypt" archive="privyCryptJava.zip" code=privycrypt.class width=600 height=300>
</applet>
</center>

However, if you do this, I require you to place on the page somewhere a link to my original site, as well as a link to a guide that explains the error messages.

The Java source code is also available.

Email Me