From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WMNt5-0000B0-5D for bitcoin-development@lists.sourceforge.net; Sat, 08 Mar 2014 20:30:27 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.216.169 as permitted sender) client-ip=209.85.216.169; envelope-from=etotheipi@gmail.com; helo=mail-qc0-f169.google.com; Received: from mail-qc0-f169.google.com ([209.85.216.169]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WMNt4-0005aO-5J for bitcoin-development@lists.sourceforge.net; Sat, 08 Mar 2014 20:30:27 +0000 Received: by mail-qc0-f169.google.com with SMTP id i17so6258635qcy.0 for ; Sat, 08 Mar 2014 12:30:20 -0800 (PST) X-Received: by 10.140.39.212 with SMTP id v78mr28826094qgv.77.1394310620737; Sat, 08 Mar 2014 12:30:20 -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 i14sm42034671qaj.11.2014.03.08.12.30.20 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 08 Mar 2014 12:30:20 -0800 (PST) Message-ID: <531B7DDB.30507@gmail.com> Date: Sat, 08 Mar 2014 15:30:19 -0500 From: Alan Reiner 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: <531AD080.40501@gmail.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/alternative; boundary="------------070309090209070207070707" 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: 1WMNt4-0005aO-5J 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Mar 2014 20:30:27 -0000 This is a multi-part message in MIME format. --------------070309090209070207070707 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 timing 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 :) And why we always recommend sticking to well-known, well-studied operations. -Alan On 03/08/2014 03:51 AM, Edmund Edgar wrote: > On 8 March 2014 17:10, Alan Reiner > wrote: > > > I create a new keypair, with which I know (it can > be any arbitrary key pair). But I don't give you , I give > you = minus (which I can do because I've > seen before doing this). > > Sure, I don't know the private key for , but it doesn't > matter... because what > > + = (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 > 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 --------------070309090209070207070707 Content-Type: text/html; 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 timing 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 :)  And why we always recommend sticking to well-known, well-studied operations.

-Alan


On 03/08/2014 03:51 AM, Edmund Edgar wrote:
On 8 March 2014 17:10, Alan Reiner <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

Reality Keys
@realitykeys


------------------------------------------------------------------------------
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

--------------070309090209070207070707--