<oembed><type>rich</type><version>1.0</version><author_name>npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_name><author_url>https://nostr.ae/npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2018-01-08&#xA;📝 Original message:On Sun, Jan 7, 2018 at 3:16 PM, Pavol Rusnak via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; On 05/01/18 14:58, nullius via bitcoin-dev wrote:&#xA;&gt; I am currently drafting a new standard[1] which will allow also Shamir&#xA;&gt; Secret Scheme Splitting and there we disallow usage of a custom wordlist&#xA;&gt; in order to eradicate this mess. Will try to push this as BIP too once&#xA;&gt; we get it to the point we are OK with the contents.&#xA;&gt;&#xA;&gt; https://github.com/satoshilabs/slips/blob/master/slip-0039.md&#xA;&#xA;This specification forces the key being used through a one way&#xA;function, -- so you cannot take a pre-existing key and encode it with&#xA;this scheme.  The KDF it specifies is unconfigurable and fairly weak&#xA;(20000xhmac-sha2-- which can be cracked at about 0.7M passwords a&#xA;second on a single motherboard GPU cracker).  The construction also&#xA;will silently result in the user getting a different private key if&#xA;they enter the wrong passphrase-- which could lead to funds loss. It&#xA;is again, unversioned-- so it kinda of seems like it is intentionally&#xA;constructed in a way that will prevent interoperable use, since the&#xA;lack of versioning was a primary complaint from other perspective&#xA;users.  Of course, it fine if you want to make a trezor only thing,&#xA;but why bother BIPing something that was not intended for&#xA;interoperability?  Even for a single vendor spec the lack of&#xA;versioning seems to make things harder to support new key-related&#xA;features such as segwit.&#xA;&#xA;The 16-bit &#34;checksum&#34; based on sha2 seems pretty poor since basing&#xA;small checksums on a cryptographic hash results in a fairly poor&#xA;checksum that is surprisingly likely to accept an errored string. Your&#xA;wordlist is 10 bits and you have much less than 1023*10 bits of input,&#xA;so you could easily have a 20 bit code (two words) which guaranteed&#xA;that up to two errored words would always be detected, and probably&#xA;could choose one which catches three words much more often 1:2^20&#xA;(sipa&#39;s crc tools can help find codes like this).&#xA;&#xA;The metadata seems to make fairly little affordance to help users&#xA;avoid accidentally mixing shares from distinct sharings of the same&#xA;key. Is it the idea that this is the only likely cause of a checksum&#xA;error? (1:2^16 chance of silently returning the wrong key seems kinda&#xA;bad). -- I&#39;m not sure much could be done here, though, since&#xA;additional payload is precious.&#xA;&#xA;As an aside, your specification might want to give some better advice&#xA;about the SSS since my experience virtually everyone gets it wrong in&#xA;ways that degrade or destroy its properties e.g. many fail to generate&#xA;the additional coefficients of the polynominal randomly which results&#xA;in insecurity (see armory for an example).   Oh, also, I believe it is&#xA;normally refereed to as &#34;SSS&#34; (three S)-- four S is the name of a&#xA;linux program for secret sharing.&#xA;&#xA;I&#39;m happy to see that there is no obvious way to abuse this one as a&#xA;brainwallet scheme!</html></oembed>