This is probably a stupid question, but if DH was profoundly less secure than expected, and a passive attacker Eve could therefore calculate the shared secret of Bob and Alice, how would it help that Bob and Alice have another way to verify that they have the same secret?
<br><br>Thanks,<br>CLAY<br><br><div><span class="gmail_quote">On 3/23/06, <b class="gmail_sendername">Ian Goldberg</b> <<a href="mailto:ian@cypherpunks.ca">ian@cypherpunks.ca</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Mar 22, 2006 at 11:30:08PM -0800, CLAY SHENTRUP wrote:<br>> ><br>> > > I should read the source, but it's easier just to ask...  Is OTR just<br>> > > using a single DH group? Does the protocol have support for multiple
<br>> > > groups?  Group sharing/agreement?<br>> ><br>> > Yes, a single DH group in v2.  We can add more groups easily enough,<br>> > though, if we need to in the future.<br>><br>><br>> Does this mean multiple DH key agreements between duos, or some  way of
<br>> having a group shared secret that every member participates in?<br><br>We're still talking about 2-person conversations here.<br><br>> > We've talked about this before, and in fact there's a much cooler way to
<br>> > do this, which I totally have plans to implement.  It's called the<br>> > "socialist millionaire's protocol", and it lets two people determine if<br>> > they both know the same secret, while revealing no information about
<br>> > each other's secret if they're not the same.  The way that it works is<br>> > that both sides end up computing r^(sA-sB), where sA and sB are Alice<br>> > and Bob's secrets (which don't have to have high entropy), and r is a
<br>> > random number neither side learns.  So if the secrets are the same, the<br>> > value of this expression is 1, and if they're different, it's a random<br>> > number.<br>><br>><br>> Can you briefly describe how this happens?  How is sA-sB calculated by
<br>> either party if he can't know the other party's secret?  Who chooses what r<br>> is...is it the xor of a random value generated by each party.<br><br>sA-sB is of course never calculated by either party (since then that
<br>party would be able to calculate the other's secret).  r is calculated<br>in an only slightly more complicated way than you suggest; because we're<br>dealing with exponents and group operations and such, we use<br>r = g_2^{x_a x_b} where g_2 is a (known) generator, and x_a and x_b are
<br>random values chosen by the two parties.  [Note that this looks like a<br>DH computation, but the important difference is that what would be the<br>"DH public key" g_2^{x_a} is *not* revealed to the other side.]
<br><br>For all the details, see Boudot, Schoenmakers, Traor\'e.  "A Fair and<br>Efficient Solution to the Socialist Millionaires' Problem".<br><a href="http://www.win.tue.nl/~berry/papers/dam.pdf">http://www.win.tue.nl/~berry/papers/dam.pdf
</a><br><br>   - Ian<br><br><br>_______________________________________________<br>OTR-users mailing list<br><a href="mailto:OTR-users@lists.cypherpunks.ca">OTR-users@lists.cypherpunks.ca</a><br><a href="http://lists.cypherpunks.ca/mailman/listinfo/otr-users">
http://lists.cypherpunks.ca/mailman/listinfo/otr-users</a><br></blockquote></div><br><br clear="all"><br>-- <br>(05:25:41 PM) NATE: drinking here.<br>(05:27:26 PM) CLAY: drinking with whom?<br>(05:27:32 PM) NATE: you man.