public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Matt Whitlock <bip@mattwhitlock•name>
To: Gregory Maxwell <gmaxwell@gmail•com>
Cc: bitcoin-development <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Presenting a BIP for Shamir's Secret Sharing of Bitcoin private keys
Date: Fri, 04 Apr 2014 12:36:29 -0400	[thread overview]
Message-ID: <1888881.3JyvKYNUFa@crushinator> (raw)
In-Reply-To: <CAAS2fgTD7D2SiEOcNkq+MfOPnPJ-D7dOFwO0umwTF0WGQd5d3w@mail.gmail.com>

On Friday, 4 April 2014, at 9:25 am, Gregory Maxwell wrote:
> On Fri, Apr 4, 2014 at 9:05 AM, Matt Whitlock <bip@mattwhitlock•name> wrote:
> > On Friday, 4 April 2014, at 7:14 am, Gregory Maxwell wrote:
> >> I still repeat my concern that any private key secret sharing scheme
> >> really ought to be compatible with threshold ECDSA, otherwise we're
> >> just going to have another redundant specification.
> >
> > I have that concern too, but then how can we support secrets of sizes other than 256 bits? A likely use case for this BIP (even more likely than using it to decompose Bitcoin private keys) is using it to decompose BIP32 master seeds, which can be 512 bits in size. We can't use secp256k1_n as the modulus there.
> 
> Well, if you're not doing anything homorphic with the result the
> computation should probably be over a small field (for computational
> efficiency and implementation simplicity reasons) and the data split
> up, this also makes it easier to deal with many different data sizes,
> since the various sizes will more efficiently divide into the small
> field.   The field only needs to be large enough to handle the number
> of distinct shares you wish to issue, so even an 8 bit field would
> probably be adequate (and yields some very simple table based
> implementations).

Are you proposing to switch from prime fields to a binary field? Because if you're going to "break up" a secret into little pieces, you can't assume that every piece of the secret will be strictly less than some 8-bit prime modulus. And if you're going to do a base conversion, then you have to do arbitrary-precision integer math anyway, so I don't see that the small field really saves you any code.

> If that route is taken, rather than encoding BIP32 master keys, it
> would probably be prudent to encode the encryption optional version
> https://bitcointalk.org/index.php?topic=258678.0 ... and if we're
> talking about a new armored private key format then perhaps we should
> be talking about Mark Friedenbach's error correcting capable scheme:
> https://gist.github.com/maaku/8996338#file-bip-ecc32-mediawiki
> (though it would be nicer if we could find a decoding scheme that
> supported list decoding without increasing the complexity of a basic
> implementation, since an advanced recovery tool could make good use of
> a list decode)

