Dec 162017
Encrypt text files, includes full TP5+ source code.
File PIBCIPHR.ZIP from The Programmer’s Corner in
Category Pascal Source Code
Encrypt text files, includes full TP5+ source code.
File Name File Size Zip Size Zip Type
DEC.COM 76 53 deflated
DECRYPT.PC 11622 2378 deflated
DECRYPT.VMS 11592 2374 deflated
ENC.COM 76 53 deflated
ENCRYPT.PC 12223 2475 deflated
ENCRYPT.VMS 12181 2479 deflated
README.1ST 2490 1131 deflated

Download File PIBCIPHR.ZIP Here

Contents of the README.1ST file

PIBCRYPT contains routines to encrypt and decrypt messages using a variation
of Vigenere's cipher.

You should find these files in the library:

DEC.COM VAX/VMS DCL file to execute decryption program
DECRYPT.PC IBM PC decryption program source (Turbo Pascal v5.0)
DECRYPT.VMS VAX/VMS decryption program source (Vax Pascal)
ENC.COM VAX/VMS DCL file to execute encryption program
ENCRYPT.PC IBM PC encryption program source (Turbo Pascal v5.0)
ENCRYPT.VMS VAX/VMS encryption program source (Vax Pascal)
README.1ST What you're reading now!

Upload and compile the DECRYPT.VAX and ENCRYPT.VAX programs with Vax Pascal.
See the comments in both programs for details on running the programs.

The variable "StringKey" in both the encryption and decryption programs
provides the key which is used to initialize a random-number sequence.
This sequence is used to construct a random encryption key which is as
long as the message being encoded. A variant of Vigenere's method is used
to perform the encoding. Only characters in the "printable" range
of Ascii 32 to Ascii 127 are encoded; control characters and upper Ascii
characters are left "as is."

If you use this method to exchange messages, you should change the value
of "StringKey" from time to time. You can also change the function used
to compute the initial random number seed. You can exchange the new values
of StringKey in public messages, and the code will still be secure as long
as you do not publish the initialization function.

A file encrypted by the Vax can be decrypted by the PC, and vice versa.
This is why I've included portable random number generator rather than
using the built-in functions in Vax Pascal and Turbo Pascal. The code
could be made more efficient for a given platform; my intent was to produce
programs that would be as similar as possible on VMS and DOS, and thus
likely to require minimal modification for other compilers or systems.

The random number generator is taken from Press et al, "Numerical Recipes,"
Cambridge University Press, 1986. They in turn based it on one suggested by
Donald Knuth (see his "Seminumerical Algorithms," Second edition,

I am contributing these routines to the public domain, so there are no
restrictions on their use. I'd appreciate receiving credit if you do
use them in a product.

-- Philip R. "Pib" Burns

 December 16, 2017  Add comments

Leave a Reply