home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / virus / pccryp60.zip / PC-CRYP6.DOC < prev    next >
Text File  |  1993-06-08  |  13KB  |  268 lines

  1.                                                                Cover
  2.      
  3.                                  PC-CRYP6
  4.      
  5.                    Data Encryption and Decryption Program
  6.      
  7.                          Version 6.0  1 June 1993
  8.  
  9.                             Copyright 1993 by
  10.                             James T. Demberger
  11.                        9862 Lake Seminole Drive West
  12.                             Seminole, FL  34643
  13.                                 813-397-2930
  14.      
  15.          PC-CRYP6 is a user supported program.  If you use PC-CRYP6 and
  16.     find it of value, your contribution of any amount will be
  17.     appreciated.  You are are encouraged to copy and share this program
  18.     with other users so long as the program is not distributed in
  19.     modified form and this notice is not bypassed or removed.
  20.      
  21.          PC-CRYP6 is NOT a public domain program.  The program
  22.     PC-CRYP6.EXE and the documentation PC-CRYP6.DOC may be freely copied
  23.     for archive or working copies for personal non-profit use as
  24.     outlined in copyright regulations.  PC-CRYP6 may be made available
  25.     thru clubs or user groups, program libraries or on remote access
  26.     data bases or bulletin boards.  Commercial use of PC-CRYP6 is
  27.     prohibited unless license is obtained from the author - contact
  28.     author for details regarding license.
  29.      
  30.                                      Index
  31.      
  32.                        Introduction                 Cover
  33.                        System Requirements          Cover
  34.                        Vernam Encryption              1
  35.                        Running PC-CRYP6 Interactive   1
  36.                                         Command Line  3
  37.                        Select Keyword                 1
  38.                        PC-CRYP6 Menu                  2
  39.                        Encrypt & Decrypt Test Strings 2
  40.                        Processing Disk Files          3
  41.                        Transmitting Encrypt Files     3
  42.                        Double Encryption              4
  43.                        Miscellaneous                  4
  44.      
  45.                                   Introduction
  46.      
  47.          The program has two main functions:  demonstration of the Vernam
  48.     encryption and decryption process using test character strings and the
  49.     encryption and decryption of disk files.
  50.  
  51.                              System Requirements
  52.      
  53.          The program requires an IBM computer or compatible running DOS
  54.     with color or monochrome display and one or more disk drives.  File
  55.     storage space must be available equal to twice the size of a file
  56.     being encrypt or decrypt.
  57.                                                                   Page 1
  58.  
  59.                            Vernam Encryption
  60.      
  61.          In 1917, long before the age of electronic computers, Gilbert
  62.     S. Vernam developed an encryption process for messages punched in
  63.     paper tape using Baudot or five channel teletype code.  He used the
  64.     electro-mechanical equivalent of a logical exclusive OR operation
  65.     (XOR) on each character code in a message tape and a corresponding
  66.     random character code in a key tape to produce a third tape with the
  67.     encrypt message.  Decryption used the same process except that a
  68.     tape with the encrypt message and a copy the key tape were XORed to
  69.     produce the decrypt message.  PC-CRYP6 uses essentially the same
  70.     process to encrypt and decrypt data; each character or code in a
  71.     message file is XORed with a virtual file of random eight-bit codes
  72.     to produce an encrypt file, an encrypt file is XORed with the
  73.     virtual file to produce a copy of the original file.
  74.      
  75.          One problem with the original Vernam process related to the key
  76.     tapes.  For a secure system, the characters in the key tapes had to
  77.     be in random order and the number of characters in a key tape had to
  78.     exceed the number of characters in the message to be encrypt.  A
  79.     duplicate of key tapes had to maintained by anyone who needed to
  80.     decrypt messages.  The physical security of the miles of paper tape
  81.     was another problem.  PC-CRYP6 generates as virtual random key with
  82.     a length in excess of 14,000,000 bytes.  There is no need to store
  83.     the virtual key since it is regenerated when PC-CRYP6 is run with
  84.     the same keyword.
  85.  
  86.     The exclusive or function (XOR) performed by Vernam encryption/
  87.     decryption and PC-CRYP6 are "blind" as to input and output.  Anything
  88.     used as input is XORed to output: unencrypted input is changed to
  89.     encrypt output and encrypt input is changed to unencrypt output so
  90.     long as the same key tape or keyword is used.
  91.  
  92.                            Running PC-CRYP6 Interactive
  93.      
  94.          From DOS ready key [dr:][\path\]PC-CRYP6 then press the Enter key.
  95.      
  96.          A default option is shown for the response to most prompts
  97.     displayed by the program.  As an example, a prompt for a yes or no
  98.     response will display "y/N".  Press Enter to take the no default option
  99.     indicated by the uppercase N.  Either a lower case y or an uppercase Y
  100.     must be pressed for the yes response.  If only lower case options or no
  101.     option is shown, an entry other than the Enter key must be used.
  102.      
  103.          The first two displays are a "SHAREWARE" commercials.  These
  104.     displays are followed by the keyword entry display:
  105.  
  106.                             SELECT KEYWORD
  107.      
  108.                 Press V for a visible display of Keyword or
  109.                     press Enter for non-visible display _
  110.      
  111.                        Old Keyword is
  112.      
  113.                        Enter New Keyword
  114.  
  115.                     Press any key to continue
  116.                                                                  Page 2
  117.          Any keyword of one or more characters will be accepted however
  118.     it is recommended that keywords use at least eleven upper or lower
  119.     case characters or numbers.  Keywords may be more than eleven
  120.     characters long however only the left-most eleven characters or
  121.     spaces are used by PC-CRYP6 to generate the virtual keys peculiar to
  122.     different keywords.  For security, keywords may be keyed in a
  123.     non-display mode.  Press V for the first prompt for a visible
  124.     display of the keywords.  Upper or lower case letters, numbers,
  125.     spaces or symbols may be used when keying keywords.
  126.  
  127.          After the initial entry of a keyword, the PC-CRYP6 menu is
  128.     displayed:
  129.  
  130.                            PC-CRYP6 Menu
  131.      
  132.                    P  Select Keyword
  133.                    T  Turn Timer On/Off
  134.                    S  Encrypt & Decrypt Test Strings
  135.                    F  Process Disk Files
  136.                    X  Exit/End Program
  137.      
  138.          The New Keyword option may be selected if you wish to change
  139.     the keyword originally entered during the initial Select Keyword
  140.     display.
  141.  
  142.          Turning the timer on activates statements that accumulate the
  143.     total number of characters encrypt or decrypt and the total time
  144.     required.  The program uses these totals to compute and display the
  145.     thruput in characters per second.
  146.  
  147.                     Encrypt & Decrypt Test Strings
  148.      
  149.          The Encrypt & Decrypt Test Strings option displays a submenu
  150.     from which you may select four different types of strings for
  151.     encryption and decryption.  The original, encrypt and decrypt
  152.     strings are displayed. This option is primarily used to look at the
  153.     pattern of characters produced when you encrypt strings of upper
  154.     case, lower case and numeric characters.  Keyboard input of test
  155.     records accepts ASCII codes entered with the Alt key and numeric
  156.     keys.
  157.  
  158.          In some cases, a character may be encrypt as the same
  159.     character. This is not an error; it makes any attempt at
  160.     unauthorized decryption more rather than less difficult.  Character
  161.     strings or records to be encrypt may have characters with character
  162.     codes 0 thru 255.
  163.                                                                  Page 3
  164.  
  165.                              Process Disk Files
  166.      
  167.          When you select the Direct file processing option the following
  168.     prompts and message will be displayed:
  169.      
  170.                Enter Input  dr:filename.ext
  171.      
  172.                Enter Output dr:filename.ext
  173.      
  174.                        Processing ___ bytes
  175.  
  176.          A period (.) is printed as each 512 bytes of a file is encrypt
  177.     or decrypt.  After the files is encrypt or decrypt, total time and
  178.     bytes per second is displayed if the timer has been turned on.
  179.  
  180.                     Running PC-CRYP6 from Command Line
  181.  
  182.           If your only need is to encrypt or to decrypt existing files,
  183.     PC-CRYPT6 may be run from the DOS command line by entering the
  184.     keyword, the input filename and the output filename.  A command
  185.     line example follows:
  186.  
  187.     PC-CRYP6 /KW=keyword /FI=dr:\path\fname.ext /FO=dr:\path\fname.ext
  188.  
  189.     The command line parameters must be entered in the order shown;
  190.     /KW=keyword, /FI=filename for the file to be encrypt or the file
  191.     to be decrypt, and /FO=filename for the encrypt file or the decrypt
  192.     file.   There is no output shown on the display nor is any other
  193.     input required other than the parameters entered on the command line.
  194.  
  195.                            Transmitting Encrypt Files
  196.      
  197.          An encrypt data file may be sent to another system for
  198.     decryption using a communications link or as a disk file.  Since
  199.     encrypt data files may contain characters or character strings
  200.     corresponding to transmission control codes, encrypt files should be
  201.     transmitted as eight bit binary files using XMODEM or some
  202.     equivalent transmission protocol for binary files.  File compression
  203.     utilities will probably not compress encrypt files or only compress
  204.     these files by a very small percentage.  PC-CRYP6 can be used to
  205.     encrypt files created with PKZIP - an encrypt ZIP file can be
  206.     considered to be twice as secure since the ZIP process is in effect
  207.     encryption as well as compression.
  208.  
  209.          Any of several schemes may be used to insure that the receiving
  210.     operator knows the keyword required for decryption.  Different file
  211.     names and extensions could be used as a pointer to a page and word
  212.     in some book available to both the sender and receiver.  Keywords
  213.     could be tied to the creation date of an encrypt file with a
  214.     keyword calender.
  215.                                                                     Page 4
  216.                                Double Encryption
  217.      
  218.          Unauthorized decryption can be made even more improbable if the
  219.     encrypt data is encrypt a second time.  A keyword different from
  220.     that used for the first encryption must be used for the second
  221.     encryption. This same keywords must be used to decrypt the double
  222.     encrypt data; the resulting single encrypt data is decrypt with the
  223.     keyword that was used for the first encryption.
  224.      
  225.          The following steps outline the files and conversion prompt
  226.     responses required for double encryption and decryption when using
  227.     sequential file processing:
  228.  
  229.     Encryption
  230.     Step A    Same keyword used for this step and for Step D.
  231.            1  Input file - text file to be encrypt
  232.            2  Output file - single encrypt file for input to Step B 1
  233.     Step B    Same keyword used for this step and for Step C.
  234.            1  Input file - single encrypt file from Step A 2
  235.            2  Output file - double encrypt file for input to Step C 1
  236.  
  237.     Decryption
  238.     Step C    Same keyword used for this step and for Step B.
  239.            1  Input file - double encrypt file from step B 2
  240.            2  Output file - single encrypt file for input to Step D 1
  241.     Step D    Same keyword used for this step and for Step A.
  242.            1  Input file - single encrypt file from Step C 2
  243.            2  Output file - copy of file used as input to Step A 1
  244.      
  245.           Double encryption of files does not require that the two
  246.     keywords be used in the same sequence for both encryption and
  247.     decryption; either keyword may be used for step C so long as the
  248.     other keyword is used for step D.
  249.  
  250.                                   Miscellaneous
  251.      
  252.          Always keep a record of the keyword used to encrypt any file
  253.     that contain critical data.  If the keyword used to encrypt a file
  254.     is not known, the file is nothing more than computer generated
  255.     garbage.
  256.      
  257.          How secure is the data in files encrypt with PC-CRYP6?  I don't
  258.     know since I don't have any indepth of knowledge in cryptography.
  259.     Since very few encrypt files will be long enough to require
  260.     recycling the 14,000,000 byte random key, it is probably impossible
  261.     to find a pattern that would be of any use in decrypting the data.
  262.     While there may be some method or technique that can be used to
  263.     decrypt files that have been encrypt by PC-CRYP6, the method or
  264.     technique would probably be too time consuming to be of any value.
  265.     For all practical purposes, encrypt data is probably totally secure
  266.     so long as the keyword used for encryption is not known.
  267.  
  268.