Introduction

Table of content

  • Do you have confidential information stored on your pilot?
  • Do you sync your pilot in more than one place?
  • Did you know that anyone with access to any synced PC or anyone
    that can put your pilot in a cradle and sync it can access all your confidential information?

Consider this example

Did you know that any record on your pilot which may look like this

memoclear.gif (2333 bytes)

On your PC it will look like this
even if it's marked Private

debugview.gif (6388 bytes)

If you need it to look like this

memoall.gif (2337 bytes)

You need ReadThis!

 

Table of content

History

I started to develop ReadThis! about a year ago when I found out that all my 'private' information is quite public if I sync my pilot at the office
I checked several of the encryption programs that were available at the time and found that none was what I was looking for.
So I decided to try my luck in writing my first Pilot application: ReadThis! that would let me encrypt anything I see fit without constraining me to a
certain application or database.
It was more important to me to know what I have in my memos (when viewing them on PC) then the actual content which I could decrypt on my Pilot.
Later I also added the PC decoder just to be on the safe side, to be able to decrypt stuff if I forget the pilot at the office (never happened) but still it's nice to be on the safe side :)
I was asked by many users during this time when permanent licenses will be available, my answer was that until I was sure ReadThis! is ready there won't
be any permanent license available as I really hated (and it happened more than once) to pay for a shareware and find out that on a daily basis it crashes my Pilot.

Schachar

 

Top

 

Features

New on version 2.5

 

New on version 2.6

Top

Using ReadThis!

Installation

  1. Make sure ReadThis! hack is disabled in HackMaster.
  2. Install readcfg.prc and readhack.prc
    if you want IDEA encryption you should install idea.prc as well.
  3. Enable ReadThis! hack in HackMaster make sure it's version is 3.00 and above

BackTop

ReadThis! main screen

ReadThis! main screen This is the main screen of ReadThis! you will have to enter this screen when ever you reset your pilot, or upgrade to a new version of ReadThis! or ReadThis! hack. Since ReadThis! hack is configured by ReadThis! it is automatically disabled when ever any of these parameters changed (as in pilot reset or version change) and usually just starting ReadThis! will enable it again.

Options

Key Lifetime The amount of time a key will be kept in memory before it is being automatically cleared by ReadThis!
While a key is in memory you can encrypt/decrypt without being asked to enter the pass phrase.
Key ID The KeyID of the Default-Key
The Default-Key can only be set from ReadThis! main screen.
When you enter a key in the passphrase pop-up dialog if you enter the passphrase of the default-key
ReadThis! will not ask for confirmation of the key. For all other keys there will be a confirmation pop-up window where you will
have to re-enter the passphrase
Encrypt on exit Will automatically encrypt all text within text markers when exiting a view.
Decrypt on entry Will automatically decrypt all text within text markers when entering a view.
Keep first line If enabled during the encryption of full memo the first line (subject) will be kept in clear text.
Enable dbl-click Enable selection of text to decrypt / encrypt by double clicking on it.
This is a good choice if you don't have any other hack that collides with double clicking such as select hack.
Set Key Sets the key into memory, if it's the first key or a key other then the Default-Key
a confirmation dialog will be displayed and a new KeyID will be displayed.
Clear Key Clears the key from memory
This can also be done from any other application by dragging the pen across the upper side of the screen from
the right corner to the left corner.
Save Saves the setting of the check boxes.
Undo Loads the current configuration (if you changed things before pressing save)

BackTop

Menu Options

ReadThis! menu
About Version and registration information screen
Register Registration number entry dialog, registration numbers are in the form of
XXXXXXXXXX-XXXXXXXXXX
Registration information
Import Registration Another option of entering registration number without typing them is to copy the number from the e-mail
into a memo on your PC then using this function to enter it. Note that only one such memo should exist as ReadThis will select the first one it finds.

BackTop

