Posted on Saturday, January 19, 2008 at 5:42 PM
The next program is one which appeared in the original
Software Tools but not in
Software Tools in Pascal. The program is
Crypt which encrypts and decrypts a text file.
The algorithm for the encryption is what cryptologists call a "one time pad" (google it). When properly used it is theoretically unbreakable. What we are doing here does not include all the steps entailed in properly using the algorithm but it should prevent the casual snoop from decoding your files.
The algorithm consists of merging the input stream of data with a second stream, the key, to produce an output stream of encrypted data. We extract the ascii codes from each char of input and from each char of the key. A bitwise
XOR operation gives us the ascii code for the output which is converted back to a char. Here is the code for
Crypt.
Program Crypt ;
{
Crypt -- encrypt and decrypt
}
var
Key : String ;
KeyLen : Byte ;...