Encryption for the Masses V2.0.0 User Guide

Paul Le Roux
19 June 1999


Table of Contents

Copyright (C) 1998-99 Paul Le Roux. All Rights Reserved.


1. Introduction

E4M is an on-the-fly disk encryption product.

The product supports either the file hosted volumes style transparent encryption, or raw partition encryption.

The way this works is you create a volume on your hard disk, CDROM, floppy or other media which is essentially just a normal file. The file however is in fact a file system itself. It contains all the structures needed by your operating system to recognise the file as a file system of a particular type such as FAT or NTFS. This is the file hosted volumes style volume.

Or you could choose a blank or unwanted partition on a local hard disk or floppy disks and format it using E4M. You can then mount this new encrypted volume, and use it like you would any other drive. This method is refered to as Raw partition volumes.

The only difference is that Raw partition volumes do not have a file system in the middle, so they provide an encrypted file system on top of a Raw partition. As opposed to file hosted volumes which need an existing file system to "host" the volume file. An example would be a E4M volume called "myfiles.vol" located in "C:\", rather than the same volume located on the second partition of your hard disk.

To your operating system, these new volumes will work exactly like "C:\" or any other drive on your system.

Tools are provided to "mount" a volume, and to create a volume. The process of mounting a volume involves pretending that the volume file or partition is in fact a removable media device attached to your system.

Thanks for using my product, and enjoy!

Paul Le Roux.


2. Disclaimer

In continuing to read this documentation, and in using this product you agree to the following terms and conditions:

  1. You understand that this product utilises strong cryptography, and that should this technology be controlled, or illegal in your country, you agree not to use the product, or import this product into your country, or you agree to obtain the necessary permission to use this product as defined by your legal jurisdiction.
  2. You understand that this product contains "no backdoor’s", that would allow partial or complete recovery of your data without your password.
  3. You understand that the program author cannot be held responsible for the loss of your data through a defect, or a malfunction of the product, even if the author had been previously advised of the existence of such a defect or malfunction.
  4. You understand that the program author cannot assist you in the recovery of your data should you loose your password.
  5. You agree not to use this product in such a way that would prevent a law enforcement officer, or any other legally authorised person access to your data; if such a person is legally empowered to access your data.
  6. You agree to abide by the import/export control laws regarding the import/export of strong cryptography into, and out of the countries that have such laws.

3. What's New in this Version


4. How to Create a Volume

To create a volume file you will need to click on the icon "Create Volume".

The program "volformat" should start, and will have the title "Create E4M Volume".

You should see the following wizard.

There are six steps in creating a volume:

  1. Step 1 Select Volume Type
  2. Step 2 Pick Volume Location
  3. Step 3 Set Encryption Options
  4. Step 4 Specify Volume Size
  5. Step 5 Choose a Password
  6. Step 6 Generate the Volume

4.1. Step 1 Select Volume Type

Choose a type for your volume. The format or type of your volume can be either one of the following formats:

You should only use SFS is you want to be able to use your volumes in DOS, Windows 3.x or Windows 95/98.

SFS format is slightly more efficient than the E4M format. SFS volumes have exactly 512 more bytes than E4M. This is because E4M needs a header sector and a boot sector. SFS uses the boot sector for its header, and then needs E4M to fake the boot sector for it at run time. Which directly gives rise to the following important limitation:


Warning: Never reformat an SFS volume using format.com, explorer or any other tool. SFS volumes cannot be formatted. If you accidentally reformat an SFS volume, the volume will be corrupted.

E4M volumes can be reformatted freely using either FAT or NTFS without any limitations.

Once you have selected a volume type, the "Next" button will be enabled and you can proceed to the next step.

4.2. Step 2 Pick Volume Location

Select where on your system the volume is to reside, you should click the "Browse Files" button or the "Raw Devices" button to choose the location for the new volume.


Note: Unlike some products, E4M does not provide a field for you to type in a descriptive name for your volume; instead simply use long filenames if you are using file hosted volumes.

Once you have picked a location for your volume, the "Next" button will be enabled and you can proceed to the next step.

