home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilss / signature / !Signature / !Help < prev    next >
Text File  |  1993-02-04  |  24KB  |  552 lines

  1. Open reply on NetMail, dated Sat,16 Jan 1993.18:13:58, sent
  2. From:    Dirk-Willem van Gulik
  3. To:      All
  4. Subject: Re: Signature 1.04
  5.  
  6.  
  7.                  Help file for Signature.
  8.  
  9.                  This is a TEST version.
  10.  
  11.                       version 1.04
  12.                 
  13.               © 1993 Dirk-Willem van Gulik
  14.  
  15.               - supports interactive help -
  16.  
  17.    For conditions of use, see the end of this file.
  18.  
  19. This program allows you to 'sign' and 'seal' text files with your
  20. personal signature. This seal/signature is attached to the text.
  21. Any changes made to the text will render this  signature invalid. 
  22.  
  23. A public key list allows you to check signatures from other 
  24. people. If you drag a signed message into this programme it will
  25. check the signature against the known public keys of the sender.
  26. This implies that the message must have a certain header (as
  27. WimpLink 0.96 supplies) which includes the sender.
  28.  
  29. You will have to create a personal signature first with the
  30. programme 'maker' which accompanies this application. This 
  31. programme will make both a secret and a public key. You can then
  32. distribute the public key freely. A 'public' file, which you can
  33. distrubute as a message is create in the same (root) directory as
  34. !Signature.
  35.  
  36. As the secret password is stored on disc there is an option in
  37. the program to scramble it with a secret password. You should do
  38. this as soon as possible. Just run !Signature immediately.  The
  39. programme will agressively ask for such a password, in fact it
  40. will refuse to do anything, until you have entered one. After
  41. this 'first-time-bad-behaviour' it should get into better moods,
  42. and bit will bhaves decently (I hope) on your sucsessive runs.
  43.  
  44. This password is normally a sentence of about 15 words long. 
  45. Special 'token' words will code the signature. The first time 
  46. you run the programme '!Signature' after having used Maker, you
  47. will be prompted to enter a password. In the 'Change/Enter
  48. password' window you will find a 'token-word-list'. Only words 
  49. from this list scramble your signature. Normally you would build
  50. a sentence around about 10 words chosen from this list. As an
  51. example you could make passwords like these:
  52.  
  53.  - He himself is a good rabbit.
  54.  - London is no longer a good living place to look after.
  55.  - Drink Driving is a stupid thing to do.
  56.  
  57. As you will see only half of these words actually count, i.e.
  58. code your signature. You can see how many 'valid' words you
  59. entered by pressing on 'COUNT'. At least one word should be taken
  60. from the token list in order to make a password a valid password.
  61. If not, the programme will refuse to accept the password. After
  62. you have pressed the 'Change' button your signature will be coded
  63. and stored on disc. From then on you will be prompted to enter a
  64. password each time you run  !Signature. This password is checked
  65. against the known public keys. After that it will be used
  66. together with the information on disk to sign any messages you
  67. drag into the programme. 
  68.  
  69. Be sure you remember your password as there is no way of
  70. recovering it, the 'private file', the password and at least one
  71. public key are needed to sign a message. If any of these gets
  72. missing there is no way of recovering it. You need both public
  73. keys to check the signature of someone else.
  74.  
  75. After you have ran 'Maker', to create your signature, and
  76. !Signature, to enter your personal password, and you have
  77. distributed the 'public' key-file to your friends, you are ready
  78. to go....
  79.  
  80. The RSA Public key crypto system...
  81.  
  82. In 1978 Rivest, Shamir and Adleman published a scientific paper
  83. which, in one brilliant stroke, made all problems with secret
  84. keys, reliable messengers and authorized channels history. They
  85. devized an asymetric coding scheme utilizing a set of three keys.
  86. One of these keys is a secret master key, the two other keys are
  87. known as the public keys. The scheme is called asymtric because
  88. coding and decoding is ruled by different keys. Depending on the
  89. way you use them you can either 'code' messages with the public
  90. key which can only be decoded by the secret key or you can
  91. de-code messages with the public key which can only be coded by
  92. the secret key. This last option is used in this Signature
  93. application. 
  94.  
  95. Because you 'cannot' reconstruct the secret key out of the public
  96. key this system does not rely on complicated exchanges of secret
  97. keys and passwords. This makes it possible for someone to
  98. distribute his public keys. The 'cannot' verb should not be taken
  99. too seriously, it is possible to do this reconstruction at the
  100. expense of an immense amounth of computer power. The amounth of
  101. power required relies on the lenght of the key. Signature can
  102. cope with long keys, up to 300 decimal digits. The last 'hack'
  103. reported on the RSA scheme was done by Manasse and Lemstra in
  104. 1990. Using massive parallel computer power they managed to break
  105. one individual signature of lenght 107. In the appendix you can
  106. find a short explanation of the RSA system, the way it works and
  107. how it can be broken. 
  108.  
  109. Brute force code breaking however is not a serious risk. Using
  110. something commenly known as 'human-engineering' one could fool
  111. people far more easier and cheaper. The famous example is of
  112. someone calling up and saying 'hello, this is your friendly bank
  113. manager speaking, we are having problems with our computer, and
  114. something is happening to your bank account. What is your
  115. Personal Identity Code ?' Using a 100 digits or more will
  116. certainly ensure that the 'technical side' of signing messages is
  117. dealt with and that the 'weakest' link must be found on the 
  118. organizational/human half of the story.
  119.  
  120. The signing procedure
  121.  
  122. This procedure consists of three steps; Checksum creation, Coding
  123. and adding the signature to the message. The first step creates a
  124. unique number which is dependent on every single character in the
  125. message. Changing a single character will affect the checksum in
  126. a very unpredictable way. In this 'unpredictable' is the
  127. key-word. Up till version 1.04 use a technique  classified as
  128. polinomal creation. Later version have a few more tricks up their
  129. sleeve. The reason for this is that the checksum is of cource
  130. shorter than the text. So there must be quite a number of
  131. different messages all with the same checksum. This means that in
  132. theory you could change a message and still have the same
  133. checksum. This would not be detected by the system. However the
  134. lenght of this checksum is equal to the length of the key.
  135. Because of the fairly 'inpredictable' way in which this checksum
  136. changes it is very hard to generate a message which is both
  137. meaningfull AND which has a  specific checksum. Currently a
  138. length of 39 decimal digits is considered to be safe....
  139. !Signature uses a checksum which has the same length as the
  140. secret key, in the order of 100 digits.
  141.  
  142. This checksum is then coded using your very personal and secret
  143. key. The  resultant chypher code is translated into reable ascii.
  144. This ascii string is added to the message.
  145.  
  146. The receiver removes this string. Next it again calculates the
  147. checksum. Then it 'decodes' the signature using the known public
  148. keys of the sender. This should result in the vaule of the
  149. original checksum. This must match with the newly calculated
  150. checksum. If they do you can savely assume that the message is
  151. NOT altered and that the signature has been created by somone,
  152. the sender, who knew the secret key. As you will notice only
  153. 'public' information is used and created in this process. The
  154. checksum which is calculated is of cource public, because the
  155. receiver may read the message. The information extracted from the
  156. signature is again a checksum, which contains information about
  157. the message to which you already have acces to.
  158.  
  159. Well that is the technical side.... now for the weak spots:
  160.  
  161. ..... the secret key and all the values of the variables used whilst
  162.       creating it must be kept secret. 
  163. ..... the checksum must be long enough and must be so unpredictable
  164.       that it is impossible to create a message given a certain checksum
  165. ..... the communication channel of the public key and messages must
  166.       be safe. If not an attacker could intercept the public key and 
  167.       all messages send to you, send you his own public ke