M ASTER  S OFTWARE


QUALITY SOFTWARE SINCE 1958
 

PROTECT YOUR PRIVACY -- PROTECT YOUR SECURITY
with the strongest line of data file and message encryption software available.
GK-Crypt Data Security Package Version 03
User Manual - March 12, 2024



          1. GK-CRYPT



               GK-Crypt keeps your computer files secret and private.  It
          keeps them secure against any snooping, industrial espionage, or
          intrusion via the Internet.  Even if your computer or your data
          disks were stolen, and even if they had the GK-Crypt software on
          them, nobody could read your data.

               GK-Crypt is far stronger than any other commercial file
          encryption product in the world, and stronger than nearly all of
          the world's diplomatic and military encryption packages, whether
          software, microchip, electro-mechanical, or any combination.
          GK-Crypt is strong enough so that governments could use it for
          their most sensitive data.

               GK-Crypt could insure the privacy of your computer files
          even if an opponent had available all of the computing power in
          the entire world.  And, your files will stay private for decades
          to come.  Even if computers increased in power over the next 50
          years by the same factor that they improved over the past 50
          years, your files would still remain secure.

               The 128-bit encryption products now in use will become
          obsolete in 10 to 15 years.  The 256-bit products that are
          designed to replace them will become obsolete in 20 to 30 years.
          But files encrypted with 640-bit GK-Crypt will still be secure
          even 50 years from now.

               GK-Crypt is easy to use.  You can encrypt hundreds of files
          with a single command.  You don't need to choose and remember any
          of the file keys.  GK-Crypt will generate a secure 640-bit key
          for each file, and remember all the keys for you.

               GK-Crypt is also the safest privacy product you can buy.  It
          is loaded with safety features to prevent loss of data and other
          problems that are common with lesser data security packages.  You
          cannot decrypt a file with the wrong key, or encrypt a file that
          is already encrypted.



          TABLE OF CONTENTS


          1. GK-CRYPT
            1.1. GK-Crypt Version 03
            1.2. GK-Crypt Version 02
            1.3. What is encryption?
            1.4. Who needs encryption?

          2. USING GK-CRYPT
            2.1. A GK-Crypt session
            2.2. Sample session
            2.3. Decrypting files
            2.4. Setting shortcuts
            2.5. Listing the encrypted files

          3. FILES
            3.1. Identifying files
            3.2. File groups and wildcards
            3.3. Defining shortcuts
            3.4. Using shortcuts
            3.5. Group overlap

          4. KEYS
            4.1. Key Do's and Don'ts
            4.2. Letters, digits and punctuation
            4.3. Key blocks
            4.4. Pronounceable keys
            4.5. Patterns
            4.6. Secretaries and clerks
            4.7. Key strength
            4.8. Summary: Picking a key

          5. INSTALLING GK-CRYPT
            5.1. Copying the GK-Crypt files
            5.2. Multiple copies of GK-Crypt
            5.3. Installation
            5.4. Practice

          6. SAFETY FEATURES
            6.1. Lost keys
            6.2. Strong Master Key
            6.3. Unauthorized users
            6.4. Double encryption
            6.5. Double copies
            6.6. Partial encryption
            6.7. Master and cache
            6.8. Adding and renaming files
            6.9. Backup and recovery

          7. COMPARING ALGORITHMS
            7.1. The GK-Crypt algorithm
            7.2. AES Advanced Encryption Standard
            7.3. RSA public key cryptography
            7.4. Quantum cryptography
              7.4.1. Photon cryptography
              7.4.2. Quantum entanglement

          Appendix A. DOS BASICS
            A.1. Starting DOS
            A.2. Sizing the DOS window
            A.3. Directories
            A.4. Current directory
            A.5. Working with directories
            A.6. Identifying files
            A.7. Long names
            A.8. File operations
            A.9. Batch files



          1.1. GK-Crypt Version 03


               GK-Crypt Version 03 is easier and safer to use than Version
          02.

          (1) You no longer need to remember which files are encrypted, or
          to type the names of the files you want to decrypt.  GK-Crypt 03
          displays the list of files, and you just point to the ones you
          want to decrypt.

          (2) You can create shortcuts to reduce the task of typing long
          file names.  For example, you could let

               bridge

          represent

               \DrawMaster\architecture\NJparkproject\bridge.jpg

          (3) The methods for choosing random file keys have been improved.

          (4) Only one copy of GK-Crypt is needed.  It may be run from
          anywhere on your computer.

          (5) Every file is identified with its full path.  This prevents
          problems when there are files with the same name in two or more
          different directories.



          1.2. GK-Crypt Version 02


               GK-Crypt Version 02 offers several improvements over the
          original Version 01.

          (1) The encryption has been made even stronger, with no
          significant loss of speed.

          (2) The operation is now fully automatic.  There are no options
          to choose.  You get the highest level of security for every file.

          (3) You can now change the Master Key without needing to decrypt
          and re-encrypt any files.

          (4) The new version automatically detects files encrypted with
          the old version and converts them to use the new, stronger,
          encryption.

          (5) After a file has been encrypted, the old copy is now shredded
          3 times.



          1.3. What is encryption?


               Encryption is the process that keeps your data secure.  The
          GK-Crypt program takes your data file and transforms it into a
          form that nobody can read without the key.  The encrypted file
          looks perfectly random and totally meaningless.  Even the most
          sensitive and sophisticated statistical tests cannot detect any
          difference between your encrypted file and a pure random file.

               The reverse process, which is called decryption, takes the
          garbled, unreadable data file and transforms it back into the
          original data.  The decryption process requires full knowledge of
          the key in order to reconstruct the original data.  Only you, and
          anyone to whom you give the key, can retrieve and read the data
          file.  For an unauthorized person who does not have the key there
          is no possibility whatsoever of reversing the process and reading
          your file.

               You can think of encryption and decryption as locking and
          unlocking your data files.  The key is just like the combination
          for a safe or vault.  Without the combination the vault cannot be
          opened.  Without the key your data file cannot be read.  But,
          unlike a safe or vault, there is no other way in.  The snooper
          cannot cut through the walls or manipulate the tumblers with
          magnets.  The key is the only way in.



          1.4. Who needs encryption?


               You need encryption whenever you have both of the following
          conditions:

          (1) You have data that you need to keep private or confidential,
          and

          (2) Someone has access, or could possibly have access to your
          computer, or to any external media where your data is stored, or
          to any channel over which you transmit your data.

               Here are some kinds of data that you might want to keep
          secure.

          Private individuals

               Bank account numbers          Health information
               Book or play manuscripts      Inventions
               Brokerage account numbers     Journals or diaries
               Computer passwords            Photos, movies or videos
               Credit card numbers           Private letters and emails
               Downloaded files              Spreadsheets
               Financial records

          Companies

               Ad campaign plans        Merger plans
               Claims data              Orders
               Client records           Organization charts
               Commissions              Patient records
               Compliance data          Product specifications
               Contract terms           Recipes
               Credit histories         Real estate plans
               Customer accounts        Research findings
               Expansion plans          Revenue projections
               Employee health data     Salaries
               Interfaces               Sales records
               Inventory                Settlement records
               Letters and memos        Supplier data
               Mailing lists            Tax information
               Marketing plans          Yields

          Military

               Armaments              Resupply schedules
               Attack plans           Ship movements
               Contracts              Supply levels
               Defense plans          Targets
               Emplacements           Trajectories
               Munitions depot        Troop movements
               Radar frequencies      Troop strength
               Radar locations        Unit readiness
               Research reports       Weapons capabilities

               For some types of data, you may have a legal obligation to
          safeguard its privacy.  For example, the Gram-Leach-Bliley Act
          (GLBA) which Congress passed in November 1999 requires that
          companies protect the security and confidentiality of their
          customers' private information.  Financial institutions and other
          businesses must assure that their customers' data is kept private
          and confidential.

               Similarly, since April 2005, nearly all healthcare
          institutions need to comply with the security requirements of the
          Health Insurance Portability and Accountability Act (HIPAA).

               If you take your legal obligations seriously, then you
          should use the strongest encryption product available, the
          GK-Crypt package.

               Your data could be vulnerable because clients, or
          unauthorized employees, may be able to enter an area where your
          computer is located, or where another computer or terminal on the
          same local network is located.  Sometimes a careless employee or
          family member may leave a computer unattended where someone might
          use it to find sensitive files.

               Sometimes a disgruntled employee, or even an angry family
          member, may copy data files in order to harm you or your company,
          or to sell the data for profit.  The employee could make a disk
          or print out a file and take it home.  An employee who works from
          home, or someone else in that household, may be able to dial into
          your computer and obtain access to sensitive files.

               Access to your data might be gained while your computer is
          connected to the Internet by using spyware or a computer virus.
          Files transmitted on the Internet are not secure at all.

               It is also possible that your computer or data disks or
          tapes will be stolen, or obtained from the trash.  A thief who
          breaks into a safe looking for valuables may take backup disks
          containing your sensitive data and later discover what they
          contain.



          2. USING GK-CRYPT



               Each time you use GK-Crypt is called a session.  During each
          session you can encrypt files (lock them to make them secure),
          decrypt files (unlock them to use them), or get a list of the
          encrypted files.  You may encrypt or decrypt as many files as you
          like during each session.  You can even encrypt and decrypt the
          same files in a session, should you wish.

               You start each session by typing the GK command.  This
          starts the GK-Crypt program.  You start a session by typing

               GK

          and pressing Enter.  After GK-Crypt is started it will tell you
          exactly what to do at every step.  Everything is clearly
          explained as you go.  (But you should still read this manual and
          the Installation Guide before you begin.)



          2.1. A GK-Crypt session


               The first thing GK-Crypt will need is your Master Key.  This
          is the key that opens the Master File which is required to run
          the GK-Crypt Data Security Package.  It is absolutely essential
          that you choose a very strong Master Key.  If the Master Key is
          weak, or only moderately strong, then your security will be
          compromised.

               Using an ultra-strong encryption algorithm like GK-Crypt and
          then choosing a short or weak key is like building a bank vault
          from the strongest thickest steel available, and then locking it
          with a flimsy padlock.  Several sections of this manual will be
          devoted to choosing keys that are both strong and easy to
          remember.



          2.2. Sample session


               Before getting into the full details of a session, let's
          take a quick look at a sample session.  You start GK-Crypt by
          typing the command

               GK

          The first thing GK-Crypt needs is your Master Key.  GK-Crypt will
          prompt you to enter the Master Key by displaying

               Please enter the Master Key
               Key:

          You type your Master Key exactly the way you entered it when you
          installed GK-Crypt, for example,

               Key: KXWVT 39463 HMCTU 90413 GSVIF 85721

          Remember that the Master Key is case-sensitive, so KXWVT and
          kxwvt are different keys.  If the Master Key is correct, the
          session can begin.

               GK-Crypt will next need to know which files you want to
          encrypt (lock) or decrypt (unlock).  It will first ask what
          operation you want to perform, like this,

               Options:
                 E - Encrypt a file.  Make it unreadable to protect it.
                 D - Decrypt a file.  Make it readable to use it.
                 S - Create shortcuts.
                 L - List the encrypted files.
                 M - Change your Master Key.
                 Q - Quit.
               Type your choice (E, D, S, L, M or Q):

          You may encrypt and decrypt as many files as you wish during a
          session.  After each operation you will be returned to this menu
          until you type Q to quit.
               Suppose that you want to encrypt a file.  You type E to
          select encryption.  GK-Crypt will then need to know the name of
          the file, or the group of files that you want to encrypt.  It
          will prompt you for the name,

               Enter the name of the file group to be encrypted,
               or type Q to quit.
               File group name:

          Suppose that you want to encrypt the group of files in the
          directory patent that start with the name motor.  You would
          respond by typing \patent\motor*, like this

               File group name: \patent\motor*

          GK-Crypt will ask you to verify your choice, so that you don't
          accidentally encrypt the wrong group of files.  It will ask

               Is (\patent\motor*) the correct file group? (Y or N):

          You would type Y to indicate that it is correct.  GK-Crypt will
          then generate a strong encryption key for each of the files,
          encrypt each file with its key, and record the keys so that the
          files can be decrypted when you need them.

               This sample should give you a good sense of how a GK-Crypt
          session will proceed.  At every step GK-Crypt will instruct you
          on what information you need to enter.  Now let's look at some of
          these items in detail.



          2.3. Decrypting files


               Decrypting (unlocking) files is very easy in GK-Crypt
          Version 03.  You no longer need to remember which files are
          encrypted, and you no longer need to type the file names.  When
          you select D on the main menu to decrypt files, you will be shown
          a list of the encrypted files, like this

                 C:\MEDICAL\CHART\ADAMS.XML
               > C:\MEDICAL\CHART\SMITH.XML
                 C:\MEDICAL\CHART\WILSON.XML

               Use arrows to move cursor, D to decrypt file, Q to quit: ');

          You can use the up arrow, down arrow, PgUp and PgDown keys on the
          numeric keypad to move the > cursor to the file you want to
          decrypt.  When the cursor is pointing at the right file, press D
          to decrypt the file.



          2.4. Setting shortcuts


               Press S on the main menu to define or change a shortcut.
          You will see

               Shortcut name:

          Type in the name you want to call the shortcut.  If you type the
          name of an existing shortcut, then you can edit that shortcut,
          change its name, change its text, or delete the name to delete
          the shortcut.



          2.5. Listing the encrypted files


               Press L on the main GK-Crypt menu to get a list of all of
          the encrypted files.  The list will be written to the file
          GKCRYPT.LST.  You can use this list, for example, to check
          whether all of the files that you want to keep private have been
          encrypted.

               You could keep a separate file containing the complete list,
          and compare GKCRYPT.LST to this file using the Comp utility.  The
          Comp utility is a handy and inexpensive tool available from
          Master Software Corporation (www.mastersoftware.biz).



          3. FILES



               In order to use GK-Crypt you will need to tell it which
          files to protect.  On your computer the files are organized into
          directories or folders.  Directories and folders are two names
          for the same thing.  When you are in Windows, the computer will
          show you lists of files organized as folders.  When you are in
          DOS, the computer will show you lists of those same files in
          directories.  Directories and folders are equivalent.

               You need to identify which files contain your private data.
          These are the files that you need to encrypt.  Often these files
          will be in directories that are named for the program that
          created them.  For example, if you create drawings using a
          program called EZ-Draw, then the drawings are likely to be in a
          directory with a name such as

               \EZ-DRAW\
           or
               \PROGRAMS\EZ-DRAW\

          or in a subdirectory of these directories, say

               \EZ-DRAW\PORTRAIT\

               It is generally safe, but not necessary, to encrypt the
          application program and the files that it uses along with the
          files you created.  For example, it is safe to encrypt word
          processors, spreadsheet programs, or graphics programs.  Of
          course you must decrypt them before you try to use them.  This
          may take some time, but it may be easier for you to encrypt the
          entire directory, along with all of its subdirectories, than for
          you to try to identify all of your data files individually.

               WARNING!!  You must never encrypt a system file.  You must
          never encrypt any file that is part of the operating system on
          your computer, such as Windows, Unix or Linux.  If you encrypt a
          system file, your computer will be unable to use that file, and
          therefore may not be able to function correctly.  If you simply
          went ahead and encrypted every file, your computer would stop
          running, and you would not be able to restart or reboot it, so
          you would not be able to fix the problem.  Similarly, if you
          encrypted any of the GK-Crypt files, such as GK.EXE, GKMASTER.1,
          or GKCACHE.1, then you would not be able to use the GK-Crypt
          package to decrypt them, so all of your encrypted files would be
          permanently lost.

               You should always give your data files and folders names
          that clearly identify what they contain.  That way, you will know
          which files are yours, and which files you want to protect.  You
          can find all of the files on your computer by clicking the "My
          Computer" icon on the Windows desktop.  Equivalently, you can
          find all of your files by using the DIR command in DOS.



          3.1. Identifying files


               Each time you encrypt files you must identify those files to
          GK-Crypt.  GK-Crypt will prompt you for the file identifier at
          the appropriate time.  You identify files to GK-Crypt the same
          way that you identify files to DOS, namely by specifying the
          drive, path, filename and extension.  (If you already know DOS,
          you can skip or just skim this section.)

               drive     is the device where your file is stored, usually C
                         for your hard drive, A or B for a floppy drive,
          and
                         D or E for a CDROM drive.

               path      is the directory on your drive where the file is
                         located.

               filename  is the name that you gave your file.  The name
          usually
                         indicates the contents or purpose of the file.

               extension is a suffix that indicates the kind of file, such
          as
                         TXT for a text file, JPEG for a picture file, EXE
                         for an executable file, etc.

          A full file identifier might look like this,

               c:\company\mydepartment\2005\sales.wp

               In this example, c: identifies that your file is on the C
          drive, which is your hard drive.  \company\mydepartment\2005\ is
          the path to your data.  It shows that the data file is located in
          the 2005 folder, which is inside the mydepartment folder, in the
          company folder.  So the path consists of nested folders, or a
          list of directories.  sales.wp is the file with the data.  The
          filename is sales, and the extension is wp, which indicates that
          it is a WordPerfect document.

               In a file identifier all of the fields except the filename
          are optional.

               drive      can be omitted if the file is on the current
          drive,
                          that is, the drive where you are now working.

               path       can be omitted if the file is on the current
          directory
                          of the drive.

               extension  can be omitted if the file does not have an
          extension
                          on its name.  For example, if the file is just
          named
                          oldstuff then no extension is needed.

          Here are some examples of valid file identifiers:

               a:budget
                    identifies the file budget in the current directory
                    of the A drive.

               \jones\commissions
                    identifies the file commissions in the \jones directory
                    on the current drive.

               late\requests.txt
                    identifies the file requests.txt in the late
                    subdirectory of the current directory.



          3.2. File groups and wildcards


               GK-Crypt allows you to encrypt or decrypt groups of files
          with a single command.  There are two ways to do this.  The first
          method is to use wildcards when you give the filename or the
          extension.  Instead of giving the entire filename or extension,
          you give the first few characters, and then type * asterisk.  The
          file operation will be applied to all files whose names or
          extensions begin with the letters you gave.  Here are some
          examples.

               TAX*        specifies any file in the current directory
          whose
                           name begins with TAX.  For instance this would
                           include TAX, TAXES and TAX2005 but not TAXES.WP.

               T\*.DOC     specifies any file in the T subdirectory of the
                           current directory, whose extension is DOC.  For
                           instance this would include T\SALES.DOC and
                           T\INVEST.DOC.

               \A\PR*.S*   specifies any file in the A directory of the
                           current drive whose filename starts with PR and
                           whose extension starts with S.  For instance
                           this would include \A\PROFIT.S and \A\PRICE.SET.

               The second method for specifying a group of files is to give
          the path with no filename or extension.  In this case, the file
          operation will be applied to all of the files in the current
          directory, and all of its subdirectories.  For example

               \MENU\   specifies all of the files in the MENU directory of
                        the current drive, and all of its subdirectories.
                        For instance it would include \MENU\TODAY.TXT,
                        \MENU\BEEF\RECIPES and \MENU\LAYOUT\PIX\SALAD.JPG.

               Any time you are prompted to give a file group you may give
          either a single file, a set of files using wildcards, or a
          directory.



          3.3. Defining shortcuts


               Some of the files you wish to keep private may be in deeply
          nested directories, such as

               \programs\artshop\drawings\plato\cover.jpg
               \programs\artshop\drawings\plato\cave.jpg
               \programs\artshop\drawings\plato\teacher.jpg

          It would be tedious to continually type these long names when you
          encrypt these files, especially if you do this often.

               Starting with GK-Crypt Version 03 you can define shortcuts
          to make this task easier.  To define a shortcut you choose S on
          the GK-Crypt main menu.  You will then see

               Enter the name of the shortcut.  The name may be
               1 to 12 letters and digits, for example  Plan10X
               Type = to show the list of shortcuts, or type Q to quit.

               Shortcut name:

          Type a suitable short name for your shortcut, for example plato.

               You will then be prompted to enter the text of the shortcut.
          This text can be all or part of the directory path and/or the
          file name.  You will see

               Enter the text of the shortcut or type Q to quit.
               The text may be any portion of a directory path or file name
               such as  \MyStuff\drawings\bridge.jpg

               Shortcut text:

          You then type the text of the shortcut.  The shortcut will stand
          for whatever text you enter.  In this case, suitable text might
          be

               \programs\artshop\drawings\plato

          since this occurs in all three of the file names.



          3.4. Using shortcuts


               To use a shortcut when you are telling GK-Crypt which file
          to encrypt, you type an equal sign = and then the name of the
          shortcut, plus the rest of the file group name.  For example, you
          could enter the file name as =plato\cover.jpg like this

               File group name: =plato\cover.jpg

          This would cause the file
          \programs\artshop\drawings\plato\cover.jpg to be encrypted.

               If the name of the shortcut is not followed by a delimiter,
          such as . or \ then leave a blank after the shortcut name.  The
          blank will be removed when the shortcut name is replaced by the
          shortcut text.  For example, if dime were a shortcut for
          \coins\catalog\dimes\ then

               File group name: dime 1952

          would cause \coins\catalog\dimes\1952 to be encrypted.

               You can use more than one shortcut in a file group name, and
          you can use one shortcut in another shortcut.  For example,
          suppose that you want to encrypt the files

               \programs\artshop\drawings\plato\cover.jpg
               \programs\artshop\drawings\plato\cave.jpg
               \programs\artshop\drawings\plato\teacher.jpg
               \programs\artshop\drawings\odyssey\siren.jpg
               \programs\artshop\drawings\odyssey\hydra.jpg
               \programs\artshop\drawings\odyssey\cyclops.jpg

          You could define a shortcut draw to represent
          \programs\artshop\drawings and then you could define two more
          shortcuts plato and homer using the draw shortcut.

               plato  as  =draw\plato
               homer  as  =draw\odyssey

               If you now wanted to encrypt the file
          \programs\artshop\drawings\odyssey\cyclops.jpg you could simply
          enter the name as =homer\cyclops.jpg like this

               File group name: =homer\cyclops.jpg

          and the correct file would be encrypted.



          3.5. Group overlap


               It would be dangerous to encrypt two groups of files that
          could potentially overlap.  For example, if you were to encrypt
          the group TOP*.D* and then encrypt the group TO*.DOC the file
          TOPIC.DOC would get encrypted twice.  If you then decrypted those
          two groups in the same order, the file TOPIC.DOC would get
          hopelessly garbled.  It could never be recovered, because the
          keys would no longer be in the cache.

               To prevent this sort of catastrophe, GK-Crypt detects
          possible overlaps of file groups, and prevents you from
          encrypting such overlapping groups.  This is one of the many
          safety features built into GK-Crypt.



          4. KEYS



               Choosing the keys for encrypting your files is one of the
          most critical steps in using the GK-Crypt package.  If you choose
          a short or weak key, it may be easy to remember and easy to type
          each time you need it, but your data will not be secure.  It is a
          serious mistake to think that you can use a weak key simply
          because you are using such a strong encryption package.  A strong
          safe with a weak lock is not secure.

               If you choose a long strong key your data will be more
          secure, but it will be harder for you to remember it and to type
          it accurately each time it is needed.  This chapter will describe
          techniques for choosing keys that are both secure and easy to
          remember and to type accurately.



          4.1. Key Do's and Don'ts


               Many people try to take shortcuts in order to have keys that
          are easy for them to remember.  You need to assume that any
          opponent will also be aware of the same shortcuts.  Here are some
          simple rules that can help prevent a costly error.

               When you choose a key, do not base the key on your personal
          information.  Assume that your opponent knows all of your
          personal data.

          DO NOT base your key on 

               Your birthday
               Your telephone number
               Your Social Security number
               Your license plate number
               Your spouse's, child's, parent's, sibling's or even
                 your pet's name, birthday, phone number, etc.

          DO NOT base your key on commonplace phrases 

               Nursery rhymes
               Song titles or lyrics
               Folk sayings
               Names of famous people, groups, places or events
               Names of books, plays or TV shows
               Punchlines from jokes
               Well-known dates
               Tongue twisters
               Words or phrases in other languages

          DO NOT use data widely known within your specialized field 

               Digits of pi or e
               Names of bones, nerves, or organs
               Names of stars, minerals, geological features, bacteria,
                 ancient cultures, alloys, proteins, theorems, etc.
               Mnemonics
               Names of people, schools, companies, places, etc.
               The speed of light, Avogadro's number, the Golden Ratio,
          etc.

          DO NOT choose sequences of consecutive letters from the alphabet
          or from the keyboard, whether forwards, backwards or diagonally.

          DO NOT use the keys that appear in this manual.  Always assume
          that your opponent has read it, too.

          DO use a long key.

          DO try to make your key as random as possible.

          DO read this entire chapter on picking keys.

          DO evaluate the strength of your key according to the principles
          in the following sections.

          DO make your Master Key extra long and strong.



          4.2. Letters, digits and punctuation


               If there are several people who need access to the data, and
          who are trusted with the keys, then the problem of recording or
          memorizing the keys becomes multiplied.  Some people have the
          capacity to memorize long strings of random-looking letters
          and/or digits, but most people cannot do this.  The safest course
          is to write down your key, and keep it in a secure place, such as
          a locked safe.  Other techniques will be discussed in a later
          section.  It is advisable to have several copies, in case one
          copy gets lost, stolen or destroyed.

               The strength of an encryption key is measured in bits, the
          binary digits that are used by your computer's hardware.  Here is
          a rough guide to how many bits you get from each character in an
          encryption key when the characters are chosen randomly.  

               Table 1.  Strength of each character in a key.

               Decimal digits = 3.3 bits
               Single case letters = 4.7 bits
               Mixed case letters = 5.7 bits
               Mixed letters and digits = 5.9 bits
               Mixed letters, digits and punctuation = 6.3 bits

          Based on this chart, here is the strength of some sample
          10-character keys 

               Table 2.  Strength of 10-character blocks.

               5835701483 = 33 bits   Decimal digits
               CIWMRPTNZX = 47 bits   Upper case letters
               tyuhbivxks = 47 bits   Lower case letters
               DmbHaqREkV = 57 bits   Mixed case letters
               ku8Je94Lg7 = 59 bits   Mixed letters and digits
               g"p5WZc4%F = 63 bits   Mixed letters, digits, punctuation

          
               As you can see, the strength of the key increases when you
          choose randomly from a larger set of characters.  However, the
          difficulty of memorizing the keys and typing them accurately
          becomes much greater as the keys get more random.

               Note that all of the keys illustrated above are too short to
          be considered secure.



          4.3. Key blocks


               There are several methods for producing keys that are
          secure, yet easier for people to manage.  The first technique is
          to break your keys into blocks.  It has been a common practice
          for many years to break coded messages into blocks of 5
          characters each so that they can be transcribed more accurately.
          The same idea works for keys, too.  Notice how the key 

               CNWIALVMXBTEPOSBXRNH

          becomes much easier to read when it is broken into groups of 5
          letters 

               CNWIA LVMXB TEPOS BXRNH

          
               For longer keys it may be advisable to use additional
          punctuation to organize the blocks into groups of blocks.  For
          example, 

               48591-04528-16392, 35207-31654-74925, 09482-71653-42570

               GBXTL=PRBUI=LVZEW..BXGMN=LUIQT=SPFAE..VZJOQ=HUKBW=OZCND

          
               The second technique is to use groups that have the same
          structure.  Here are some examples, and the strength of each key
          block 

               91486 61872 94373   16 bits per block   5 digits
               T3708 D6204 F5193   18 bits per block   1 letter, 4 digits
               GS437 BR092 LX528   19 bits per block   2 letters, 3 digits
               UHM15 XTN63 MYA74   21 bits per block   3 letters, 2 digits
               QRILC PJRMS OVDZK   23 bits per block   5 letters

          The strength remains the same when the letters are placed in
          different positions.  For example, all of the following keys have
          the same strength, namely 2 letters and 3 digits 

               GS437 BR092 LX528   Letters at the start of each block
               943KP 471GQ 205YL   Letters at the end of each block
               V107J X219C F738L   Letters at both ends of each block
               6WF52 9TU48 7JN13   Letters in the middle of each block

          
               One advantage of using key blocks that always have the same
          structure is that there is no confusion between letters and
          digits.  Some letters and digits that may get confused are 

               Letters   B G I l O S T Z
               Digits    8 6 1 1 0 5 7 2

          Its position in the block tells you whether the character is a
          letter or a digit, so there is no need to avoid these characters
          when you use blocks with a fixed structure.

               Another variation on this idea is to make each key block
          uniform, but to vary the types of blocks randomly.  Here are two
          30-character keys with uniform blocks.  Each block consists of
          all digits, or all uppercase letters, or all lowercase letters.  

               KNUHW 50258 fewrz 39274 gyakf obqnk

               doztc 81463 69917 AGNDL rdefo PUIZH

          



          4.4. Pronounceable keys


               Another technique that can be used to produce keys which are
          secure, yet easy to remember, is to make the keys pronounceable.
          That is, you would use pronounceable combinations of vowels and
          consonants to form syllables, and combine these syllables to form
          artificial words.  This method may be valuable in situations
          where it is unsafe to write down the keys, and they must be
          memorized.  Here are some examples.  

               shambu dilp prelec oltu domex sarbuti shum obior

               Yotz doruc flean jadmek pra kerazi, Lagatu limbrazon.

          
               You can burn the key into your memory by starting with just
          a few artificial words, say DOZEK ULM HAPLICO, and repeat these
          to yourself for a day or two.  Then add another few words, say
          DOZEK ULM HAPLICO GRUX ANTIAM, and repeat those in your head for
          a few more days.  You can add some more words the following day.
          

               dozek ulm haplico grux antiam ludovesk gur amesqi

          
               You can complete the process by adding capitalization and
          punctuation, like 

               Dozek ulm Haplico "Grux Antiam" ludo-vesk gur a'mesqi.

          Using mixed-case letters and punctuation increases the strength
          of your key.

               You can imagine the key to be a saying in some private
          language, and make up a translation, in order to fix it more
          firmly in your mind.  For example, 

               Wise king Haplico "Lion of Antioch" out-witted a sorcerer.

          
               In a pronounceable key each letter has a strength of about
          3.3 bits if the words are fairly uniform in length, and about 3.5
          bits if the words are more variable in length.  For example, the
          first key below is fairly uniform in length, while the second is
          more variable.  

               panek dilbap greho drung fasdop ulben bukty crivan

               lobykar elb dixiat glem urbiqeo dhorsh uz vilagump

          



          4.5. Patterns


               When choosing a key, avoid creating any patterns, such as
          repeated letters or syllables.  Patterns weaken the keys by
          making them easier to guess.  Here are some examples of keys with
          patterns.  

               BBXXTT KKUUVV WWYYCC      The letters are all in pairs.
               aaa3gg5yyyy9ccc7uu2       There are runs of equal letters.
               10704 20906 50803         The second and fourth digit in
                                         each group is zero.
               51615 38183 29092         Each group has an ABCBA pattern.
               zampana reveske flogoto   The vowels in each group are all
                                         the same.
               tuntam memescu saksoli    The first and second syllable
                                         start with the same letter.
               debendik devogi delakt    Every group starts with de.
               ABC ghi LMN def XYZ       Each group has 3 consecutive
                                         letters of the alphabet.
               500XD 711TJ 822GN         The second and third digits in
                                         each group are the same.
               31734 23839 30376         Every group has two 3's.
               dobaku levoti wafigo      Consonants and vowels alternate.
               vgy7 2wdc zse4 7ujm       Has diagonal runs on the keyboard.
               KAZ VEK CIF ZOP HUQ       The vowels run in order AEIOU.

          
               Once you have chosen a key, inspect it for patterns, and
          change it to remove them.  If your key is a long string of
          letters or digits, look to see if there are any letters or digits
          that are used too often, or that are missing.  You may want to
          make some changes.  However, don't overdo it.  If you use every
          letter or every digit exactly the same number of times, or if all
          the letters and digits in each block of your keys are always
          different, those are also patterns which weaken the key.



          4.6. Secretaries and clerks


               Sometimes lower-echelon employees will not safeguard file
          keys as zealously as other workers.  It is common for these
          employees to write down keys in places that are easily
          accessible, such as on the computer itself, on their desk pads or
          wall calendars, or on slips of paper on a bulletin board.
          Anybody could see the keys and write them down.  It is absurd for
          the company president to keep the Master Key in a locked box
          inside a walk-in vault, and for the secretary's assistant to
          write the Master Key on a gummed label on the wall next to the
          computer.

               The employee might assume that nobody will ever guess that
          those cryptic letters and digits are actually the Master Key that
          unlocks all of the company's secret files.  The employee might
          assume incorrectly.  If these employees must be trusted with the
          keys then it is essential that they be educated to avoid such
          security breaches.

               Keys should never be written or pasted on the computer
          itself, the computer desk, a desk pad or calendar, the cover of a
          notebook or steno pad, the bottom of a stapler, telephone or
          flowerpot, the back of a clipboard, letter tray or desk
          organizer, or any similar place.  Intruders know to look in such
          places.  Don't make their job easy.



          4.7. Key strength


               The following table is a guide to how long a key must be in
          order to achieve various levels of security.  For example, if you
          want a key strength of 200 bits, and you use a decimal key, then
          you need 60 digits.  With the speed of current computers 100 bits
          is the lowest level of security that can be considered safe.

               The table assumes that the letters or digits of the key are
          chosen completely randomly.  If the letters or digits follow some
          pattern then your key needs to be longer.  For example, a key
          such as 

               TC174 JF296 BH583 KD629

          would be measured as 8 single-case letters and 12 digits, for a
          total strength of 77 bits.  Because of the LLDDD pattern it would
          not be considered to be 20 mixed letters and digits, which would
          have a strength of 118 bits.  


          Table 3.  For each type of key, this table shows how long to make
                    the key in order to achieve the desired strength.

                                   Desired key strength measured in bits
          Type of key             100   125   150   200   250   300   400
          ---------------------------------------------------------------
          Decimal digits           30    38    45    60    75    90   120
          Single-case letters      21    27    32    43    53    64    85
          Mixed-case letters       18    22    26    35    44    53    70
          S-C letters + digits     19    24    29    39    48    58    77
          M-C letters + digits     17    21    25    34    42    50    67
          Letters, digits, punc    16    20    24    32    40    47    63
          Uniform blocks           22    27    33    44    55    66    88
          Pronounceable, uniform   30    38    45    60    75    90   120
          Pronounceable, variable  29    36    43    57    71    86   114

          For example, if you wanted a decimal key you would read across
          the top row of this table.  If you wanted the decimal key to have
          a strength of 125 bits, you would look at the second column in
          the top row to find that you would need 38 decimal digits.  If
          you wanted a key of mixed-case letters and digits with a strength
          of 250 bits, you would need 42 letters and digits.

               Note that the longest input line you can enter is 126
          characters.  (This is a limitation of DOS, not a limit set by
          GK-Crypt.)  So if you wanted 400 bits of strength, and you chose
          to have a decimal key which requires 120 digits, then you would
          have only 6 characters left to separate the blocks.  Your blocks
          would need to average over 17 characters each.  (A pattern of 17,
          17, 17, 17, 17, 17, 18 would fit.)



          4.8. Summary: Picking a key


          The best way to pick a key is to follow these steps.

          (1) Decide how strong you want your key to be, say 200 bits.
          (2) Choose the type of key, say blocks of letters and digits.
          (3) Use the tables above to determine the key length.
          (4) Randomly choose a key of the required length.
          (5) Inspect the key for patterns.
          (6) Adjust the key to remove or reduce the patterns.
          (7) If you will need the key again, write down the key and keep
                  a copy in a secure place.
          (8) Type the key when GK-Crypt asks for it.



          5. INSTALLING GK-CRYPT



               The key to using GK-Crypt effectively is planning.  Before
          you install GK-Crypt on your computer, you should determine which
          files you need to protect.  The list of sensitive data in the
          first chapter can provide a starting point.



          5.1. Copying the GK-Crypt files


               The first step in installing GK-Crypt is to copy the
          GK-Crypt files from the distribution disk onto your computer's
          hard disk.  Suppose that you have inserted the distribution disk
          into the d drive on your computer, and that you want to install
          GK-Crypt in a directory called GK on your c drive.  You would
          copy the files by issuing the command

               copy d:* c:\gk\

          This is a good way to get started.  After you have been using
          GK-Crypt for a while, you may wish to install additional copies
          on your computer so that you have less typing of file names.



          5.2. Multiple copies of GK-Crypt


               Earlier versions of GK-Crypt suggested that users could
          install multiple copies of GK-Crypt on their computers.  These
          copies would be placed in the same directories that contained the
          data to be encrypted.  This would save typing of long data paths.
          However, it also created the potential for errors, since the same
          file could get encrypted using two different copies of GK-Crypt.
          The error would not be detected because each copy of GK-Crypt
          would have its own cache file.

               GK-Crypt Version 03 has been redesigned to eliminate this
          problem.  You should have only one copy of GK-Crypt on your
          computer.  This copy will have one cache that will keep track of
          all the encrypted files on your computer, and prevent such errors
          as encrypting the same file twice, or decrypting a file with the
          wrong key.  This is not only safer, but it saves the extra disk
          space needed for multiple copies.

               To access GK-Crypt from other directories you create a batch
          file named gk.bat.  Suppose that you have placed the GK-Crypt
          program into the \myprogs\security\gkcrypt directory.  Then the
          gk.bat file should contain the single line

               \myprogs\security\gkcrypt\gk.exe

          You would place a copy of gk.bat in each directory where you
          normally work with sensitive files that you may wish to encrypt.



          5.3. Installation


               The first time you run GK-Crypt the program will install
          itself.  You run GK-Crypt by typing the command

               GK

          and pressing Enter.  During the installation you will choose your
          Master Key.  You need to choose the Master Key carefully so that
          you do not forget it.  We suggest that you read the chapter on
          choosing keys before you start the installation.

               The first thing GK-Crypt will need is the installation
          password.  You will find this password enclosed with the GK-Crypt
          installation disk, unless you have made specific arrangements to
          have it mailed separately.  The password is not case-sensitive.
          You can type it in either upper or lower case.

               The installation password is not related to any encryption
          key used by GK-Crypt.  Knowledge of the installation password
          will not enable, or even help, anyone to read your data files.

               After you have entered the password, you will be asked to
          accept the GK-Crypt Software License.  GK-Crypt can be used only
          under the terms of the Software License.

               The next installation step is to enter your Master Key.  It
          is essential that you choose a long and strong Master Key.  The
          types of passwords that are used for logging onto websites are
          not nearly strong enough to provide any real data security.  See
          the Keys chapter of this manual to learn how to choose a suitable
          Master Key.  Be certain that you write down your Master Key and
          keep several copies in secure places, such as locked in a safe,
          and off-site in a bank safe deposit box.

               However, just to get started, you could use a simple key at
          first, and change to a more secure Master Key later.  Some people
          find it easier to build up a secure key by adding one element at
          a time.  Maybe they start with their childhood pet's name, say
          Fido.  The next time they run GK-Crypt they add another layer,
          say #Fido#.  After a few more runs they add a prefix, maybe
          zIx-#Fido#.  When they have that securely committed to memory,
          they add another bit, perhaps zIx-#Fido#-Q?4.  When they reach 5
          or 6 such elements, they will have a secure Master Key.  Just
          remember that each time you change the Master Key you need to
          replace the copies you have made.

               After setting the Master Key, and verifying that you have
          typed it correctly, GK-Crypt will start your first session.  The
          only key that you must remember is the Master Key.  All other
          keys are generated and recorded for you by GK-Crypt.



          5.4. Practice


               Before you use GK-Crypt on valuable data, it's a good idea
          to make some practice runs.  Create a few small temporary files
          and encrypt them.  Take a look at the encrypted files.  Then
          decrypt the files and look at them again.  Verify that the files
          are back to their original contents.

               It looks miraculous.  The encrypted files are complete
          chaos, total gibberish.  Not even the most sophisticated
          statistical tests can distinguish them from true random data.
          But GK-Crypt restores them to their original form.

               Try encrypting a group of files starting with the same
          letters, such as GKTEST1, GKTEST2 and GKTEST3.  Encrypt and
          decrypt the group as GKTEST*.  Try creating a directory and a
          subdirectory, such as \GKSAMPLE and \GKSAMPLE\SUB.  Put some test
          files in both directories.  Then encrypt and decrypt the whole
          group of files as \GKSAMPLE\.

               You might also want to try a few mistakes, just to see what
          happens.  Try typing your Master Key incorrectly.  Try encrypting
          a file that does not exist.  Try encrypting a file that is
          already encrypted.  You will see that GK-Crypt protects you
          against these types of errors.

               Once you have gotten the hang of it, you are ready to try
          encrypting some real files.  For your own peace of mind, you
          should back up the files first.

               After you have been using GK-Crypt for a while, and you have
          gained confidence in your ability to use it correctly, you may
          want to take all of your old backups, the ones where the data
          files are not encrypted, and destroy them.  Don't just toss them
          away.  Cut the tapes into shreds.  Chop the disks into shards.
          Don't discard all of the bits in the same place.

               From this point on, all of your backups will contain your
          sensitive files only in encrypted form, along with the
          corresponding GK-Crypt Master File and cache.



          6. SAFETY FEATURES



               The GK-Crypt data security package is designed with
          safeguards against all of the common problems that plague other
          data encryption programs.  It is therefore the safest, as well as
          the strongest, data encryption package you can get.



          6.1. Lost keys


               The most frequent problem with encryption occurs when the
          user forgets or loses a file key.  The GK-Crypt package has two
          safeguards against this problem.  The first safety feature is the
          cache.  GK-Crypt records all of the file keys in the cache.  You
          never need to remember or record any of your file keys in order
          to decrypt your data.  The only key you need to record and
          remember is your Master Key.  GK-Crypt remembers all of the other
          file keys for you.

               The second feature that safeguards against loss of keys is
          GK-Crypt's automatic key generation.  GK-Crypt generates all of
          your file keys for you, so you never have to remember file keys,
          or type file keys, or even see any file keys.  GK-Crypt takes
          care of all that work for you.  It also means that the file keys
          can be much stronger than user-selected keys.  The file keys can
          be long and completely random, since they never need to be typed
          or remembered.



          6.2. Strong Master Key


               Some other encryption packages generate all of the keys, not
          just the file keys, but the Master Key and the cache key, too.
          The user does not have to remember any keys at all.

               This is convenient, but it is not safe or secure.  Anyone
          who gets access to your computer can use the program to decrypt
          your files.  Anyone who gets one of your data disks can buy a
          copy of that program and read your files.

               Other packages use strong file keys, but require only a
          simple password to operate the program.  This means that anyone
          who can guess the password can read your files.  It is possible
          to use a program to generate and try millions of passwords per
          second, so it is fairly easy for somebody to get at your data.

               GK-Crypt lets you use strong Master Keys, up to 126
          characters long.  If you follow the guidelines in the chapter on
          choosing keys, then nobody can guess your Master Key, not with
          all the computing power on earth.



          6.3. Unauthorized users


               Suppose that a malicious person obtained access to your
          computer, and tried to disrupt your business by encrypting some
          of your files with an unknown key.  That person might try to
          ransom your data, and ask for a large fee to supply the key to
          recover your data.

               Even if this person, perhaps a disgruntled employee or
          business partner, possessed the Master Key you would still be
          safe.  The cache protects you.  The cache records the key, so you
          can recover the data even under those difficult circumstances.



          6.4. Double encryption


               Another large source of problems with other data security
          packages is double encryption, or double decryption.  This
          happens when the user forgets whether a file is encrypted or not.
          The user might encrypt a file that has already been encrypted, or
          decrypt a file that has not been encrypted, or that has already
          been decrypted.

               Suppose that the user of some lesser security package
          encrypts a file with key 1, and then encrypts it again with key
          2.  After the user decrypts the file with key 2, the file is
          still encrypted with key 1, and therefore unreadable.  If the
          user does not figure this out, and decrypts again with key 2,
          then the data is lost.

               Now, suppose that the user of this other program has
          encrypted the file first with key 1 and then with key 2.  Suppose
          that the user did this intentionally to get extra security
          because the other program was not as strong as GK-Crypt.  If the
          user then decrypted the file with key 1, and then with key 2, the
          file would be completely garbled.  Unless the user could figure
          out what had happened, and then unravel all of the steps, the
          data would be lost.  (To recover the data, the user would need to
          encrypt the data with key 2, encrypt it with key 1, decrypt it
          with key 2 and finally decrypt it with key 1.  Any other sequence
          of steps would garble the file even further.)

               These types of problems cannot happen with GK-Crypt.
          GK-Crypt uses the cache to prevent all such problems.  It will
          not let you encrypt a file twice, or decrypt a file that is not
          encrypted.  It will not let you encrypt a file with one key and
          decrypt it with a different key.



          6.5. Double copies


               Another problem with other data privacy packages is that
          they may make multiple copies of a file.  They encrypt a file by
          reading the file one section at a time, encrypting that portion,
          and writing the encrypted data to a new file.  After they finish
          they delete the original file.  This leaves two copies of the
          file on your disk, the original file and the encrypted file.

               Even though your original file has been deleted, the data is
          still there on your disk, and someone could read it.  There are
          well-known utility programs widely available for this purpose.
          Files often get erased accidentally, so utility programs have
          been written that can recover the data from an erased file.

               This problem is insidious, because the user may never know
          that it has happened.  The file looks fine when it is decrypted.
          The file looks totally random when it is encrypted.  The user may
          never realize that copies of the original file are still right
          there on the hard disk where anyone with a simple utility program
          can read them.

               GK-Crypt eliminates this problem by writing random gibberish
          over the old file before it gets deleted.  This is called
          shredding the file.  Starting with GK-Crypt Version 02, the old
          file is shredded 3 times.



          6.6. Partial encryption


               Some other data security packages use an alternate approach
          to prevent your original data from remaining on your disk.  They
          write the encrypted data on top of your original file.  The
          problem with this solution is if the power should go down, or
          even flicker for a fraction of a second, you will be left with a
          partially encrypted file.  (A surge protector may get you a few
          seconds, but any longer interruption will shut down your computer
          right in the middle of whatever it happened to be doing.)  It may
          be possible to recover the data, if the key is known, but it will
          take a great deal of work to figure out the exact spot where the
          encrypted portion ends and the original data starts.

               GK-Crypt takes a different, safer approach to encrypting a
          file.  If the power goes down during encrypting a file, your
          original file will be untouched.  You will not need to perform a
          data recovery process.  You can proceed as if the power failure
          never happened.



          6.7. Master and cache


               The same safety features that are used for your data files
          are also used for the Master File and the cache file.  The new
          Master File or cache is always written to your disk before the
          old one is deleted.



          6.8. Adding and renaming files


               Although GK-Crypt takes every possible safety precaution
          with the operations under its control, it is still possible for
          problems to occur because of things that the user does outside of
          GK-Crypt.

               The first problem occurs if a user renames a file within a
          group of encrypted files.  GK-Crypt bases the key for each file
          within a file group on its file name.  If you renamed the file,
          or moved it to another directory, GK-Crypt would be unable to
          decrypt it correctly.  You should never rename a file while it is
          encrypted.  Only decrypted files can be renamed or moved.

               Likewise, if you restore an encrypted file from a backup
          disk, it must be restored with the same name and to the same
          directory.  If the file has not been encrypted or decrypted since
          the backup was made, then simply copying the backup file to its
          old location is sufficient.  But, if the file has been decrypted
          and then encrypted again since the backup was made, then its
          encryption key on the hard drive, and its encryption key on the
          backup disk will be different.  There are specific steps that
          must be taken in order to make sure that the file is decrypted
          with the correct key, without affecting the decryption of other
          files.  See the section "Backup and recovery" for full details.

               If this problem happens, you can still recover the file if
          you have a backup that also contains the Master File and the
          cache.  The need to make frequent backups is always important,
          but it is doubly important when you are using encryption.

               The second problem occurs if you add a new file within a
          group of files that has been encrypted.  Suppose that you have
          encrypted the file group *.JPG and then you add a new picture,
          SHEEP.JPG to the group.  When you decrypt the group, the file
          SHEEP.JPG will be decrypted along with all of the other picture
          files.  This will leave SHEEP.JPG garbled, because it had not
          been encrypted.

               If this happens, get a new copy of SHEEP.JPG from the
          original source, or from a backup.  This is perfectly safe when
          the file and the group are not encrypted.

               Files operations, such as creating new files, deleting old
          files, and renaming files, should be done only when the files are
          decrypted.



          6.9. Backup and recovery


               There are a number of situations where you may need to
          restore your data from a backup disk.  The most serious is when
          your hard disk fails completely.  In this situation, you need to
          install a new hard drive, and reinstall the Windows operating
          system before you can even address the issue of your data files.

               Once your computer is up and running, you can restore your
          data files.  If you have included the GK-Crypt Master File and
          cache on your backup disk, then encrypted files can be restored
          right along with your other files.  They do not require any
          special measures or treatment.  Once you have recovered your
          files, your data will be in the same state as it was when you
          made your backup.

               The other, more common situation, is when you decide that
          you want to restore a specific file to an earlier state.  Suppose
          that you have an encrypted file \novel\chapter6.wp that you wish
          to restore.  Let's assume the worst case, namely that you have
          many encrypted files, and that you have decrypted some, changed
          some, re-encrypted some, added and deleted files, and so forth.
          You want to restore only the file \novel\chapter6.wp and none
          others.

               This can be done, but it requires care.  You have to decrypt
          your file with the same key that was used to encrypt it, but
          without altering the encrption keys for any other file.  Begin by
          decrypting the current version of the file.  This removes the
          file name from the cache.  Now, save the current Master File and
          cache in a new directory.  To be extra safe, also copy the
          current version of \novel\chapter6.wp to that directory.  Then
          you can safely copy the old Master File, cache and the encrypted
          file from the backup disk to their former places on your hard
          disk.  Decrypt \novel\chapter6.wp using the old master and cache.
          Finally, copy the current Master File and cache back from where
          you saved them to the GK directory.

               This process is harder than a normal recovery, but with most
          other encryption programs it is not possible at all.



          7. COMPARING ALGORITHMS



               In the first chapter of this manual it states that GK-Crypt
          is far stronger than any other commercial file encryption
          product.  This is a bold claim.  In this chapter the claim will
          be justified by comparing GK-Crypt to some other encryption
          algorithms (methods) that are in widespread use today.



          7.1. The GK-Crypt algorithm


               In order to explain why GK-Crypt is so much stronger than
          other encryption algorithms, it will be helpful to explain some
          of the technical details of its algorithm.

               GK-Crypt is a secret-key algorithm.  Its strength depends on
          secret keys which are known to the legitimate user, but not to an
          eavesdropper or intruder.  These secret keys are the Master Key,
          the cache key, the shortcut key and the key for each encrypted
          file.

               There are two basic kinds of secret-key algorithms, block
          ciphers and stream ciphers.  In a block cipher each block of
          message characters is subjected to a sequence of substitution,
          permutation, and combination steps in order to produce a new
          block of thoroughly scrambled text.  The algorithm combines each
          block of the original message with some part of the key in a
          fixed way.

               In a stream cipher there is some method of extending the
          original key to generate a stream of key characters as long as
          the message.  Each character of the message is combined with the
          corresponding character of the key to produce one character of
          the encrypted message.  In very strong stream ciphers the next
          character of the key will depend on both the original key, and
          the contents of the message.

               GK-Crypt combines both of these methods.  It uses a very
          strong block cipher and a very strong stream cipher.  Either of
          these encryption methods taken alone would be much stronger than
          any current commercial encryption method.  Combined, they become
          stronger than nearly all military and diplomatic encryption
          methods as well.

               GK-Crypt treats the contents of your data file as a sequence
          of blocks that vary from 16 characters to 32 characters, or 128
          bits to 256 bits long.  Each block is encrypted using a block
          cipher.  The block cipher has a 690-character, or 5520-bit key.
          The original key, which is kept in the cache, is 80 characters,
          or 640 bits.  This is expanded into the 690-character, or
          5520-bit block key.  The expansion uses non-linear functions, so
          that the expanded key has no linear relationship with the
          original key.

               The block cipher uses 9 rounds of substitutions in which
          each character of the block is combined with one character of the
          expanded key.  Then each character of the block is combined with
          another character of the block.  These character pairs are
          combined using three independent strongly non-linear functions.
          This means that the bits of the output are not correlated to the
          bits of the input.

               After each round of substitutions the 16 to 32 character
          block is thoroughly mixed using a key-dependent permutation.  The
          9 rounds insure that every character of the encrypted block
          depends on every character of the file block, and every character
          of the original key.

               After each block is encrypted a new key block is generated,
          so that every block of the file is encrypted with a completely
          different key block.  The new key is also generated using 9
          rounds of non-linear character combination and key-dependent
          permutation.  This results in an ultra-strong stream cipher that
          combines 16 to 32 character data blocks with 690-character key
          blocks to produce 16 to 32 character encrypted blocks.

               At every stage in the design of GK-Crypt care was taken to
          make each element of the encryption as strong as possible.  The
          substitution tables were constructed to be as non-linear as
          possible.  The substitution and permutation portions of the block
          cipher use independent keys in each round.  The generation of the
          next block key is done using yet a third independent key.  This
          was done so that if any information about any part of these keys
          can be learned by an opponent, that does not reveal anything
          about the other parts.  Additional safeguards assure that even if
          an opponent somehow knew all of the substitution keys and all of
          the permutation keys for some block, it would still be impossible
          to determine the keys for any other block.

               There is no revolutionary breakthrough here.  GK-Crypt is
          just a solidly engineered process combining powerful encryption
          techniques that have proved reliable for centuries.  For every
          conceivable attack on the encryption, counter-measures have been
          designed and incorporated.



          7.2. AES Advanced Encryption Standard


               AES is an encryption method which was adopted for widespread
          use after a lengthy evaluation of some 35 different proposed
          cryptographic algorithms.  This might lead people to believe that
          AES is therefore the strongest available cryptographic algorithm.
          This is not true.

               The selection process for AES was based on several criteria
          including strength, speed, size, and ease of implementation.  The
          algorithm that was chosen, called Rijndael, was judged to have
          only medium strength.  3 of the 5 finalists in the selection
          process (called Mars, Serpent and Twofish) were judged to be
          stronger.  They were not chosen because they were slower, more
          complex, or required more storage.  The GK-Crypt algorithm is far
          stronger than all 5 of the AES finalists.

               There are several more reasons why GK-Crypt is much stronger
          than the AES algorithm.  GK-Crypt was developed several years
          after AES was made public.  This means that all the features of
          AES which made it secure were known when GK-Crypt was developed.
          All of the secure features of AES were used in GK-Crypt, and
          several new features were added to make GK-Crypt vastly stronger
          than AES.  GK-Crypt versions 02 and higher use variable block
          size and other features that make it even stronger.

               AES was necessarily a compromise.  It had to be small and
          simple in order to be suitable for use in a broad range of
          applications, including tiny low-cost chips imbedded in credit
          cards, passports, medical ID bracelets, military ID tags, and so
          forth.  In the future, even smaller AES chips may be imbedded in,
          or printed directly onto banknotes (paper currency), checks,
          stock certificates, and similar documents.  Such chips have very
          limited storage and computing power, so AES had to be limited in
          size to make it fit.  It also had to be kept simple because it
          was going to be implemented many times by many different
          programmers and chip designers, most of whom have no expertise in
          cryptography.

               GK-Crypt was designed solely for use on computers.  It did
          not have to meet stringent constraints on key size and program
          size.  So GK-Crypt can use more storage, take more steps, and use
          longer keys than AES.  It was implemented by an expert computer
          programmer who is also an experienced cryptographer with several
          published papers on cryptography, so it did not need to be small
          and simple.  (Some of the papers are available online.  Links to
          these papers can be found at
          http://www.mastersoftware.biz/gkcrypt.htm.)  The absence of these
          size and complexity constraints allow GK-Crypt to be far stronger
          than AES.

               In terms of key size and number of steps, GK-Crypt is
          roughly equivalent to encrypting 4 times with AES using 4
          independent keys.  AES uses 128-bit keys that are expanded
          internally to 1024-bit keys.  GK-Crypt uses 640-bit keys that are
          expanded internally to 5520-bit keys.  However, GK-Crypt has some
          features that make it much stronger than 4 times AES.  For
          example, GK-Crypt uses a new key for every block of data.  This
          means that an opponent cannot accumulate a large number of data
          blocks that are all encrypted with the same key.  Many
          cryptographic systems have been broken by using a large number of
          messages encrypted with the same key.  AES is vulnerable to such
          an attack, but GK-Crypt is not.



          7.3. RSA public key cryptography


               The security of the RSA public key algorithm rests solely on
          the fact that it is difficult to factor large numbers.  If you
          are given two numbers, say 1511 and 1747 it is easy to find their
          product, 2639717.  It is much more difficult to go the other way,
          given a large number to find the numbers that were multiplied to
          produce it.  These numbers are called its factors, hence the
          factors of 2639717 are 1511 and 1747.  The difficulty grows the
          larger the factors get.  When the factors get up to 100 decimal
          digits or more, it takes a great deal of sophisticated
          mathematics and computing time to factor the number.

               The problem with RSA public key cryptography is that it is
          subject to advances in mathematics.  A few years ago
          mathematicians learned how to use elliptic curves to factor large
          numbers.  Suddenly many public keys that seemed totally secure
          could now be broken, and all of the messages sent using those
          keys could now be read.

               The users of public key cryptography had to develop new keys
          that were larger than the old keys.  But, for some, it was too
          late.  Their secret messages and private files had already been
          read.



          7.4. Quantum cryptography


               The newest development in secret communications is quantum
          cryptography.  There are two separate forms of quantum
          cryptography, which may be called "photon cryptography" and
          "quantum entanglement."


          7.4.1. Photon cryptography

               Photon cryptography uses a beam of light in which each
          individual photon, or light particle, has been put into one of
          two different quantum states.  Each photon, therefore, carries
          one bit of the encrypted message.  So photon cryptography is
          basically ordinary cryptography, except that a beam of photons is
          being used to transmit the message, rather than a wire or radio
          waves.

               The advantage of photon cryptography is that anybody trying
          to eavesdrop, and determine the state of the photons, would
          change their state.  Therefore eavesdropping could easily be
          detected.  That may be true, but the end result is that the
          eavesdropper would receive the message, while the intended
          receiver would not.

               A more sophisticated approach would be for the eavesdropper
          to read the message, and then generate a new photon beam with the
          same quantum states.  The receiver would never know that the
          photons are not the originals.


          7.4.2. Quantum entanglement

               This method is not available to the public, may never be
          available outside of government, and may still be years away from
          practical use.  We discuss it here because it has the potential
          to become an extremely strong cryptographic method.

               The basic idea in quantum entanglement is that the sender
          and the legitimate receiver of a message each have a set of
          quantum particles that are synchronized, or "entangled" with each
          other.  That is, the particles are always in the same quantum
          state, even though they may be many miles apart.  A change to one
          particle causes the same change to its mate.

               The method has a great advantage, which may also be a fatal
          flaw.  Any attempt by an outsider to determine the state of
          either particle can change its state, and thus alert the parties
          that there is an eavesdropper.  However, this property means that
          an opponent can completely disrupt communications simply by
          listening in.  The receiver cannot know if a change in the
          particle is a message from the sender or an attempt by someone
          else to listen in.  This property, therefore, may doom quantum
          entanglement cryptography.



          Appendix A. DOS BASICS



               GK-Crypt runs under DOS, not under Windows.  DOS was the
          primary operating system for personal computers from about 1975
          to 1995.  Older versions of Windows, prior to the introduction of
          Windows 95, ran as tasks under DOS.  Since 1995 the situation has
          reversed, and DOS now runs as a task under Windows.  Every
          computer user before 1995 knew DOS well.  However, newer computer
          users may not be familiar with DOS, so that a little basic
          orientation may be helpful.



          A.1. Starting DOS


               On newer computers it may be difficult even to find DOS in
          order to use it.  There are two methods for running DOS.  The
          first method is to click on a DOS icon from your desktop, or from
          a taskbar at the top or bottom edge of the desktop.  The icon may
          say DOS, or MSDOS, or possibly CMD or COMMAND.  Clicking any one
          of these icons will start DOS.  If there is a DOS icon on your
          desktop or in a taskbar, you can skip the rest of this section.

               If there is no DOS icon on your desktop or taskbar you may
          find one elsewhere.  Start by clicking on "Start" in the corner
          of the screen.  This will bring up a menu listing various
          programs and options.  If there is a DOS icon there, you can use
          it directly, or you could drag it onto the desktop for future
          use.  If it is not there, click on "Programs" or "All Programs."
          This will bring up a long list of various programs that are on
          your computer.  If one of these is DOS, you can click it, or you
          can drag it to the desktop.

               If you still don't see a DOS or CMD icon, put your mouse on
          each of the icons that you see.  Don't click, just let the mouse
          cursor rest on the icon.  This will often bring up another list
          of programs, and DOS may be among them.

               If DOS still is not there, don't give up.  You just need to
          search deeper.  In the list of All Programs there will be some
          folders with names such as "Applications" or "System Utilities."
          Click to open each of these folders.  In those folders you may
          find DOS or CMD.  Or, you may find more folders.  Again, rest the
          mouse on the names of programs, and click on folders to find even
          more well-hidden programs and folders.

               Once you find the DOS icon, drag it to the desktop.  Put the
          mouse cursor on the DOS icon and hold down the left button.  Move
          the mouse to drag the cursor onto the desktop, and then release
          it to drop the icon on the desktop.  Click the desktop to close
          all of the other windows.  Then drag the DOS icon to wherever you
          want it on the desktop.

               If all of this fails, it is time to try the second method.
          Go back to the desktop, and click on "Start" again.  In the list
          of options click on "Run" or "Run Program."  This will open a
          small window with a box where you can type the name of a program
          that you wish to run.  Type CMD in this box, and then press
          Enter.  This will open a DOS window.



          A.2. Sizing the DOS window


               The DOS window will often be a small window in the middle of
          the screen, probably off-center.  It is easier to work with DOS
          in full-screen mode, with no distracting windows or borders.  To
          do this, right click on the top border of the DOS window, and
          select "Properties" from the pop-up window that appears.  Use the
          various options to select full-screen mode.  This may take
          several tries before it works, so don't get frustrated if the
          next time you use DOS you get the same small window, and need to
          resize it again.

               When you do get the full screen mode, the screen is likely
          to be set to 50-line mode.  This makes the characters small and
          crudely formed.  You may be more comfortable using 25-line mode.
          To switch, you can type the command

               mode con lines=25

          This will double the size of the characters and make them easier
          to read.



          A.3. Directories


               In DOS your computer's hard disk is organized into
          directories.  All of the files on your computer are in
          directories.  These correspond to the folders in Windows.
          Directories and folders are the same thing.  A directory or a
          folder can contain files and more directories or folders, so that
          the folders or directories are nested one inside the other in a
          hierarchy.

               The top of the hierarchy is called the "root directory."
          Typically the root directory does not contain any files.  Rather,
          it contains all of the principal directories on the computer,
          such as

               \Windows
               \Program Files
               \Documents and Settings

          and so forth.  The backslash \ in front of these directory names
          shows that they are directories within the root directory.

               A directory within another directory is sometimes called a
          subdirectory.  In the example above the directory Windows would
          be a subdirectory of the root directory.



          A.4. Current directory


               Files are identified in DOS by using a path, a filename and
          a filetype.  For example,

               direc1\direc2\file1.doc

          Here the path is direc1\direc2, the filename is file1 and the
          filetype is doc.  The path consists of the sequence of nested
          directories which contain the desired file.

               If the path starts with a \ backslash, then the sequence of
          directories start from the root directory.  If the backslash is
          omitted, then the path starts from the current directory.  For
          example, if the current directory is Windows, then the file
          identifier direc1\direc2\file1.doc would refer to the file
          \Windows\direc1\direc2\file1.doc

               By setting the current directory you can shorten the names
          of programs and files that you must type.  For example, if you
          want to use the program

              \direc1\direc2\prog1.exe

          to process the data files

              \direc1\direc2\file1.dat
          and
              \direc1\direc2\file2.dat

          you could type

              \direc1\direc2\prog1 \direc1\direc2\file1.dat
          \direc1\direc2\file2.dat

          If you changed the current directory to \direc1\direc2 then this
          could be shortened to

              prog1 file1.dat file2.dat

              The command to change the current directory is cd.  To change
          the current directory to \direc1\direc2 you would type

               cd \direc1\direc2\

          If you later wanted to change the current directory to
          \direc1\direc2\direc3 it is sufficient to type

               cd direc3

          since you were already in the directory \direc1\direc2.



          A.5. Working with directories


               You can make your own directories by using the Make
          Directory command.  For example, if the current directory is
          \direc1\direc2 and you wanted to make a subdirectory called
          direc3, then you could type

               md direc3

          Starting from the root directory, the new directory would be
          \direc1\direc2\direc3.

               To remove a directory, you can use the Remove Directory
          command.  For example, to remove the directory
          \direc1\direc2\direc3 you would type

               rd \direc1\direc2\direc3

          As a safety precaution, you cannot remove a directory until you
          have deleted all of the files in the directory, and removed all
          of its subdirectories.  This prevents you from accidentally
          deleting files that you meant to keep.

               To list the contents of a directory, you can use the
          Directory command.  The basic format is

               dir mydirec /options

          Here mydirec is the directory you want to list.  There are many
          possible options.  Here are a few of the most useful:

               /s    List the contents of all subdirectories
               /on   Sort the files by name
               /os   Sort the files, smallest to largest
               /o-s  Sort the files, largest to smallest
               /od   Sort the files, oldest to newest
               /o-d  Sort the files, newest to oldest
               /p    Pause after every 20 lines

          You can use several options in the same command.  For example,

               dir \direc1 /s /od /p

          would list the files in \direc1 and all of its subdirectories
          sorted from oldest to newest, and pausing after every 20 lines.

               You can also list specific files, files that have a given
          filename or filetype, or files whose filenames and filetypes
          begin with specific letters.  Here are some examples

               dir tax.ref   Lists the file tax.ref.
               dir tax.*     Lists all files with the name tax.
               dir *.doc     Lists all files of type doc.
               dir st*.c*    Lists all files whose filename starts with st
                             and whose filetype begins with c, such as
                             startup.cfg, study.com or state.core.

          The * asterisks in these commands are called wildcards because
          they can be replaced by any set of letters.  These commands can
          tell you whether these files exist, their sizes, and the date
          they were last updated.



          A.6. Identifying files


               All of the data in your computer resides in files.  Files
          contain the operating system, all of the application programs,
          and all of the data that they use and create.  Files are
          identified to DOS by four fields, namely the drive, path,
          filename and extension.

               drive      is the device where your file is stored, usually
                          C for your hard drive, A or B for a floppy drive,
                          D or E for a CDROM drive.

               path       is the directory on your drive where the file is
                          located.

               filename   is the name that you gave your file.  The name
                          usually indicates the contents or purpose of the
                          file.

               extension  is a suffix that indicates the kind of file, such
                          as TXT for a text file, JPEG for a picture file,
                          EXE for an executable file, etc.

          A full file identifier might look like this,

               c:\mycompany\mydepartment\2005\sales.wp

               In this example, c: identifies that your file is on the C
          drive, which is your hard drive.  \mycompany\mydepartment\2005\
          is the path to your data.  It shows that the data file is located
          in the 2005 folder, which is inside the mydepartment folder, in
          the mycompany folder.  So the path consists of nested folders, or
          a list of directories.  sales.wp is the file with the data.  The
          filename is sales, and the extension is wp, which indicates that
          it is a WordPerfect document.

               In a file identifier all of the fields except the filename
          are optional.

               drive      can be omitted if the file is on the current
                          drive, that is, the drive where you are now
                          working.

               path       can be omitted if the file is on the current
                          directory of the drive.

               extension  can be omitted if the file does not have an
                          extension on its name.  For example, if the file
                          is just named oldstuff then no extension is
                          needed.

          Here are some examples of valid file identifiers:

               a:budget
                    identifies the file budget in the current directory
                    of the A drive.

               \jones\commissions
                    identifies the file commissions in the jones directory
                    on the current drive.

               late\requests.txt
                    identifies the file requests.txt in the late
                    subdirectory of the current directory.



          A.7. Long names


               Some Windows files and directories have long names, or names
          containing blanks or dots, such as

               Documents and Settings
               My Music
               Microsoft.Net
               SharedReg12.dll

          Microsoft has made the naming of files and directories
          incompatible between Windows and DOS.  DOS limits directory names
          to 8 characters, and does not allow blanks in names.

               To refer to these directories, you need to shorten the names
          down to 8 characters.  The short name is formed by taking the
          first 6 non-blank characters of the name plus the combination ~1.
          When the name of a directory contains a . dot character, each of
          the parts of the name is treated separately.  For example, for
          the directories above,

               Documents and Settings   would be called   Docume~1
               My Music                 would be called   MyMusi~1
               Microsoft.Net            would be called   Micros~1.Net
               SharedReg12.dll          would be called   Shared~1.dll

          Thus a full path and file name such as

               \Windows\Microsoft.Net\Framework\SharedReg12.dll

          in DOS would be called

               \Windows\Micros~1.Net\Framew~1\Shared~1.dll

               It is a good idea to give all of your own files and
          directories names that are compatible with DOS.  The names should
          be no more than 8 characters long and should not contain blanks.



          A.8. File operations


               Besides the encryption and decryption operations that you
          perform using GK-Crypt, it can be useful to know several other
          common file operations.

               There is no DOS operation to create a file.  Files are
          created by application programs such as word processors, picture
          editors, spreadsheets, etc.  Once created, files can be copied,
          renamed and deleted.

               It is important to remember that encrypted files should not
          be renamed, and files should not be copied into or out of a group
          of encrypted files.  It is safest to decrypt files before
          renaming or copying.

               To copy a file to a new location, the command is

               copy oldfile newfile

          The old file and new file identifiers can be fully qualified,
          that is, they may have drive, path, filename and filetype.  So
          the copy command can be used to copy files to other directories
          or to other drives.

               Wildcards can be used in the copy command to copy groups of
          files.  For example, the command

               copy \oldpath\*.doc \newpath\*.*

          would copy all files of type doc from the \oldpath directory to
          the \newpath directory.

               The rename command works similarly to the copy command.  The
          form is

               ren oldfile newname

          Here oldfile can be fully qualified, with drive, path, filename
          and filetype.  However, newname can have only a new filename and
          filetype.  There cannot be a new drive or new path because the
          file does not change its location, only its name and/or type.
          For example,

               ren target\x3*.jpg x4*.*

          would rename all of the jpg files in the target directory that
          start with x3 to start with x4.

               The command to delete files takes the form

               del file

          Here, file can be a fully-qualified file identifier, with drive,
          path, filename and filetype.  It can also have wildcards so that
          you can delete several files with a single command.  For example,

               del a:old*.*

          would delete all files in the current directory of the a drive
          whose filenames start with old.

               Note that deleting a file does not erase it.  The file still
          exists on the disk, where it can be read by various utility
          programs that are available for that purpose.  The file will
          remain there until some other file eventually gets written on top
          of it.



          A.9. Batch files


               Batch files are a useful way to reduce the number and
          complexity of the DOS commands that you must type.  Each batch
          file can contain any number of DOS commands.  You execute the
          entire sequence of DOS commands just by typing the name of the
          batch file.

               Here is a simple example.  Suppose that you frequently use
          the program GK-Crypt.  If the current directory is \plans\tower
          but GK-Crypt is in the directory \programs\download then to use
          GK-Crypt you would type

               \programs\download\gk

          To make this easier, you could create a batch file named gk.bat
          on the current directory.  This file would contain the single
          line

               \programs\download\gk

          Now when you wanted to execute GK-Crypt all you would need to
          type is

               gk

               You could place a copy of the batch file gk.bat in every
          directory where you usually work.  Then you could run GK-Crypt
          from anywhere just by typing gk.  You would not need to have
          multiple copies of GK-Crypt.

               There are many other DOS commands and options.  This is just
          a small sample of useful DOS commands.


Back to GK-CRYPT main page
Back to MASTER SOFTWARE CORPORATION homepage
Choosing an Encryption Product
A Quick Overview of Cryptography

© Copyright 2005-2024 Master Software Corporation
All rights reserved. No part of this manual may be reproduced in any form without the express permission of Master Software.