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.