4.3. Step 3 Set Encryption Options

Select the type of encryption you want for your volume.

You can choose one of the listed ciphers.

You must also choose either HMAC-MD5 or HMAC-SHA1 for use with Pkcs-5.

If you are creating a legacy volume such as SFS, no Pkcs-5 is used.

Once you have picked the cipher of your choice, the "Next" button will be enabled and you can proceed to the next step.

4.4. Step 4 Specify Volume Size

Please choose a reasonable size for your volume. There is a minimum and maximum size. The minimum size is 19KB, while the maximum size is 2GB.

If you type in an invalid size the wizard will not let you proceed to the next step.

If you are creating a volume on a Raw partition, the size edit box is disabled. This is because the size of the partition onto which your volume is created is set by whatever program you used to partition your drive (such as fdisk). The size is fixed and cannot be changed here. Simply click the "Next" button.

Once the system has a valid size for your volume. The wizard will enable the "Next" button and you can proceed to the next step.

4.5. Step 5 Choose a Password

The system requires that you enter a password no shorter than 8 characters for E4M; and no shorter than 10 characters for SFS. SFS requires a complete phrase, this simply means a minimum of two words separated by a space which together are no less than 10 characters long.

Please be very careful when choosing your password. It should be picked carefully, please do not use any of the following:

Examples of good passwords include words which include combinations of upper and lowercase letters, as well as punctuation and numbers.

Once you have selected a password, and typed it in twice for verification. The system will let you proceed to the final step by enabling the "Next" button.

4.6. Step 6 Generate the Volume

To complete the creation of your volume click the "Finish" button. There will be a short delay while your system is polled for some additional randomness which will be used in generating you volume.

Some products require that you move the mouse or type on the keyboard at this stage in order to generate randomness. E4M "hooks" the keyboard & mouse from the very start of the volume creation wizard, every keyboard stroke and mouse movement is contributing to the "randomness pool"; this pool also includes the results of many various system calls. The aim of all of this is so that the system at this stage in the creation process has good quality randomness to create a unique volume key.

Once the key has been generated for you, and your new volume has been formatted, you should see a dialog giving you statistics about your volume. Once you see this dialog the entire creation process is complete, and the wizard will automatically exit.


5. Mounting a Volume

The concept of "mounting a volume" means to make your operating system aware of the encrypted volume, which in turn allows you to read and write files to the volume, to defrag the volume, and to do everything else you would normally do to any other disk, even including formatting the volume.

To mount a volume, you will need to click on the icon "Mount Volume". This will start the program "volmount".

You should see the following window.

This window has the following elements:

To mount a volume first select an available volume from the tree view, next type in a volume name, and a password, and finally press the mount button.


6. Mount command line parameters

In order to make mounting a volume easier, such as automatically when a system starts up, or automatically when a particular program is run, extensive command line parameters have been provided which allow you to control the entire mount process, and any parameter or field present in the mount window. The mount parameters are:

The syntax of the command line is:

volmount [/v volume] [/sd] [/l letter] [/e] [/b] [/p password] etc

Whitespace between parameters, and parameter values does not matter.

The order of the parameters does not matter.


Note: Turning off the cache will not clear the password cache, use both /c and /wc to turn the cache off, and clear it.


7. Unmounting a Volume

The concept of "unmounting a volume" means to take away the operating systems knowledge of your encrypted disk.

To unmount a volume, you will need to click on the icon "Unmount Volume". This will start the program "volmount".

You should see the following window.

This window has the following elements:

To unmount a volume first select a mounted volume, and then press the unmount button.


8. Changing a volumes password

To change a volumes password, you will need to follow the steps for mounting a volume, but instead of pressing the mount button, press the change password button. This will prompt you with the Password Change window.

This window has the following elements:


9. Dumping a volumes contents using "voltest"

To dump a volumes contents you can use the command line only tool "voltest".

This program accepts the following parameters:

This tool displays the contents of an E4M volume. It is a useful starting point to understanding how E4M volumes are structured, and in solving problems related to bad disk sectors, or other corruptions.

