The method of encryption and decryption of a single file is described at The Cryptosystem ME6 Encryption Process. This algorithm is proprietary (property of the author of this website). It is based on the MD5 Message Digest Algorithm, developed by Ron Rivest. This program includes code for this algorithm written by Colin Plumb in 1993 (for which no copyright is claimed).Cryptosystem ME6 uses five DLLs (dynamic link libraries) which were all written in C by the present author. Three of these DLLs are not part of the code which performs encryption and decryption. The fourth DLL, namely,
md52dll.dll, consists of code for producing an MD5 message digest of a block of bytes. The fifth DLL, namely,
me6e30.dll, contains the code which, based on
md52dll.dll, performs the encryption and decryption.
You can download from this site a program that demonstrates the use of the DLL
md52dll.dll. Click on this link — MD5 File Comparison — to download the installation program. Click on the downloaded file —
mdfc83_setup.exe — to install the program. After two files have have been specified the program reports (based on their MD5 signatures) if they are the same or different).
If the files are identical then the output (with the MD5 signature) will be "The files are the same".
Here is the C source code for the DLL
As stated above, Cryptosystem ME6 uses five DLLs, one of which is
me6e30.dll, which contains the code for performing encryption and decryption of a file. The source code for this DLL consists of eight modules. Apart from the header file and the code for
md52dll.dll, the other modules are:
|me5.c||DLL entry point and buffer allocation|
|compr.c||Compress a buffer of n unsigned ints|
|fops2.c||Encrypt/decrypt a file.|
|fops3.c||Encrypt/decrypt a block.|
|key.c||Create a priming key for each block then subsequent keys|
|rand.c||Generate pseudorandom numbers|
|shuffle.c||Shuffle a buffer of chars|
Clink on the file names above for the C code, which contains comments. See also the description of the Cryptosystem ME6 encryption algorithm at Cryptosystem ME6.
|Home Page of this Hermetic Systems Website|
|Home Page of the other Hermetic Systems Website|