ROTTY! v1.10 (c)1994 Brian Spencer - - - - - - - - - - - - - - - - - - If you have any questions or comments concerning this or any of my forthcoming projects, feel free to contact me: Brian Spencer 54 Highland Avenue Barrie, Ontario L4M 1N3 CANADA 1:252/503.2 (FidoNet) DISCLAIMER & LICENCE NO GUARANTEE OR WARRANTY TO THE FITNESS OF THIS PROGRAM IS MADE. USE ONLY AT YOUR OWN RISK! You are permitted to use this program without any monetary compensation to me. However, I could always use some encouragement, so if you *want* to do something, send me a postcard. If you are an employer, I could use a real job. :-} This package, which includes the following files: ROTTY.COM Main executable ROTTY.TXT The file you're reading now FILE_ID.DIZ Description for Bulletin Board Systems may be distributed under these terms: a) The files listed above must all be included and may not be altered in any way; and, b) There is no conspicuous charge for this package. This package may NOT be distributed as part of another package without my written permission. BACKGROUND AND INSTRUCTIONS You are probably asking yourself, "What *is* rot13"? Rot13 is a simple form of text-based encryption. More precisely it is a substitution cipher, or a Caesar Cipher. If you took the letters of the English alphabet and rotated them 13 positions (the carry-over is wrapped around), then you would have something like the following: the letters: a b c d e f g h i j k l m n o p q r s t u v w x y z become: n o p q r s t u v w x y z a b c d e f g h i j k l m What makes this cipher unique is that if you repeat the above process, you will return with the original message. The algorithm is a mathematical congruence. [ROTTY! v1.10] 1 Why use rot13? Obviously it isn't going to provide any challenge for cryptanalysists. Rather, it is used to provide a very easy, yet effective, mask of possibly offensive text that is broadcast. It is most often used in newsgroups on Usenet. If someone WANTS to read the disguised text, then they can decode it. Using rot13 has been made fast, efficient, and painless with ROTTY! (Trust me, you don't want to do this with just paper and pen) On the command line prompt, type: ROTTY [filespec]... Actually, don't type that. Enter ROTTY alone on a line to get brief instructions on it's syntax. All the program needs is at least one parameter - a filename. You can enter as many filenames as you want, with or without wildcards. ROTTY! will then proceed to encrypt/decrypt the file(s). The original file(s) will be replaced with their enrypted/decrypted counterparts. Remember, you can reverse this process by running the program over the same files again. Sound easy? You bet! If you're feeling particularly industrial, try using ROTTY! with some tool of telecommunications, such as an offline reader or a point system. NOTES OF INTEREST * Written entirely in ANSI C as a personal excercise. The source code could be compiled on any other platform * Compiled with Borland's Turbo C++ for DOS 3.0, (c) 1987, 1993 Borland International, Inc. All rights reserved * Using the tiny memory model, ROTTY! will consume no more than a whopping 64 kilobytes of RAM * Should run on the lowest common-denominator of PC ever made * For speed and efficiency, I upgraded the output file's buffer to 16 kilobytes - your drive heads will thank you for it HISTORY (v1.00) - First release - too pleased with myself to think anything could go wrong... (v1.10) - Thanks to andrew graham's suggestion, I replaced redundant mathematics with a lookup table, which speeds up the process; Made cosmetic changes to program and documentation [ROTTY! v1.10] 2