summaryrefslogtreecommitdiff
path: root/e1/1d101b34eeca617088b5e511c0ab1e1ec92e02
blob: badd9c134a2151aa8332f45faba796bd1b175f0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
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 <etotheipi@gmail.com>) 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 <bitcoin-development@lists.sourceforge.net>;
	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 <bitcoin-development@lists.sourceforge.net>
	(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 <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>
In-Reply-To: <CA+su7OWx9jrgUJrOH=tg1968vr1G1w7yXjgaRSyYJ0zRBjwpqg@mail.gmail.com>
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: <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 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 <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


--------------070309090209070207070707
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 timing 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 :)&nbsp; And why we always recommend
    sticking to well-known, well-studied operations.<br>
    <br>
    -Alan<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 03/08/2014 03:51 AM, 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 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>

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