Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
	helo=mx.sourceforge.net)
	by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <etotheipi@gmail.com>) id 1WMQQg-00045q-Uh
	for bitcoin-development@lists.sourceforge.net;
	Sat, 08 Mar 2014 23:13:18 +0000
Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.216.43 as permitted sender)
	client-ip=209.85.216.43; envelope-from=etotheipi@gmail.com;
	helo=mail-qa0-f43.google.com; 
Received: from mail-qa0-f43.google.com ([209.85.216.43])
	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1WMQQf-0001j0-75
	for bitcoin-development@lists.sourceforge.net;
	Sat, 08 Mar 2014 23:13:18 +0000
Received: by mail-qa0-f43.google.com with SMTP id j15so5505538qaq.2
	for <bitcoin-development@lists.sourceforge.net>;
	Sat, 08 Mar 2014 15:13:11 -0800 (PST)
X-Received: by 10.140.51.170 with SMTP id u39mr29739594qga.69.1394320391771;
	Sat, 08 Mar 2014 15:13:11 -0800 (PST)
Received: from [192.168.1.85] (c-76-111-96-126.hsd1.md.comcast.net.
	[76.111.96.126]) by mx.google.com with ESMTPSA id
	s13sm43103505qag.19.2014.03.08.15.13.10
	for <bitcoin-development@lists.sourceforge.net>
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sat, 08 Mar 2014 15:13:11 -0800 (PST)
Message-ID: <531BA406.4070900@gmail.com>
Date: Sat, 08 Mar 2014 18:13:10 -0500
From: Alan Reiner <etotheipi@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: bitcoin-development@lists.sourceforge.net
References: <CA+su7OUMgeWgkMFAmmMEpW3eN=cvU47MKt51idDrmCWEiCb+VQ@mail.gmail.com>	<531AD080.40501@gmail.com>	<CA+su7OWx9jrgUJrOH=tg1968vr1G1w7yXjgaRSyYJ0zRBjwpqg@mail.gmail.com>
	<531AF2EA.50904@gmail.com>
In-Reply-To: <531AF2EA.50904@gmail.com>
X-Enigmail-Version: 1.6
Content-Type: multipart/alternative;
	boundary="------------000409020903010500080106"