The tool also checks to make sure that the volumes sector encryption is working correctly.

This tool does not support Scramdisk.

This tool only supports file hosted volumes.


10. Supported Encryption Algorithms

Algorithm Author Key size Block size Implementation Speed
triple-DES IBM/NSA 168 bits 64 bits Assembler 65 secs
IDEA(3) Lai & Massey 128 bits 64 bits Assembler 66 secs
DES IBM/NSA 56 bits 64 bits Assembler 45 secs
Blowfish B.Schneier 256 bits 64 bits Assembler 39 secs
CAST Adams & Tavares 128 bits 64 bits Assembler 45 secs
MDC/SHA(1) P.Gutmann 512 bits 160 bits C 87 secs
Square(2) Daemon & Rijmen 128 bits 128 bits C N/A
TEA16(2) Wheeler & Needham 128 bits 64 bits Assembler N/A
TEA32(2) Wheeler & Needham 128 bits 64 bits Assembler N/A
MISTY1(2) M. Matsui 128 bits 64 bits C N/A

1. SFS volumes only. 2. Scramdisk volumes only. 3. Commercial use of IDEA must be licensed, contact Ascom-Tech AG idea@ascom.ch

Speed is based on copying a 50mb file to an encrypted volume on a P166 MMX Windows NT Server with 96mb ram.


Note: The "Summer" cipher from Scramdisk is not supported.


11. Support for Scramdisk, & Scramdisk weaknesses

Scramdisk support is provided for file hosted volumes, but not for raw partition volumes, or for "WAV" based volumes.

The Scramdisk information block (such as last access time) is not updated by E4M.

As E4M has more sophisticated Pkcs-5 key setting, and faster cipher implementations than Scramdisk, support for Scramdisk will be phased out when E4M supports Windows 95/98.

The length of Blowfish keys in Scramdisk is actually only 160 bits not 256 bits.

The length of Triple-DES keys in Scramdisk is actually only 140 bits not 168 bits.

This is because during the user password key setting stage of opening a volume, Scramdisk uses only 20 bytes worth of key material. The fact that the disk keys later use up to 32 bytes of key material is irrelevant because an attacker would simply brute force the first stage, and then recover the key for the second stage.

However there is no cause for concern. The ANSI standard for Triple-DES specifies only 112 bits.

Scramdisk does not record which particular cipher has encrypted a particular volume in an attempt to make a dictionary attack harder. This protection mechanism is weak because:

  1. A dictionary of all possible Scramdisk passwords can easily be compiled because there is no key salt.
  2. A user using the same password on more than one volume is vulnerable to a dictionary attack because his password will hash down to the same value for both volumes, thanks to the point above.
  3. Many people will simply use the default cipher (Blowfish), making trying the dictionary using Blowfish the first point of attack, and the most likely to succeed.
  4. Non-Blowfish users will most likely use either DES or IDEA, making these the second most likely ciphers to attack.

E4M uses Pkcs-5 with a keysetup counter of 1000 and a key salt of 20 bytes. This results in a delay of a second or more to set a single key. An attacker using 140,000 word lower case dictionary would need to run a computer for a day continuously to recover the password.

If the password for one volume is recovered, and the same password is used on a second volume to which an attacker wants to break into, the second attack would still take another day, this is thanks to the key salt.

These attacks would be much quicker against a Scramdisk volume.


Important: This emphasises the need to choose passwords wisely, try to select passwords with upper, and lower case characters, together with punctuation. A well chosen password is immune to this attack.


12. E4M Volume Layout

The E4M volume format is based on the format used by SFS with the following differences:


13. Random Number Generation

The random number generator used in this product is based on:


14. Compliance with Standards

E4M complies with the following standards:


15. Export Licenses

The product was developed in Australia.

Australia controls the export of cryptography[1]. However as this product is exported only via the Internet the cryptography related laws donot apply.

References

1. Please see the section on Export/ import controls in http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm

Other documentation is also available at http://www.gilc.org/crypto/crypto-survey.html


16. What's Planned for Future Versions?


