Zephyr™ is an encryption program. It can be used to encrypt any file with a password. The encrypted file can later be decrypted by Zephyr™ with the same password. Zephyr™ is a symmetric secret key stream cipher. It uses 39 32-bit Multiply With Carry generators and 32 shuffle arrays.

The program is offered here as shareware. You can download the setup program for version 1.1 here and install Zephyr™ for free:

ZephyrSetup.exe

If you like the program you can purchase a license for $50 by clicking the button to the left.

Please note the export restrictions described on the paged linked here.

A summary description of how Zephyr™ works is linked here:

Summary.txt

A more detailed description of how Zephyr™ works is linked here:

Details.txt

A Microsoft Excel spreadsheet documenting how the password initializes the program is linked here:

PwdInitializeMWC.xls

The ReadMe.txt file for Zephyr™ is linked here:

ReadMe.txt

The program can be installed on any 32-bit Microsoft operating system, including Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, and Windows Vista. The setup program installs the program, called Zephyr.exe, to a folder of your choice, along with the Summary and Detail documentation linked above, plus the ReadMe file. If you like the program you are encouraged to purchase a license for $50. You will be given a Customer Number and Product Key.

I've decided to have a challenge. I have a plaintext document of 9,636 bytes that I have encrypted with Zephyr™. Below I have linked the resulting ciphertext (the encrypted file) and all of the original plaintext except the last few lines. This allows an extensive plaintext attack of the algorithm. I will pay a reward of $2,500 to the first person to supply the missing lines of the original plaintext.

The ciphertext is linked here. Note that the first 5 bytes are a version number. They are not related to the plaintext and can be ignored. This file is zipped so it can be downloaded without conversion. You will need to un-zip the file ciphertext.zep. The unzipped file has 9,705 bytes:

CipherText.zip

The corresponding plaintext minus the last few lines is linked here:

PlainText.txt

To download the above file, right click the link and select "Save target as...". The complete original plaintext document is 9,636 bytes, but the file linked above is 9,513 bytes. You must determine the missing 123 bytes at the end of the plaintext file to claim the reward. You have 9,513 bytes of known plaintext to work with. The missing text is in English. You must supply the exact text.

The following summarizes performance tests on various computers. The table documents bytes encrypted per second using Zephyr™, and the number of seconds to encrypt a 1 MB file. The numbers are averages of several trials:

Operating System RAM CPU CPU speed bytes/sec sec/MB
Windows 98SE 128 MB Pentium III 650 MHz 14,700 71.5
Windows XP 128 MB Celeron 631 MHz 18,000 58.4
Windows 2000 Server 130 MB Pentium 635 MHz 19,550 54.5
Windows 2000 Pro 80 MB Pentium 100 MHz 2,770 461.3
Windows Vista 2 GB AMD 64X2 1.8 GHz 50,000 20.9

The program is designed for maximum security. That is, the program is designed to make it as difficult as possible to decrypt an encrypted file without the password. The primary design goal was not user convenience or speed. The security of Zephyr™ does not depend on keeping the algorithm secret. I believe the source code could be revealed and files encrypted with Zephyr™ would still be safe from attack. However, I have made the decision to not publish the source code.

This page describes how the ciphertext files were tested for randomness. Also, the files resulting from attempts to decrypt ciphertext with slightly incorrect passwords have been tested for randomness.

New features introduced in Version 1.1 of Zephyr™.

Discussion of the keyboard latency routine used in Zephyr™, with some test results.