Encrypter by ElmüSoft

Example:
Try the following example which was generated by Encrypter.
The passphrase is "Test". (You should use a better one !)
The security depends only on your passphrase


Passphrase (case sensitive!) Hide typing 

Output

What it does:
Encrypter encrypts text information to pass it through the internet.
The encryption is done with a C++ application in fractions of a second and gernerates a HTML file which can then be sent as an email attachment. (like the one above)
The decryption can be done on ANY browser (e.g. Internet Explorer, Netscape, Konquerer) by Java Script.
Texts encrypted with Encrypter can be read on on ANY platform (e.g. Windows, Linux, MAC) !
It is NOT necessary that the receiver has any decryption software installed.
So you can read encrypted texts ANYWHERE in the world even in an internet cafe.
After closing the browser window nothing of the decrypted text remains on the computer, decrypted data is NOT saved.
The size of the created HTML file is tiny.

The security depends only on the strength of your passphrase.
The only way to crack an encrypted HTML file is by Brute Force Attack.
The security is the same as with PGP's self-decrypting archive. (depending only on the passphrase)
I developed Encrypter to replace PGP's Self-Decrypting Archive, which is awkward to handle and does not work platform independent.
Additionally the PGP-SDA.EXE is about 130 kB of size even if a text of only 10 Bytes was encrypted, this is unnecessary large.

Limitations:
You can not encrypt files other than plain text.
The maximum length of the text depends on the receivers browser. It must not exceed the maximum string length of the JavaScript interpreter. (I never tested with more than 8 KB)
The speed of decryption depends
-- on the browser (Internet Explorer is 5-times quicker than Netscape),
-- on the text length and obviously
-- on the receivers computer's speed.

Passphrase
Crackers try to crack a passphrase by trying lists of words or syllables which they put together in random order. (Brute force attack)

To make your passphrase secure:
You should use a long passphrase! (> 30 characters)
You should include words with intentional spellig errors and/or UpperCase/LowerCase errors. (e.g. "JiMMy")
You should include words which do NOT exist in dictionaries and which are NOT names.
You should include words which consist of non-existing syllables.
You should include phantasy words which YOU have invented. (e.g. "Bruftojk")
You should include numbers and special characters. (+*~#-_:,"!,...)

But you and the receiver of the email have to be able to remember the passphrase !

How it works
Encrypter mainly uses two encryption mechanisms:
Scrambling (changing the order of the letters) and
Bit swap (exchanging the bits within a letter)

The whole process of encryption is:

1.) Escaping of Carriage Return / Linefeed and other characters.
2.) Scrambling the text with the passphrase
3.) Bit swap of the text with the passphrase
4.) Bit swap of the passphrase with itself
5.) Scrambling the text with the new passphrase
6.) Bit swap of the text with the new passphrase
7.) The encrypted text is inserted into a HTML page which contains a decryption-JavaScript.
8.) The complete Java Script is encrypted by a byte-replace mechanism.
9.) The complete HTML page can then be sent as an email attachment to the receiver.

The decryption does the same in reverse order.

The scrambling process:
Encrypter swaps every letter in the text with another one.
Which letters are swapped depends on an algorithm which generates indexes from the passphrase and a list of large numbers.
This algorithm takes the next of the large numbers and adds the Ascii code of the next character in the passphrase.
The result is taken modulo the text length and used as swap position for the current character.
The starting point of the list index and of the passphrase index depends on the length of the passphrase.

Example:
Text = "This is a Test"   may be scrambled to:
Text = "s Tties Ta hsi"

The Bit swap process:
Encrypter swaps the bits in every letter so a different letter will result.
Encrypter uses a list of swap schemes like for example 76514203 which means that
Bit 0 becomes Bit 3
Bit 1 becomes Bit 0
Bit 2 becomes Bit 2
Bit 3 becomes Bit 4
Bit 4 becomes Bit 1
Bit 5 becomes Bit 5
Bit 6 becomes Bit 6
Bit 7 becomes Bit 7

The index to the list of swap schemes is generated similar to the index in the scrambler (s.o.)

Example:
Text = "This is a Test"   may be bit-swapped to:
Text = "Ept} sq h Iqmc"

The combination of scrambling and bit-swapping may result in:
Text = "This is a Test"   converted to:
Text = "} hqcm pIEtq s"


You can download Encrypter on my Download page.


Zurück zur Startseite   (mit Inhaltsverzeichnis der Homepage)
Back to start page (with index of homepage content)