<oembed><type>rich</type><version>1.0</version><author_name>npub17qxssk9sj2r7jswvh3y32e7vwz7mcckhz33gk9nurdmw0lhsfkgswupwet</author_name><author_url>https://nostr.ae/npub17qxssk9sj2r7jswvh3y32e7vwz7mcckhz33gk9nurdmw0lhsfkgswupwet</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-04-04&#xA;📝 Original message:On Friday, 4 April 2014, at 10:08 am, Gregory Maxwell wrote:&#xA;&gt; On Fri, Apr 4, 2014 at 9:36 AM, Matt Whitlock &lt;bip at mattwhitlock.name&gt; wrote:&#xA;&gt; &gt; Are you proposing to switch from prime fields to a binary field? Because if you&#39;re going to &#34;break up&#34; a secret into little pieces, you can&#39;t assume that every piece of the secret will be strictly less than some 8-bit prime modulus. And if you&#39;re going to do a base conversion, then you have to do arbitrary-precision integer math anyway, so I don&#39;t see that the small field really saves you any code.&#xA;&gt; &#xA;&gt; Yes, I&#39;m proposing using the binary extension field of GF(2^8).  There&#xA;&gt; are many secret sharing and data integrity applications available&#xA;&gt; already operating over GF(2^8) so you can go compare implementation&#xA;&gt; approaches without having to try them our yourself. Obviously anything&#xA;&gt; efficiently encoded as bytes will efficiently encode over GF(2^8).&#xA;&#xA;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.&#xA;&#xA;&gt; &gt; Weren&#39;t you just clamoring for implementation *simplicity* in your previous paragraph? :)&#xA;&gt; &#xA;&gt; I do think there is a material difference in complexity that comes in&#xA;&gt; layers rather than at a single point. It&#39;s much easier to implement a&#xA;&gt; complex thing that has many individually testable parts then a single&#xA;&gt; complex part. (Implementing arithmetic mod some huge P is quite a bit&#xA;&gt; of work unless you&#39;re using some very high level language with&#xA;&gt; integrated bignums— and are comfortable hoping that their bignums are&#xA;&gt; sufficiently consistent with the spec).&#xA;&#xA;I already have a fairly polished implementation of my BIP, and it&#39;s not written in a &#34;very high-level language&#34;; it&#39;s C++, and the parts that do the big-integer arithmetic are basically C. I&#39;m using the GMP library: very straightforward, very reliable, very fast.&#xA;&#xA;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&#39;re only pushing me away from the present incarnation of my proposal because you think it&#39;s too similar (but not quite similar enough) to a threshold ECDSA key scheme.</html></oembed>