Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WW9FN-0006I1-RJ for bitcoin-development@lists.sourceforge.net; Fri, 04 Apr 2014 18:53:49 +0000 X-ACL-Warn: Received: from qmta07.westchester.pa.mail.comcast.net ([76.96.62.64]) by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1WW9FM-0006Mv-5B for bitcoin-development@lists.sourceforge.net; Fri, 04 Apr 2014 18:53:49 +0000 Received: from omta22.westchester.pa.mail.comcast.net ([76.96.62.73]) by qmta07.westchester.pa.mail.comcast.net with comcast id ltk31n0051ap0As57utitG; Fri, 04 Apr 2014 18:53:42 +0000 Received: from crushinator.localnet ([IPv6:2601:6:4800:47f:219:d1ff:fe75:dc2f]) by omta22.westchester.pa.mail.comcast.net with comcast id luth1n00n4VnV2P3iuti9S; Fri, 04 Apr 2014 18:53:42 +0000 From: Matt Whitlock To: Gregory Maxwell Date: Fri, 04 Apr 2014 14:53:41 -0400 Message-ID: <3723626.oQyno8ZOTj@crushinator> User-Agent: KMail/4.12.4 (Linux/3.12.13-gentoo; KDE/4.12.4; x86_64; ; ) In-Reply-To: References: <60732286.zdbbI6td0e@crushinator> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Score: 4.0 (++++) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 4.0 HK_SCAM_N2 BODY: HK_SCAM_N2 -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [76.96.62.64 listed in list.dnswl.org] 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: 1WW9FM-0006Mv-5B Cc: bitcoin-development Subject: Re: [Bitcoin-development] Presenting a BIP for Shamir's Secret Sharing of Bitcoin private keys 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: Fri, 04 Apr 2014 18:53:50 -0000 On Friday, 4 April 2014, at 10:51 am, Gregory Maxwell wrote: > On Fri, Apr 4, 2014 at 10:16 AM, Matt Whitlock wrote: > > Honestly, that sounds a lot more complicated than what I have now. I made my current implementation because I just wanted something simple that would let me divide a private key into shares for purposes of dissemination to my next of kin et al. > > I suggest you go look at some of the other secret sharing > implementations that use GF(2^8), they end up just being a couple of > dozen lines of code. Pretty simple stuff, and they work efficiently > for all sizes of data, there are implementations in a multitude of > languages. There are a whole bunch of these. Okay, I will. > > Do you have a use case in mind that would benefit from byte-wise operations rather than big-integer operations? I mean, I guess if you were trying to implement this BIP on a PIC microcontroller, it might be nice to process the secret in smaller bites. (No pun intended.) But I get this feeling that you're only pushing me away from the present incarnation of my proposal because you think it's too similar (but not quite similar enough) to a threshold ECDSA key scheme. > > It lets you efficiently scale to any size data being encoded without > extra overhead or having additional primes. It can be compactly > implemented in Javascript (there are several implementations you can > find if you google), it shouldn't be burdensome to implement on a > device like a trezor (much less a real microcontroller). Those are fair points. > And yea, sure, it's distinct from the implementation you'd use for > threshold signing. A threshold singing one would lack the size agility > or the easy of implementation on limited devices. So I do think that > if there is to be two it would be good to gain the advantages that > can't be achieved in an threshold ECDSA compatible approach. I agree. I'll look into secret sharing in GF(2^8), but it may take me a few days.