Introduction

This application provides encryption and decryption of strings using ‘XTEA’ (extended tiny encryption algroithm). 

XTEA is an improved version of TEA, fixing some weaknesses of TEA and is explained at the following links:

http://en.wikipedia.org/wiki/XTEA
http://www.simonshepherd.supanet.com/tea.htm

The user provides a string of any length and a key of any length for encryption.  However, if a key is longer than 16 characters then XTEA will use the first 16 characters only.

This code was developed by Taylor Corey of Instantiations.

Examples

To encrypt, in a workspace type:

'this is my string for encryption/decryption' xteaEncryptWithKey: 'my encryption key'

. . . and inspect the results.  The results will be an encrypted string.  To decrypt, in the inspector, type:

self xteaDecryptWithKey: 'my encryption key'

. . . and inspect the results.  You should see the original string.  A sample test method is provided at ‘EsString class>>#testEncryptDecrypt’.

Tested Configurations

The application was tested with VA Smalltalk 7.0 on XP but should work with all platforms and versions.

Installation Instructions

  1. Unzip the .zip file.
  2. Import the ‘TEAEncryptionApp' application from the ‘xtea1-1.dat’ file.
  3. Load the the 'TEAEncryptionApp’ application.

References

http://en.wikipedia.org/wiki/XTEA
http://www.simonshepherd.supanet.com/tea.htm

Disclaimers

This code was developed by Taylor Corey of Instantiations. It is being made available to you without charge. You are welcome to use this code. It works in many environments as outlined above. However no Support will be provided and no guarantee to work for your requirements.

License agreement

Instantiations is pleased to provide sample code and utilities (hereinafter, the "Code") to you for your use free of charge, subject to the following terms and conditions, which apply no matter how you may have obtained the Code.
Instantiations grants you a royalty-free license to use, copy, distribute and modify the Code, but the Code may not be sold or licensed for a fee. You may also grant others the right to do the same. You understand that the Code is not supported by Instantiations in any manner, and that the Code is being provided AS IS, without a warranty of any kind. Instantiations does not warrant that the Code will meet any requirements that you may have or that the operation of the Code will be error free. Further, this license and the IBM copyright notice (see below) must be included with all copies of the Code that you make or distribute.

THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. INSTANTIATIONS DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, INSTANTIATIONS GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.