<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/05/2015 20:10, Salz, Rich wrote:<br>
    </div>
    <blockquote
cite="mid:956488fa72044d4fbd2be123d14dd2ff@ustx2ex-dag1mb4.msg.corp.akamai.com"
      type="cite">
      <pre wrap="">You can't easily have test vectors for DSA signatures since they include a random.  Any test vector would have to include the random, and any API would have to be able to accept the random as part of the "sign" API.  Verification should be okay.


</pre>
    </blockquote>
    <tt><br>
      What Mr. Salz refers to by "Verification should be okay" <br>
      is probably this:<br>
      <br>
      You can have test vectors in the form of known good <br>
      signatures with</tt><tt> </tt><tt>public keys listed in the test
      vector. <br>
      For DSA, those would be the (message, y, r, s)</tt><tt> </tt><tt>quads
      <br>
      mentioned by the OP (y is the public key, (r, s) is the <br>
      signature), depending</tt><tt> </tt><tt>on his class library, it
      might be <br>
      possible to reformat those vectors to the format</tt><tt> </tt><tt>used
      <br>
      by his code for real messages.<br>
      <br>
      The importance of such test vectors is to detect if an <br>
      implementation is accidentally implementing a different <br>
      signature algorithm (such as accidentally appending a 0 <br>
      byte to each message both during signing and <br>
      verification).  This would not be detected by signing <br>
      and verifying sample messages with random parameters.<br>
      <br>
    </tt>
    <pre class="moz-signature" cols="72">Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  <a class="moz-txt-link-freetext" href="http://www.wisemo.com">http://www.wisemo.com</a>
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded </pre>
  </body>
</html>