X-Spam-Score: -0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(etotheipi[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1WMQQf-0001j0-75
Subject: Re: [Bitcoin-development] Is this a safe thing to be doing with ECC
 addition? (Oracle protocol)
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Sat, 08 Mar 2014 23:13:19 -0000

This is a multi-part message in MIME format.
--------------000409020903010500080106
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Note that one of the reasons why this is insecure is because EC point
addition is invertible.  EC-scalar multiplication is not, thus why EC
Diffie-Hellman is secure even when this asymmetry exists.

A good cryptosystem doesn't have strange restrictions, like "your public
key can only be public sometimes, but needs to protected like your
private key other times."  If you have to worry about things like that,
you're doing it wrong :)

-Alan


On 03/08/2014 05:37 AM, Joel Kaartinen wrote:
> If both parties insist on seeing a hash of the other party's public
> key before they'll show their own public key, they can be sure that
> the public key is not chosen based on the public key they themselves
> presented.
>
> Although, I have to wonder, why not just use multisig?
>
> - Joel
>
> On 08.03.2014 10:51, Edmund Edgar wrote:
>> On 8 March 2014 17:10, Alan Reiner <etotheipi@gmail.com
>> <mailto:etotheipi@gmail.com>> wrote:
>>  
>>
>>     I create a new keypair, <c_pub> with <c_priv> which I know (it
>>     can be any arbitrary key pair).  But I don't give you <c_pub>, I
>>     give you  <b_pub> = <c_pub> minus <a_pub> (which I can do because
>>     I've seen <a_pub> before doing this). 
>>
>>     Sure, I don't know the private key for <b_pub>, but it doesn't
>>     matter... because what
>>
>>     <b_pub> + <a_pub> = <c_pub> (mine)
>>
>>     You have no way to detect this condition, because you don't know
>>     what c_pub/c_priv I created, so you can only detect this after
>>     it's too late (after I abuse the private key)
>>
>>
>> Thanks Alan and Forrest, that makes sense. So to salvage the
>> situation in the original case, we have to make sure the parties
>> exchange their public keys first, before they're allowed to see the
>> public keys they'll be combining them with. 
>>
>> -- 
>> -- 
>> Edmund Edgar
>> Founder, Social Minds Inc (KK)
>> Twitter: @edmundedgar
>> Linked In: edmundedgar
>> Skype: edmundedgar
>> http://www.socialminds.jp
>>
>> Reality Keys
>> @realitykeys
>> ed@realitykeys.com <mailto:ed@realitykeys.com>
>> https://www.realitykeys.com
>>
>>
>> ------------------------------------------------------------------------------
>> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
>> With Perforce, you get hassle-free workflows. Merge that actually works. 
>> Faster operations. Version large binaries.  Built-in WAN optimization and the
>> freedom to use Git, Perforce or both. Make the move to Perforce.
>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>>
>>
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
>
> ------------------------------------------------------------------------------
> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works. 
> Faster operations. Version large binaries.  Built-in WAN optimization and the
> freedom to use Git, Perforce or both. Make the move to Perforce.
> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--------------000409020903010500080106
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Note that one of the reasons why this is insecure is because EC
    point addition is invertible.&nbsp; EC-scalar multiplication is not, thus
    why EC Diffie-Hellman is secure even when this asymmetry exists.<br>
    <br>
    A good cryptosystem doesn't have strange restrictions, like "your
    public key can only be public sometimes, but needs to protected like
    your private key other times."&nbsp; If you have to worry about things
    like that, you're doing it wrong :)<br>
    <br>
    -Alan<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 03/08/2014 05:37 AM, Joel Kaartinen
      wrote:<br>
    </div>
    <blockquote cite="mid:531AF2EA.50904@gmail.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">If both parties insist on seeing a
        hash of the other party's public key before they'll show their
        own public key, they can be sure that the public key is not
        chosen based on the public key they themselves presented.<br>
        <br>
        Although, I have to wonder, why not just use multisig?<br>
        <br>
        - Joel<br>
        <br>
        On 08.03.2014 10:51, Edmund Edgar wrote:<br>
      </div>
      <blockquote
cite="mid:CA+su7OWx9jrgUJrOH=tg1968vr1G1w7yXjgaRSyYJ0zRBjwpqg@mail.gmail.com"
        type="cite">
        <div dir="ltr">
          <div class="gmail_extra">
            <div class="gmail_quote">On 8 March 2014 17:10, Alan Reiner
              <span dir="ltr">&lt;<a moz-do-not-send="true"
                  href="mailto:etotheipi@gmail.com" target="_blank">etotheipi@gmail.com</a>&gt;</span>
              wrote:<br>
              <div> &nbsp;</div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div bgcolor="#FFFFFF" text="#000000"> I create a new
                  keypair, &lt;c_pub&gt; with &lt;c_priv&gt; which I
                  know (it can be any arbitrary key pair).&nbsp; But I don't
                  give you &lt;c_pub&gt;, I give you&nbsp; &lt;b_pub&gt; =
                  &lt;c_pub&gt; minus &lt;a_pub&gt; (which I can do
                  because I've seen &lt;a_pub&gt; before doing this).&nbsp; <br>
                  <br>
                  Sure, I don't know the private key for &lt;b_pub&gt;,
                  but it doesn't matter... because what <br>
                  <br>
                  &lt;b_pub&gt; + &lt;a_pub&gt; = &lt;c_pub&gt; (mine)<br>
                  <br>
                  You have no way to detect this condition, because you
                  don't know what c_pub/c_priv I created, so you can
                  only detect this after it's too late (after I abuse
                  the private key)</div>
              </blockquote>
              <div><br>
              </div>
              <div>Thanks Alan and Forrest, that makes sense. So to
                salvage the situation in the original case, we have to
                make sure the parties exchange their public keys first,
                before they're allowed to see the public keys they'll be
                combining them with.&nbsp;</div>
            </div>
            <div><br>
            </div>
            -- <br>
            <div dir="ltr">
              <div>--&nbsp;</div>
              <div>Edmund Edgar</div>
              <div>Founder, Social Minds Inc (KK)</div>
              <div>Twitter: @edmundedgar</div>
              <div>Linked In: edmundedgar</div>
              <div>Skype: edmundedgar</div>
              <div><a moz-do-not-send="true"
                  href="http://www.socialminds.jp" target="_blank">http://www.socialminds.jp</a></div>
              <div><br>
              </div>
              <div>Reality Keys</div>
              <div>@realitykeys</div>
              <div><a moz-do-not-send="true"
                  href="mailto:ed@realitykeys.com" target="_blank">ed@realitykeys.com</a></div>
              <div><a moz-do-not-send="true"
                  href="https://www.realitykeys.com" target="_blank">https://www.realitykeys.com</a></div>
            </div>
          </div>
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion &amp; Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://pubads.g.doubleclick.net/gampad/clk?id=122218951&amp;iu=/4140/ostg.clktrk">http://pubads.g.doubleclick.net/gampad/clk?id=122218951&amp;iu=/4140/ostg.clktrk</a></pre>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
Bitcoin-development mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-development@lists.sourceforge.net</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bitcoin-development">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion &amp; Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
<a class="moz-txt-link-freetext" href="http://pubads.g.doubleclick.net/gampad/clk?id=122218951&amp;iu=/4140/ostg.clktrk">http://pubads.g.doubleclick.net/gampad/clk?id=122218951&amp;iu=/4140/ostg.clktrk</a></pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Bitcoin-development mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-development@lists.sourceforge.net</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/bitcoin-development">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------000409020903010500080106--