Encrypting full text

  1. There are several ways to encrypt a text using ReadThis!
    One way is to:
    1. Drag the pen from the upper right corner of the screen to the text you want to encrypt
      (a little lock (ReadThis! Pointer) should appear under your pen tip)
    2. Lift the pen.
    3. If  Keep-First line were selected all text in field or memo will be encrypted keeping
      the first line in clear text.
    4. If no key is currently configured into memory the following  dialog box will appear to request for a key
      readthis8.gif (2273 bytes) You may now either cancel the operation pressing 'No' or
      Press 'Yes' and set a key.
  2. Assuming Dbl-Click option was selected in ReadThis! configuration screen steps 1 and 2 above can be replaced by simply double clicking in the text
    you want to encrypt
  3. If the field contains text markers only the text within the markers will be encrypted / decrypted when double clicking inside the text markers or dropping the ReadThis! pointer within their bounds.

BackTop

Encrypting Partial text

  1. Mark the selected text on the screen
  2. Drag the pen from the upper right corner of the screen to the text you selected
    (a little lock (ReadThis! Pointer) should appear under your pen tip)
  3. Lift the pen.
  4. If no key is currently configured into memory the following  dialog box will appear to request for a key
    readthis8.gif (2273 bytes) You may now either cancel the operation pressing 'No' or
    Press 'Yes' and set a key.
  5. If a key different from the default-key is selected this dialog will appear
    readthis11.gif (2553 bytes) Press Cancel to cancel key change
    OK to set a new key different from the Default-Key
  6. Important note: if you select text within the bounds of a marked text field the whole field will be encrypted, not just the selected text

BackTop

License key types

There are three types of license key that can be entered:

  1. Time limited Evaluation license key
    Will enable full use of ReadThis! for a pre-set amount of days.
    Must be entered up to 7 days after it was created.
    When license expires only decryption is available.
  2. Temporary registration license key
    Will enable full use of ReadThis! for a limited time until a
    permanent license is issued.
    This license can be entered at any time.
    If it expires only decryption is possible.
    Can be replaced only by a permanent license.
  3. Permanent registration license key
    Never expires and depends on the PalmPilot Username.

BackTop

Encrypted text format
Encrypted text has the format of: {RTXXkkkkkkqq....................qq}
Where

See more information in the technical information section

BackTop

Decrypting text

Encrypted text can be decrypted in two ways:

  1. Dragging the ReadThis! pointer from the upper right corner of the screen to the text
    you want to decrypt.
  2. If Dbl-Click option was enabled double clicking inside the encrypted text.
  3. If there is no decryption key set or the current text was
    decrypted using a different key then the one currently active you will be requested to write the correct key.

 

Note that if only one encrypted text is available on the screen it will be decrypted no matter where u double click or release the
ReadThis! pointer.

BackTop

Using text markers (Auto Encrypt/Decrypt)
Text markers are a new feature from version 2.5 of ReadThis! (need ReadHack version 3.5 and above).
Text markers bound text inside a memo, note or any other edittable text on screen  and will enable you to quickly encrypt
and decrypt texts within the bounds of the markers. Marked text fields can be also configured to automatically decrypt / encrypt
when exiting / entering a view.
Text markers bound a text with .< (Dot, smaller than)  to mark a beginning of a block and >. (Greater than, Dot) to mark a block end.
here is a screen shot of text with markers.

Note: Auto encrypt / decrypt does not work in table based user interfaces such as To-Do, Address book (it does work in the attached memo, but not in the fields) it only works on full screen text fields.

readthis12.gif (1547 bytes) As you can see there are two marked text blocks in this memo.
Double clicking in one of them (assuming double click option was enabled) or, dropping the ReadThis! pointer will encrypt the text only within the bounds
of the markers.
If Encrypt on exit was selected the text will be automatically encrypted when you leave this memo.
readthis13.gif (1967 bytes) This is how the memo will look like after only one text has been encrypted.
Note that the markers remain unchanged.

BackTop

Encryption modules