Weren't you just clamoring for implementation *simplicity* in your previous paragraph? :)



  reply	other threads:[~2014-04-04 16:36 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03 12:41 Nikita Schmidt
2014-04-03 21:42 ` Matt Whitlock
2014-04-04 13:51   ` Nikita Schmidt
2014-04-04 14:14     ` Gregory Maxwell
2014-04-04 16:05       ` Matt Whitlock
2014-04-04 16:25         ` Gregory Maxwell
2014-04-04 16:36           ` Matt Whitlock [this message]
2014-04-04 17:08             ` Gregory Maxwell
2014-04-04 17:16               ` Matt Whitlock
2014-04-04 17:51                 ` Gregory Maxwell
2014-04-04 18:53                   ` Matt Whitlock
2014-04-04 16:03     ` Matt Whitlock
2014-04-08  0:33       ` Nikita Schmidt
2014-04-08  0:38         ` Gregory Maxwell
2014-04-08  1:46           ` Matt Whitlock
2014-04-08  2:07             ` Gregory Maxwell
2014-04-08 11:52               ` Matt Whitlock
2014-04-10 22:31                 ` Nikita Schmidt
2014-04-22  8:06                   ` Jan Møller
2014-04-22  8:11                     ` Matt Whitlock
2014-04-22  8:27                       ` Jan Møller
2014-04-22  8:29                         ` Matt Whitlock
2014-04-22  8:39                           ` Jan Møller
2014-04-22  8:43                             ` Matt Whitlock
2014-04-22  8:51                               ` Jan Møller
2014-04-22  9:13                             ` Matt Whitlock
2014-04-22 11:50                               ` Justin A
2014-04-22  8:35                       ` Matt Whitlock
2014-04-22  8:39                         ` Tamas Blummer
2014-04-22  8:40                           ` Matt Whitlock
2014-04-22  8:43                             ` Tamas Blummer
2014-04-22  8:47                               ` Matt Whitlock
2014-04-22  8:50                                 ` Tamas Blummer
2014-04-22 15:32                           ` Mark Friedenbach
2014-04-22 15:49                             ` Tamas Blummer
2014-04-22 17:03                               ` Mark Friedenbach
2014-04-22 17:07                               ` Jan Møller
2014-04-22 18:29                                 ` Tamas Blummer
2014-04-22 18:46                                   ` Gregory Maxwell
2014-04-23  5:33                                     ` Tamas Blummer
2014-04-23  6:16                                       ` Gregory Maxwell
2014-05-05 19:36                                         ` Nikita Schmidt
2014-05-12 12:09                                           ` Jan Møller
2014-08-14 19:23                                             ` Nikita Schmidt
2014-04-22 13:37                       ` Nikita Schmidt
2014-04-22  8:15                     ` Gregory Maxwell
2014-04-22  8:49                       ` Jan Møller
     [not found] <CACsn0ckScTWG4YxNCscxvtdsmcUkxtR2Gi-rdBs2HCkirPz5rA@mail.gmail.com>
2014-03-29 15:44 ` Matt Whitlock
2014-03-29 16:59   ` Alan Reiner
2014-03-29 17:19     ` Matt Whitlock
2014-03-29 17:52       ` Alan Reiner
2014-03-29 18:00         ` Matt Whitlock
2014-03-29 18:08           ` Alan Reiner
2014-03-29 18:10             ` Matt Whitlock
     [not found]               ` <CAAt2M18j7bGDsKouVw+e4j+FMiJ4vK6-sx+nrkwHyiKLqiH7Jg@mail.gmail.com>
2014-03-29 19:34                 ` Natanael
2014-04-04  2:38               ` Jeff Garzik
2014-03-29 18:16         ` Tamas Blummer
2014-03-29 18:41           ` Alan Reiner
2014-03-29 17:28     ` Roy Badami
2014-03-29 17:42       ` Matt Whitlock
2014-03-29 17:51         ` Roy Badami
2014-03-29 17:28   ` devrandom
     [not found]   ` <1396113933.8809.91.camel@mimiz>
2014-03-29 17:38     ` Matt Whitlock
2014-03-29 17:46       ` Gregory Maxwell
2014-03-29 19:49         ` Tamas Blummer
2014-03-29 17:48       ` devrandom
2014-03-29 17:51         ` Matt Whitlock
2014-03-29 17:56           ` devrandom
  -- strict thread matches above, loose matches on Subject: below --
2014-03-29  8:05 Matt Whitlock
2014-03-29  8:34 ` Tamas Blummer
2014-03-29  8:44 ` Tamas Blummer
2014-03-29  8:51   ` Matt Whitlock
2014-03-29  8:54     ` Matt Whitlock
2014-03-29 16:54   ` Matt Whitlock
2014-03-29 17:37     ` Tamas Blummer
2014-03-29  9:08 ` Chris Beams
2014-03-29  9:31   ` Matt Whitlock
2014-03-29 11:16   ` Matt Whitlock
2014-03-29 11:54     ` Chris Beams
2014-03-29 13:27       ` Jeff Garzik
2014-03-29 13:36         ` Mike Hearn
2014-03-29 13:38           ` Tamas Blummer
2014-03-29 14:10           ` Matt Whitlock
2014-03-29 14:19             ` Jeff Garzik
2014-03-29 14:55               ` Matt Whitlock
2014-03-29 15:04                 ` Mike Hearn
2014-03-29 14:28             ` Watson Ladd
2014-03-29 14:36               ` Gregory Maxwell
2014-03-29 15:01                 ` Matt Whitlock
2014-03-29  9:21 ` Chris Beams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1888881.3JyvKYNUFa@crushinator \
    --to=bip@mattwhitlock$(echo .)name \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=gmaxwell@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox