<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1976331921;
        mso-list-template-ids:-530649006;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hello All,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I&#8217;m working on SSL / TLS implementation in Squeak and
I need some help understanding RSA.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>It appears that our RSA implementation has an
encodingParameter.&nbsp; I see what it&#8217;s doing but now I&#8217;m confused
and was hoping that someone could explain this to me.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I see that the parameter is needs to be the same for
encrypting and decrypting, or it doesn&#8217;t work.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>My question is how is this stored on a certificate?&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Here is the MS Export format&nbsp; <a
href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/private_key_blobs.asp">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/private_key_blobs.asp</a>
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<table class=MsoNormalTable border=0 cellpadding=0 width="90%" bgcolor="#999999"
 style='width:90.0%;background:#999999'>
 <tr>
  <td valign=bottom bgcolor="#CCCCCC" style='background:#CCCCCC;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>Field<font
  color=black><span style='color:black'><o:p></o:p></span></font></span></font></b></p>
  </td>
  <td valign=bottom bgcolor="#CCCCCC" style='background:#CCCCCC;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>Description<font
  color=black><span style='color:black'><o:p></o:p></span></font></span></font></b></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>blobheader</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>A <b><span style='font-weight:
  bold'>BLOBHEADER</span></b> structure as described in a previous section. The
  <b><span style='font-weight:bold'>bType</span></b> field must always have a
  value of PRIVATEKEYBLOB.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>rsapubkey</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>A <a
  href="http://msdn.microsoft.com/library/en-us/seccrypto/security/rsapubkey.asp"><b><span
  style='font-weight:bold'>RSAPUBKEY</span></b></a> structure as described in <a
  href="http://msdn.microsoft.com/library/en-us/seccrypto/security/public_key_blobs.asp">Public
  Key BLOBs</a>. The <b><span style='font-weight:bold'>magic</span></b> field must
  always have a value of 0x32415352 (&quot;RSA2&quot;).<font color=black><span
  style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>modulus</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>The modulus. This has a value of
  &quot;prime1 * prime2&quot; and is often known as &quot;n&quot;.<font
  color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>prime1</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Prime number 1, often known as
  &quot;p&quot;.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>prime2</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Prime number 2, often known as
  &quot;q&quot;.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>exponent1</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Exponent 1. This has a numeric
  value of &quot;d mod (p - 1)&quot;.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>exponent2</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Exponent 2. This has a numeric
  value of &quot;d mod (q - 1)&quot;.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>coefficient</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Coefficient. This has a numeric
  value of &quot;(inverse of q) mod p&quot;.<font color=black><span
  style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
 <tr>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><b><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana;font-weight:bold'>privateExponent</span></font></b><font
  size=1 color=black face=Verdana><span style='font-size:8.5pt;font-family:
  Verdana;color:black'><o:p></o:p></span></font></p>
  </td>
  <td valign=top bgcolor=white style='border-top:none;border-left:none;
  border-bottom:solid #CCCCCC 1.0pt;border-right:solid #CCCCCC 1.0pt;
  background:white;padding:3.0pt 6.0pt 3.0pt 6.0pt'>
  <p class=MsoNormal style='mso-margin-top-alt:.1in;margin-right:0in;
  margin-bottom:.05in;margin-left:0in'><font size=1 face=Verdana><span
  style='font-size:8.5pt;font-family:Verdana'>Private exponent, often known as
  &quot;d&quot;.<font color=black><span style='color:black'><o:p></o:p></span></font></span></font></p>
  </td>
 </tr>
</table>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p style='background:#F8FCFF'><font size=2 face=Arial><span style='font-size:
10.0pt;font-family:Arial'>I also noticed that : <a
href="http://en.wikipedia.org/wiki/RSA">http://en.wikipedia.org/wiki/RSA</a> <o:p></o:p></span></font></p>

<p style='background:#F8FCFF'><font size=3 face="Times New Roman"><span
lang=EN style='font-size:12.0pt'>For reasons of efficiency sometimes a
different form of the <b><span style='font-weight:bold'>private key</span></b>
(including <b><span style='font-weight:bold'>CRT parameters</span></b>) is
stored:<o:p></o:p></span></font></p>

<ul type=disc lastCheckbox=null>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1;background:#F8FCFF'><i><font size=3
     face="Times New Roman"><span lang=EN style='font-size:12.0pt;font-style:
     italic'>p</span></font></i><span lang=EN> and <i><span style='font-style:
     italic'>q</span></i>, the primes from the key generation, <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1;background:#F8FCFF'><i><font size=3
     face="Times New Roman"><span lang=EN style='font-size:12.0pt;font-style:
     italic'>d mod (p-1)</span></font></i><span lang=EN> and <i><span
     style='font-style:italic'>d mod (q-1)</span></i> (often known as <i><span
     style='font-style:italic'>dmp1</span></i> and <i><span style='font-style:
     italic'>dmq1</span></i>) <o:p></o:p></span></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1;background:#F8FCFF'><i><font size=3
     face="Times New Roman"><span lang=EN style='font-size:12.0pt;font-style:
     italic'>(1/q) mod p</span></font></i><span lang=EN> (often known as <i><span
     style='font-style:italic'>iqmp</span></i>) <o:p></o:p></span></li>
</ul>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN style='font-size:10.0pt;
font-family:Arial'>Does this mean that the parameter is the coefficient?&nbsp; Is
the CRT parameter the encoding parameter? &nbsp;Any help would be very much appreciated,
I&#8217;m having trouble understanding the differences, and how the parameter
is supposed to be used. <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN style='font-size:10.0pt;
font-family:Arial'>Thanks!<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN style='font-size:10.0pt;
font-family:Arial'>Ron Teitelbaum<o:p></o:p></span></font></p>

</div>

</body>

</html>