Currently ReadThis! comes with built-in XOR encryption which is just simple hashing of the message using
binary XOR with the MD5 hash of the passphrase and the ability to use an external cipher.
Version 2.00 of ReadThis! will set the cipher type in the ReadThis! message header ( {RT...) to XR for the internal cipher
and ID for ANY external cipher. In future releases this will change to fully supported multiple encryption engines.
Please note that I take no responsibility on how close if at all any external cipher is safe or resembles the algorithm it should supply
I just included it as a free demo to any of you who want to write or adapt an algorithm to be used in ReadThis
.
Also included below is the full encoding format used for any techy of you that doesn't trust me :)

Currently available external; cipher an  IDEA sample for external cipher the IDEA code I used comes from Eric Young's (eay@mincom.oz.au) SSLeay-0.6.5 implementation and the source code is included as well. It can be down loaded at http://members.xoom.com/PixIL/Software/ReadThis additional free modules will be added in the future.


Top

PC Decoder

A free PC decoder can be downloaded at http://members.xoom.com/PixIL/Software/ReadThis
The PC decoder will enable you to view encrypted information on your PC
To decrypt information on your PC copy the encrypted text and paste it in the PC decoder text window or drag and drop it into the window.
The PC Decoder will decode all encrypted messages which were encrypted with the currently set key. If the text contains multiple encrypted parts using different keys you will have to decrypt with a key, change it to the next key, decrypt and so on. The PC decoder can be added to PalmPilot Desktop by pressing the add to PalmPilot desktop button, or removed in the same manner. ReadThis PC decoder will remain in the system tray until the quit button was pressed. Only one instance of ReadThis! PC decoder will run.

Top

FAQ's and Troubleshooting

Here are some problems that users came up with and they answers

  1. Q: ReadThis! hack is activated but still I can't see the ReadThis! pointer or use the double click-feature
    A: When ever any system parameter of ReadThis! changes it internally disables ReadThis! hack.
    Running ReadThis! configuration program should solve the problem.
  2.  
    Q: I am not sure which of the ciphers ReadThis! uses
    A: Check the two letter after the ReadThis! header if it looks like:
    {RTXR it uses the built-in XOR cipher if it looks like:
    {RTID it uses the external cipher module
  3.  
    Q: Your supplied license key does not work.
    A: Check if your supplied Pilot username is exactly as it appears in the hot sync welcome message on your pilot
    including all spaces, special characters and case.
  4.  
    Q: Autoencrypt / Autodecrypy does not work in address book , To-Do
    A: Auto Encrypt/Decrypt does not work on any table based user interfaces such as To-Do list address book etc. It only works when the entire screen is one text field.

Top

Tech Stuff

Every ReadThis! encrypted message is composed of 5 parts:

  1. 3 characters identifier: {RT
  2. 2 characters cipher identifier for example XR
  3. Encoded DWord KeyID
  4. Encoded text message
  5. end of message marker: }

All encoded numbers are in big-engine so if you want to check it on a PC don't forget to swap bytes.

Encoding method:
I encode every 6 bits of original message to an ASCII character starting at the base of ASCII character 48
every encoded field is terminated with qq 2 X ASCII character 113

Passphrase, key and KeyID:
The key is created by calculating an MD5 hash of the passphrase the KeyID is the lower 32 bits of the MD5 of the key.

Encrypting text:
Before encryption a 2 bytes representing the length of the original text string excluding the null at the end are added to the original text.
A buffer of 2+length of text+completion to multiple of 8 bytes is created and filled with random numbers (from pilot built-in random number generator)
The text is copied into the buffer and to the encryption engine. The result string is encoded as explained above.

Decrypting text:
Before decryption ReadThis! checks for the 2 characters cipherID and compare that the KeyID in memory is the same as in the message.
The decoded encrypted message buffer is transferred to the encryption engine for decryption a buffer is allocated for the size of the string +1 as the 2 bytes
at the beginning of the decrypted buffer indicate and copied into it.

Top

License

Please read included license and copyright text file

Top

DISCLAIMER

THIS SOFTWARE IS PROVIDED BY SCHACHAR LEVIN ``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 ANY SCHACHAR LEVIN  OR ANY OTHER PARTY 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. THE USER ACCEPTS FULL RESPONSIBILITY FOR ANY DAMAGES, CONSEQUENTIAL OR OTHERWISE, RESULTING FROM ITS USE.

Top

Contact Info

Please direct problems, wishes and comments to pixel.il@usa.net

Download

Free PC Decoder and free external ciphers as well as software updates can be downloaded at
http://members.xoom.com/PixIL/Software/ReadThis

Top

Purchasing permanent license keys

Buy ReadThis! permanent license

Release notes

Version 2.62

Version 2.61

Version 2.60 (pre-release)

Version 2.53

Version 2.52

Version 2.51

Version 2.50

Top