home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Between Heaven & Hell 2
/
BetweenHeavenHell.cdr
/
100
/
31
/
crypt1.doc
< prev
next >
Wrap
Text File
|
1984-04-14
|
21KB
|
465 lines
PAGE 1
PC-CRYP1
DATA ENCRYPTION AND DECRYPTION PROGRAM
COPYRIGHT 1984 BY
JAMES T. DEMBERGER
7280 60TH AVENUE NORTH
ST PETERSBURG, FL 33709
COMPUSERVE 74425,1642
THIS IS A USER SUPPORTED PROGRAM. IF YOU USE PC-CRYP1 AND FIND IT
OF VALUE, YOUR CONTRIBUTION ($5 SUGGESTED) WILL BE APPRECIATED. YOU
ARE ENCOURAGED TO COPY AND SHARE THIS PROGRAM WITH OTHER USERS SO LONG
AS THE PROGRAM IS NOT DISTRIBUTED IN MODIFIED FORM AND THIS NOTICE IS
NOT BYPASSED OR REMOVED.
INDEX
INTRODUCTION 1
SYSTEM REQUIREMENTS 1
SYSTEM SETUP 2
VERNAM ENCRYPTION 2
RUNNING PC-CRYP1 3
PROCESSING FILES 5
DOUBLE ENCRYPTION 7
MISCELLANEOUS 7
INTRODUCTION
THE PROGRAM HAS TWO MAIN FUNCTIONS: DEMONSTRATION OF THE
ENCRYPTION AND DECRYPTION PROCESS USING TEST CHARACTER STRINGS AND THE
ENCRYPTION AND DECRYPTION OF SEQUENTIAL DATA FILES IN CHARACTER OR
ASCII FORMAT. THE PROGRAM ASSUMES THAT A FILE TO BE ENCRYPT IS A
SEQUENTIAL FILE OF RECORDS THAT CAN BE READ WITH THE STATEMENT LINE
INPUT #1, STRING.VARIABLE.NAME$. ENCRYPTION AND DECRYPTION OF DATA
FROM SEQUENTIAL OR RANDOM FILES WITH RECORDS THAT HAVE MORE THAN ONE
STRING FIELD OR BOTH STRING AND NUMERIC FIELDS WILL REQUIRE MERGING
SUBROUTINES USED BY THIS PROGRAM INTO THE PROGRAMS USED TO PROCESS
THESE FILES. ALL ENCRYPTION, DECRYPTION AND FILE OR RECORD PROCESSING
IS DONE BY SUBROUTINES. ALL THE VARIABLE NAMES USED IN THE PROGRAM
HAVE EXPLICITLY ASSIGNED ATTRIBUTES (%,!,#,$) AND ONE OF THE CHARACTERS
IN A NAME IS A PERIOD. THERE IS LITTLE LIKELYHOOD THAT YOU WILL HAVE
ANY DUPLICATION OF NAMES WHEN THE SUBROUTINES ARE MERGED INTO OTHER
PROGRAMS.
SYSTEM REQUIREMENTS
THE PROGRAM IS WRITTEN IN IBM PC BASIC AND RUNS ON AN IBM PC WITH
64 K OR MORE OF MEMORY, AN IBM OR MX-80 PRINTER, EITHER A COLOR OR
MONOCHROME DISPLAY AND ONE OR MORE DISK DRIVES.
PAGE 2
SYSTEM SETUP
PC-CRYP1 MAY BE RUN AS INTERPRETED OR COMPILED BASIC. INTERPRETED
BASIC WILL ENCRYPT OR DECRYPT STRINGS AT A RATE OF APPROXIMATELY 12
CHARACTERS PER SECOND WHILE COMPILED BASIC WILL ENCRYPT OR DECRYPT
STRINGS AT A RATE OF APPROXIMATELY 350 CHARACTERS PER SECOND. COPY
PC-CRYP1.BAS TO A SYSTEM OR DATA DISKETTE IF YOU ARE ONLY INTERESTED IN
SEEING HOW THE PROGRAM RUNS. COMPILE PC-CRYP1.BAS AND COPY THE .EXE
FILE TO A DATA OR SYSTEM DISKETTE IF YOU WANT TO TAKE ADVANTAGE OF THE
FASTER ENCRYPTION AND DECRYPTION RATE.
VERNAM ENCRYPTION
BACK IN 1917, GILBERT S. VERNAM DEVELOPED AN ENCRYPTION PROCESS
FOR MESSAGES PUNCHED IN PAPER TAPE USING BAUDOT OR FIVE CHANNEL
TELETYPE CODE. HE USED THE ELECTRO-MECHANICAL EQUIVALENT OF A LOGICAL
EXCLUSIVE OR OPERATION (XOR) ON EACH CHARACTER CODE IN A MESSAGE TAPE
AND A CORRESPONDING CHARACTER CODE IN A KEY TAPE TO PRODUCE A THIRD
TAPE WITH THE ENCRYPT MESSAGE. DECRYPTION USED THE SAME PROCESS EXCEPT
THAT A TAPE WITH THE ENCRYPT MESSAGE AND A COPY THE KEY TAPE WERE XORED
TO PRODUCE THE DECRYPT MESSAGE. THE PROGRAM USES ESSENTIALLY THE SAME
PROCESS EVEN TO THE EXTENT OF USING A FIVE BIT PATTERN TO ENCRYPT AND
DECRYPT DATA.
ONE PROBLEM WITH THE ORIGINAL VERNAM PROCESS RELATED TO THE KEY
TAPES. FOR A SECURE SYSTEM, THE CHARACTERS IN THE KEY TAPES HAD TO BE
IN RANDOM ORDER AND THE NUMBER OF CHARACTERS IN A KEY TAPE HAD TO
EXCEED THE NUMBER OF CHARACTERS IN THE MESSAGE TO BE ENCRYPT. THE
SOLUTION TO THE LENGTH PROBLEM WAS TO USE THE XORED OUTPUT OF TWO
TAPES, ONE WITH 999 CHARACTERS AND THE OTHER WITH 1000 CHARACTERS, TO
CREATE A KEY WITH AN EFFECTIVE LENGTH OF 999,000 CHARACTERS. THE
PROGRAM GENERATES AS MANY RANDOM CHARACTERS AS ARE REQUIRED FOR ANY
PRACTICAL MESSAGE LENGTH. THERE IS NO NEED TO STORE THE RANDOMLY
GENERATED CHARACTERS SINCE THE GENERATION PROCESS WILL CONSISTENTLY
PRODUCE THE SAME CHARACTERS IN THE SAME SEQUENCE.
ANOTHER PROBLEM RELATED TO SIX OF THE 32 TELETYPE CODES. THESE
SIX CODES WERE TELETYPE CONTROL CODES (SHIFT UP, SHIFT DOWM ETC.) AND
REQUIRED SPECIAL CONSIDERATION. XORING TWO EIGHT BIT ASCII CODES
CREATES THE SAME PROBLEM IN THAT THE RESULTING VALUE MAY BE A DISPLAY,
PRINTER OR COMMUNICATIONS CONTROL CODE. THE FIVE BIT CODE WITH BINARY
VALUES FROM 0 THRU 31 USED BY VERNAM OFFERS A SOLUTION TO THIS PROBLEM.
XORING ANY NUMBER FROM 0 THRU 31 WITH ANY OF THE ASCII CODES 32 THRU
255 NEVER RESULTS IN A VALUE LESS THAN 32. THE PROGRAM USES ONLY XOR
VALUES OR CODES FROM 0 THRU 31; ENCRYPTION WILL NOT PRODUCE ANY CODES
THAT CORRESPOND TO CONTROL CODES FOR THE DISPLAY, PRINTER OR A
COMMUNICATIONS LINK.
THE PROGRAM'S COUNTERPART OF THE TWO KEY TAPES IS A SET OF THREE
COUNTERS THAT ARE USED AS INDEXES OR POINTERS TO A CODE LIST, IN RANDOM
ORDER, OF 103 CODES THAT RANGE IN VALUE FROM 0 THRU 31. THE COUNTERS
ARE RESET TO 1 WHEN THEY REACH A MAXIMUM COUNT OF 97, 101 AND 103
RESPECTIVELY. THE EFFECTIVE KEY LENGTH IS 1,009,091; THE LEAST COMMON
MULTIPLE OF THE PRIME NUMBERS 97, 101 AND 103. THE COUNTERS POINT TO
THE THREE CODES THAT ARE XORED WITH AN ASCII CHARACTER CODE FOR
ENCRYPTION AND DECRYPTION.
PAGE 3
RUNNING PC-CRYP1
USING INTERPRETED BASIC - FROM DOS READY KEY [DR:]BASIC [DR:]PC-CRYP1
THEN PRESS THE ENTER KEY.
USING COMPILED BASIC - FROM DOS READY KEY [DR:]PC-CRYP1 THEN PRESS THE
ENTER KEY.
A DEFAULT OPTION IS SHOWN FOR THE RESPONSE TO MOST PROMPTS
DISPLAYED BY THE PROGRAM. AS AN EXAMPLE, A PROMPT FOR A YES OR NO
RESPONSE WILL DISPLAY "Y/N". PRESS ENTER TO TAKE THE NO DEFAULT OPTION
INDICATED BY THE UPPERCASE N. EITHER A LOWER CASE Y OR AN UPPERCASE Y
MUST BE PRESSED FOR THE YES RESPONSE. IF ONLY LOWER CASE OPTIONS OR NO
OPTION IS SHOWN, AN ENTRY OTHER THAN THE ENTER KEY MUST BE USED.
THE FIRST DISPLAY IS A "USERWARE" COMMERCIAL THAT IS REPLACED BY
THE FOLLOWING DISPLAY:
SELECT NEW PASSWORD
PRESS V FOR A VISIBLE DISPLAY OF PASSWORD OR
PRESS ENTER FOR NON-VISIBLE DISPLAY _
OLD PASSWORD IS
ENTER NEW PASSWORD _
ALL ENCRYPTION AND DECRYPTION IS CONTROLLED BY THE SEED USED FOR
THE RANDOM CODE GENERATION AND THE INITIAL VALUES FOR THE THREE
COUNTERS USED AS POINTERS TO THE 103 RANDOM CODES. THE ASCII CODES FOR
THE CHARACTERS IN THE PASSWORD ARE USED TO COMPUTE THE SEED NUMBER AND
THE INITIAL SETTINGS FOR THE THREE COUNTERS. A SEED NUMBER FROM 0 TO
32767 IS COMPUTED USING THE ASCII CODES FOR THE FIRST FIVE CHARACTERS
OF THE PASSWORD. THE INITIAL SETTING FOR THE COUNTERS (0 THRU 99) IS
COMPUTED FROM THE LAST SIX CHARACTERS OF THE PASSWORD. IF THE LENGTH
OF THE PASSWORD ENTERED IN RESPONSE TO THE PROMPT HAS LESS THAN ELEVEN
CHARACTERS, THE CHARACTERS ARE REPEATED UNTIL THEY CREATE A STRING OF
ELEVEN OR MORE CHARACTERS. PASSWORDS MAY BE MORE THAN ELEVEN
CHARACTERS LONG HOWEVER ONLY THE LEFT-MOST ELEVEN CHARACTERS OR SPACES
ARE USED TO COMPUTE THE SEED NUMBER AND THE INITIAL VALUES FOR THE
COUNTERS.
FOR SECURITY, PASSWORDS MAY BE KEYED IN A NON-DISPLAY MODE. PRESS
V FOR THE FIRST PROMPT FOR A VISIBLE DISPLAY OF THE PASSWORDS. UPPER
OR LOWER CASE LETTERS, NUMBERS, SPACES OR SYMBOLS MAY BE USED WHEN
KEYING PASSWORDS. THE RANDOMIZE AND RND FUNCTIONS DO NOT, IN SOME
CASES, GENERATE THE SAME SEQUENCE OF RANDOM NUMBERS ON DIFFERENT
SYSTEMS OR ON SIMILAR SYSTEMS WITH DIFFERENT VERSIONS OF BASIC. THE
PROGRAM USES A ROUTINE FOR GENERATION OF RANDOM NUMBERS THAT RESULTS IN
IDENTICAL RANDOM VALUES FOR THE CODE LIST REGARDLESS OF THE SYSTEM OR
THE VERSION OF BASIC THAT IS USED TO RUN THE PROGRAM. THE RANDOM CODE
VALUES ARE DISPLAYED AS THEY ARE GENERATED THEN THE PROGRAM PROMPTS FOR
THE PC-CRYP1 MENU.
PAGE 4
PC-CRYP1 MENU
P SELECT NEW PASSWORD
F PROCESS FILES
S ENCRYPT & DECRYPT TEST STRINGS
T TIMER ON/OFF
X EXIT/END PROGRAM
THE PROGRAM SELECTED THE FIRST OPTION BEFORE THE MENU DISPLAY
SINCE THE SECOND AND THIRD OPTION CANNOT BE USED UNLESS A PASSWORD HAS
BEEN ENTERED. USE THE SELECT NEW PASSWORD OPTION TO CHANGE TO A
DIFFERENT PASSWORD. THE PROCESS FILES OPTION IS COVERED IN DETAIL IN
THE NEXT SECTION.
THE ENCRYPT & DECRYPT TEST STRINGS OPTION DISPLAYS A SUBMENU FROM
WHICH YOU MAY SELECT FOUR DIFFERENT TYPES OF STRINGS FOR ENCRYPTION AND
DECRYPTION. THE ORIGINAL, ENCRYPT AND DECRYPT STRINGS ARE DISPLAYED.
THIS OPTION IS PRIMARILY USED TO LOOK AT THE PATTERN OF CHARACTERS
PRODUCED WHEN YOU ENCRYPT STRINGS OF UPPER CASE, LOWER CASE AND NUMERIC
CHARACTERS. KEYBOARD INPUT OF TEST RECORDS ACCEPTS ASCII CODES ENTERED
WITH THE ALT KEY AND NUMERIC KEYS.
TURNING THE TIMER ON ACTIVATES STATEMENTS THAT ACCUMULATE THE
TOTAL NUMBER OF CHARACTERS ENCRYPT OR DECRYPT AND THE TOTAL TIME
REQUIRED. THE PROGRAM USES THESE TOTALS TO COMPUTE AND DISPLAY THE
THRUPUT IN CHARACTERS PER SECOND. INTERPRETED BASIC HAS A THRUPUT OF
APPROXIMATELY 12 CHARACTERS PER SECOND; COMPILED BASIC HAS A THRUPUT OF
APPROXIMATELY 350 CHARACTERS PER SECOND.
A SINGLE SUBROUTINE WITH TWO ENTRY POINTS OR LINES, ONE FOR
ENCRYPTION AND THE OTHER FOR DECRYPTION, PERFORMS THE ACTUAL ENCRYPTION
AND DECRYPTION. THE VARIABLE CTR.SET% MUST TO SET EQUAL TO 1 BEFORE
USING THE SUBROUTINE FOR ENCRYPTION OR DECRYPTION OF A FILE OR OF A
GROUP OF RECORDS. CTR.SET% IS USED AS A FLAG OR SWITCH THAT, WHEN SET
EQUAL TO 1, CAUSES THE THREE COUNTERS TO BE RESET TO THE INITIAL VALUES
COMPUTED FROM THE PASSWORD IN USE. IF THE SUBROUTINE IS USED IN OTHER
PROGRAMS, DO NOT SET CTR.SET%=1 EXCEPT FOR THE FIRST RECORD OF A FILE
OR FOR THE FIRST STRING OR RECORD OF A GROUP OF STRINGS OR RECORDS. IN
SOME CASES, A CHARACTER ENCRYPTS TO THE SAME CHARACTER. THIS IS NOT
AN ERROR; IT MAKES ANY ATTEMPT AT UNAUTHORIED DECRYPTION MORE RATHER
THAN LESS DIFFICULT. CHARACTER STRINGS OR RECORDS TO BE ENCRYPT MAY
HAVE CHARACTERS WITH CHARACTER CODES 0 THRU 255. CHARACTERS WITH ASCII
CODES FROM 0 THRU 31 ARE NOT ENCRYPT.
THE ENCRYPTION/DECRYPTION SUBROUTINE USES ASCII CODE 7 OR CONTROL
G AS AN ESCAPE ENCRYPTION CODE. THE FIRST CONTROL G SENT TO THE
ENCRYPTION/DECRYPTION SUBROUTINE TURNS ENCRYPTION/DECRYPTION OFF, THE
SECOND CONTROL G TURNS ENCRYPTION/DECRYPTION BACK ON. FOR EXAMPLE,
PRINTER CONTROL SEQUENCES, INSTRUCTIONS OR MESSAGES PRECEEDED AND
FOLLOWED BY CONTROL G WILL NOT BE ENCRYPT. THE ESCAPE ENCRYPTION CODE
IS PRIMARILY USED WITH KEYBOARD INPUT TO PREPARE HEADER MESSAGE FILES
CONTAINING INFORMATION THAT IS TO ESCAPE ENCRYPTION. HOLD THE CTRL KEY
AND PRESS THE LETTER G KEY TO ENTER THE ASCII 7 ESCAPE CODE. ANY FILES
OR RECORDS THAT USE CONTROL G AS A BELL (OR BEEP) CODE MUST BE CHANGED
TO USE TWO CONSECUTIVE CONTROL G'S SO THAT ENCRYPTION/DECRYPTION WILL
CONTINUE AFTER THE BELL CODES.
PAGE 5
PROCESS FILES
THE PROCESS DISKETTE FILES OPTION DISPLAYS THE FOLLOWING
PROMPTS:
ENTER INPUT DR:FILENAME.EXT OR KEYBD _
ENTER OUTPUT DR:FILENAME.EXT OR NOFILE _
ENCRYPT OR DECRYPT? E/D _
USE LOWER CASE TO UPPER CASE CONVERT? Y/N _
USE SPACE TO ^(94) & ~(126) CONVERT? Y/N _
PRINT INPUT TEXT? Y/N _
PRINT OUTPUT TEXT? Y/N _
ENTER KEYBD FOR THE INPUT FILE PROMPT TO ENTER RECORDS FROM THE
KEYBOARD RATHER THAN FROM A DISKETTE FILE. KEYBOARD INPUT IS PRIMARILY
USED TO PREPARE HEADER RECORDS THAT CONTAIN DATA PRECEEDED AND FOLLOWED
BY CONTROL G ESCAPE ENCRYPTION CODES. RECORDS INPUT FROM THE KEYBOARD
MAY NOT BE LONGER THAN 79 CHARACTERS. ENTER NOFILE FOR THE OUTPUT FILE
PROMPT IF YOU WANT TO PRINT THE OUTPUT FILE BUT NOT WRITE IT TO
DISKETTE.
A YES RESPONSE TO THE USE LOWER CASE TO UPPER CASE CONVERT? Y/N
PROMPT WILL RESULT IN ALL LOWER CASE LETTERS BEING ENCODED AS UPPER
CASE LETTERS. THIS PROMPT IS NOT DISPLAYED IF DECRYPTION IS SELECTED
SINCE THE CONVERSION IS NOT REVERSIBLE.
A Y(ES) OR ENTER RESPONSE TO THE "USE SPACE TO ^(94) & ~(126)
CONVERT? Y/N" PROMPT WILL RESULT IN ASCII CODES 94 AND 126 BEING USED
AS SUBSTITUTE CODES FOR A SPACE (ASCII CODE 32) WHEN ENCRYPTING DATA.
94 IS USED AS A SUBSTITUTE FOR 32 WHEN THE PRECEEDING CHARACTER HAS AN
ASCII CODE LESS THAN 96; 126 IS USED AS THE SUBSTITUTE CHARACTER WHEN
THE PRECEEDING CHARACTER HAS AN ASCII CODE GREATER THAN 95. THESE
SUBTITUTIONS ARE MADE TO PREVENT CREATION OF A PATTERN IN THE ENCRYPT
DATA THAT WOULD INDICATE THE SPACES BETWEEN WORDS. DECRYPTION DOES NOT
REVERSE THIS SUBSTITUTION; ANY ASCII CODE 94 OR 126 THAT WAS IN A
STRING OR RECORD BEFORE ENCRYPTION WILL BE REPLACED BY A BLANK IN THE
DECRYPT STRING OR RECORD. THESE TWO CHARACTER CODES SELDOM APPEAR IN
ORDINARY TEXT; THEIR LOSS MAY NOT EVEN BE NOTICED.
WITH MINOR EXCEPTIONS, MOST SEQUENTIAL FILES IN ASCII FORMAT MAY
BE USED AS INPUT FOR ENCRYPTION. THE EXCEPTIONS ARE THOSE FILES THAT
CONTAIN ASCII CODES 7, 94 OR 126. USE OF THESE CODES HAVE CERTAIN
LIMITATIONS OUTLINE IN THE PRECEEDING PARAGRAPHS. ASCII CODE 126 IS
ALSO USED AS A SUBSTITUTE FOR THE NON-PRINTING ASCII CODES 7 AND 127
WHEN PRINTING ENCRYPT DATA.
SEQUENTIAL FILES PRODUCED BY SOME WORD PROCESSOR PROGRAMS HAVE
RECORDS THAT CONTAIN FORMAT OR PRINTER CONTROL SEQUENCES THAT USE ASCII
CODES 0 THRU 31. PRINTER CONTROL CODES THAT USE AN ESCAPE CODE (ASCII
27) FOLLOWED BY A CHARACTER CODE WILL BE CHANGED, WHEN ENCRYPT, TO
OTHER PRINTER CONTROL CODES. PRINTING AN ENCRYPT FILE THAT HAS PRINTER
CONTROL CODES MAY RESULT IN TURNING ON DOUBLE STRIKE MODE INSTEAD OF
TURNING OFF EMPHASIZED MODE, ETC.
PAGE 6
AN "*C_T_R R_E_S_E_T*" RECORD IS WRITTEN AS THE LAST RECORD OF
ENCRYPT FILES. HEADER RECORD FILES AND DATA FILES, ENCRYPT WITH THE
SAME CODE NUMBER OR PASSWORD, MAY BE COMBINED OR CONCANTINATED WITH THE
DOS COPY /A COMMAND. THE COUNTER RESET RECORD AT THE END OF EACH OF
THE FILES THAT WERE COMBINED FORCES A RESET OF THE COUNTERS AT THE
BEGINNING OF EACH SECTION OF THE COMBINED FILE WHEN IT IS DECRYPT.
AN ENCRYPT DATA FILE MAY BE SENT TO ANOTHER SYSTEM FOR DECRYPTION
USING A COMMUNICATIONS LINK, AS A DISKETTE FILE OR AS PRINTED COPY.
KEYBOARD INPUT OF ENCRYPT DATA FROM A PRINTED COPY SHOULD BE USED ONLY
AS A LAST RESORT SINCE IT IS VERY DIFFICULT TO KEY LONG STRINGS OF
UNRELATED CHARACTERS WITHOUT ERRORS. ANY OF SEVERAL SCHEMES MAY BE
USED TO INSURE THAT THE RECEIVING OPERATOR KNOWS THE PASSWORD REQUIRED
FOR DECRYPTION. ONE SCHEME USES AS A PASSWORD AN ELEVEN DIGIT NUMBER
(A PASSNUMBER?) KNOWN TO BOTH THE SENDER AND RECEIVER. FOR THE SECOND
AND EACH SUCCEEDING MESSAGE, EACH DIGIT OF THE NUMBER IS INCREASED BY
ONE. FOR EXAMPLE, PASSWORD 12345123456 WILL CHANGE TO 23456234567 FOR
THE SECOND MESSAGE.
THE FOLLOWING STEPS OUTLINE ANOTHER SCHEME THAT ENCODES THE
PASSWORD AND MAKES IT A PART OF AN ENCRYPT DATA FILE.
STEP A SENDER AND RECEIVER AGREE ON A KEY NUMBER TO BE USED TO
ENCODE THE PASSWORD. FOR EXAMPLE, THE SENDER'S SOCIAL
SECURITY NUMBER (123 45 6789) MIGHT BE USED.
STEP B ASSUME THAT THE SENDER USES PASSWORD 11111223344
TO ENCRYPT A FILE.
STEP C SENDER ADDS (WITHOUT CARRY) THE KEY NUMBER, REPEATED AS
NECESSARY, TO THE PASSWORD NUMBERS USED FOR ENCRYPTION.
11111223344
12345678912
23456891256
STEP D THE SENDER CREATES A HEADER MESSAGE FILE WITH THE
NUMBER 23456891256, PRECEEDED AND FOLLOWED BY A
CONTROL G ESCAPE ENCRYPTION CODE, USING THE SAME
PASSWORD TO ENCRYPT THIS FILE AS WAS USED TO ENCRYPT
THE DATA FILE. THE DATA FILE IS CONCANTINATED TO
THE HEADER MESSAGE FILE AND THE COMBINED FILE IS SENT
TO THE RECEIVER.
STEP E RECEIVER RECOVERS THE PASSWORD TO BE USED FOR
DECRYPTION BY SUBTRACTING (WITHOUT CARRY) THE KEY NUMBER
FROM THE NUMBER FOUND IN THE HEADER MESSAGE.
23456891256
12345678912
11111223344
PAGE 7
DOUBLE ENCRYPTION
UNAUTHORIZED DECRYPTION CAN BE MADE EVEN MORE IMPROBABLE IF THE
ENCRYPT DATA IS ENCRYPT A SECOND TIME. A NO (PRESS N KEY) RESPONSE TO
THE "USE SPACE TO ^(94) & ~(126) CONVERT? Y/N" PROMPT MUST BE USED
WHEN ENCRYPT DATA IS ENCRYPT A SECOND TIME AND WHEN THE DOUBLE ENCRYPT
DATA IS BEING DECRYPT. A PASSWORD DIFFERENT FROM THAT USED FOR THE
FIRST ENCRYPTION MUST BE USED FOR THE SECOND ENCRYPTION. THIS SAME
PASSWORD MUST BE USED TO DECRYPT THE DOUBLE ENCRYPT DATA; THE RESULTING
SINGLE ENCRYPT DATA IS DECRYPT WITH THE PASSWORD THAT WAS USED FOR THE
FIRST ENCRYPTION. THE FOLLOWING STEPS OUTLINE THE FILES AND CONVERSION
PROMPT RESPONSES REQUIRED FOR DOUBLE ENCRYPTION AND DECRYPTION:
STEP A PASSWORD USED FOR THIS STEP MUST BE USED FOR STEP D.
1 INPUT FILE - TEXT FILE TO BE ENCRYPT
2 ENCRYPT OR DECRYPT? E/D - PRESS E KEY
3 LOWER TO UPPER CASE CONVERT? - EITHER YES OR NO
4 SPACE CONVERT? - YES
5 OUTPUT FILE - SINGLE ENCRYPT FILE FOR INPUT STEP B 1
STEP B PASSWORD USED FOR THIS STEP MUST BE USED FOR STEP C.
1 INPUT FILE - SINGLE ENCRYPT FILE FROM STEP A 5
2 ENCRYPT OR DECRYPT? E/D - PRESS E KEY
3 LOWER TO UPPER CASE CONVERT? - NO
4 SPACE CONVERT? - NO
5 OUTPUT FILE - DOUBLE ENCRYPT FILE FOR INPUT STEP C 1
STEP C PASSWORD FOR THIS STEP MUST BE THE SAME AS USED FOR STEP B.
1 INPUT FILE - DOUBLE ENCRTPT FILE FROM STEP B 5
2 ENCRYPT OR DECRYPT? E/D - PRESS D KEY
3 LOWER TO UPPER CASE CONVERT? - NOT DISPLAYED
4 SPACE CONVERT? - NO
5 OUTPUT FILE - SINGLE ENCRYPT FILE FOR INPUT STEP D 1
STEP D PASSWORD FOR THIS STEP MUST BE THE SAME AS USED FOR STEP A.
1 INPUT FILE - SINGLE ENCRYPT FILE FROM STEP C 5
2 ENCRYPT OR DECRYPT? E/D - PRESS D KEY
3 LOWER TO UPPER CASE CONVERT? - NOT DISPLAYED
4 SPACE CONVERT? - YES
5 OUTPUT FILE - COPY OF FILE INPUT AT STEP A 1, FILE MAY
BE UPPER CASE ONLY IF RESPONSE AT STEP A 3 WAS YES
MISCELLANEOUS
ALWAYS KEEP A RECORD OF THE PASSWORD USED TO ENCRYPT ANY FILE THAT
CONTAIN CRITICAL DATA. IF THE PASSWORD USED TO ENCRYPT A FILE IS NOT
KNOWN, THE FILE IS NOTHING MORE THAN COMPUTER GENERATED GARBAGE.
A DISKETTE WITH BOTH THE SOURCE AND THE COMPILED VERSIONS OF PC-
CRYP1 AND THE DOCUMENTATION FILE IS AVAILABLE FROM THE AUTHOR. SEND
A DISKETTE IN A STAMPED SELF-ADDRESSED MAILER FOR A FREE COPY OF THE
DISTRIBUTION DISKETTE OR JUST SEND YOU NAME AND ADDRESS AND $10.00 AND
I'LL SUPPLY THE DISKETTE, MAILER AND POSTAGE.
VERSION 3.1 30 JANUARY 1984
This disk copy was originally provided by "The Public Library",
the software library of the Houston Area League of PC Users.
Disks in the Public Libray are updated monthly. Check with us
for the latest versions of all programs.
Programs are available from the Public Library at $2 per disk
on user-provided disks. To get a listing of the disks in the
Public Library, send a self-addressed, stamped envelope to
Nelson Ford, P.O.Box 61565, Houston, TX 77208.