17. How you can help in the products development?

If you have skills which you think will be of use to the products developer, and would like to encourage, or participate in the development of this product, or you would like to beta test new versions of the product, please contact the author at paulca@rocketmail.com

I am committed to eclipsing all other similar products by using tried and trusted encryption techniques, secure random number generation, solid key setting, together with providing solid support for as many operating systems as possible.

Thanks for your interest in making E4M the disk encryption product of choice.


18. Where to get E4M, and the Source Code?

The primary site for E4M is www.e4m.net


19. Verifying the Distribution with PGP

First you will need a copy of PGP version 2.3a or later. The latest version of PGP can be found at http://www.pgpi.com

Next you will need to get the public key used in signing the E4M distributions.

To get the public key either copy it from the web page http://www.e4m.net, or download it from http://wwwkeys.pgp.net or one of the many other PGP public key servers around the world.

The key should identify itself as Paul Le Roux paulc@sdf.lonestar.org

The Key ID for this key is 0xE7959B99

Finally, open up a DOS prompt and change to the directory where you installed E4M.

Then type the following command:

pgp thesigfile.asc thefile

You should see a "Good signature" message from PGP.

If you use the Windows 95/NT version of PGP, such as PGP 5 or later, go to PGPtools and click the "Decrypt/Verify" button. Next select as the "signature file" thesigfile.asc, as the "signed file" select thefile.

If you do not receive a "Bad signature" message you have a valid distribution!

thesigfile is the PGP signature file for the file you downloaded.

thefile is the actual downloaded file.


Important: Check the fingerprint on the e4m web site to be sure you really have the correct public key.


20. What Operating Systems are supported?

Every release of E4M is tested against the 1996 NT 4.0 Hardware Compatibility Tests.


21. Internationalisation Support

There is no support for foreign languages in E4M.

I am looking for volunteers to translate the strings used in E4M into other languages, and/or to translate this manual.


22. Windows directory changes

The file "e4m.ini" is copied into your Windows directory.

Everything else goes into the directory you specify.


23. Uninstalling E4M

To uninstall E4M simply open up the Windows control panel and click "Add/Remove Programs", scroll until you find E4M, then click the "Add/Remove" button.

This will remove all E4M files, and undo changes made to the registry. The device driver will also be removed. The uninstall will NOT remove any volume files you may have created. These will have to be deleted manually assuming you no longer require them.

For a list of what to remove from your registry should you need to manually remove the product, please see section List of changes made to your system


Note: Windows & InstallShield stubbornly refuse to remove all changes to the registry.


24. Reporting bugs

To report bugs please send a bug report to paulca@rocketmail.com with the following information:

  1. What your system configuration is, such as what operating system/service pack you are running.
  2. What you were doing at the time of the system crash.
  3. What other applications were running at the time.
  4. What kind of crash occurred eg Windows NT blue screen.
  5. What version of E4M you are using.

25. Known bugs

If you remove a floppy and then reinsert the wrong floppy your system will not crash, but E4M will read and write garbage to the disk. This could corrupt your disks!


Note: This affects only removable Raw partition volumes (floppy disks only).

Edit seems to lock up only after pressing ignore several times after getting the abort, retry, ignore dialog box.

Programs other than edit seem unaffected.


Note: This affects only file-system hosted volumes on removable media (floppies, Zip disks etc).

If you reformat one of these volumes it will be unreadable the next time you try to mount it. Only E4M volumes can be reformatted.


26. E4M history of changes

  1. Dec 1998 Version 100 released to general public for beta testing under the development name of "Caveo".
  2. March 1999 Version 136 released to the general public for beta testing.
  3. June 1999 Version 200 first release version, product renamed.

27. Contact Details

I can be contacted at paulca@rocketmail.com or paulc@sdf.lonestar.org


28. Credits

Thanks go the following people:


29. Trademarks

Any trademarks used in this document are the property of their respective owners.


30. License

Please read the file "license.txt" included with this manual. This file contains your license agreement for this product.

You are not permitted to use the product until you have read the license agreement, and the disclaimer at the top of this document.