<oembed><type>rich</type><version>1.0</version><author_name>npub1glk4wtcgyl40v0zr2sz4vsxg5c00zx3ffrf3amr362pgx3fcd39q8l5ays</author_name><author_url>https://nostr.ae/npub1glk4wtcgyl40v0zr2sz4vsxg5c00zx3ffrf3amr362pgx3fcd39q8l5ays</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2019-02-02&#xA;📝 Original message:More of a shower-thought than a BIP, but it&#39;s something I&#39;ve long wish (hardware) wallets supported:&#xA;&#xA;---&#xA;&#xA;Abstract: Bitcoin Wallets generally ask us to trust their seed generation is both correct and honest. Especially for hardware and air gapped wallets, this is both a big ask and more or less impossible to practically verify. So we propose a bring-your-own-entropy approach in which the wallet can function completely deterministically. Our method is based on shuffling physical deck of cards. There are 52!  (2^219.88) different shuffle order, which is a big enough space to be secure against collision and brute force attacks. Conveniently a shuffled deck of cards also can serve as a physical backup which is easy to hide in plain sight with great plausible deniability.&#xA;&#xA;Representation:&#xA;&#xA;Each card has a suit which can be represented by one of SCHD (spades, clubs, hearts, diamonds) and a value of one of 23456789TJQKA where the numbers are obvious and (T=ten, J=jack, Q=queen, K=king, A=ace) so &#34;7 of clubs&#34; would be represented by &#34;7C&#34; and a &#34;Ten of Hearts&#34; would be represented with &#34;TH&#34;.&#xA;&#xA;An deck of cards looks like:&#xA;&#xA;2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS,2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC,2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH,2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD&#xA;&#xA;And can be verified by making sure that every one of the 52 cards appears exactly once.&#xA;&#xA;Step 1.  Shuffle your deck of cards&#xA;&#xA;This is a lot harder than you&#39;d imagine, so do it quite a few times, with quite a few different techniques. It is advised to do at *least* 7 good quality shuffles to achieve a true cryptographically secure shuffle. Do not look at the cards while shuffling (to avoid biasing) and don&#39;t be afraid to also shuffle them face down on the table. Err on the side over over-shuffling.&#xA;See also: https://en.wikipedia.org/wiki/Shuffling#Sufficient_number_of_shuffles&#xA;&#xA;Step 2. Write out the order (comma separated)&#xA;&#xA;And example shuffle is:&#xA;&#xA;5C,7C,4C,AS,3C,KC,AD,QS,7S,2S,5H,4D,AC,9C,3H,6H,9D,4S,8D,TD,2H,7H,JD,QD,2D,JC,KH,9S,9H,4H,6C,7D,3D,6S,2C,AH,QC,TH,TC,JS,6D,8H,8C,JH,8S,KD,QH,5D,5S,KS,TS,3S&#xA;&#xA;Step 3.  Sha512 it to create a seed&#xA;&#xA;In the example above you should get:&#xA;dc04e4c331b1bd347581d4361841335fe0b090d39dfe5e1c258c547255cd5cf1545e2387d8a7c4dc53e03cacca049a414a9269a2ac6954429955476c56038498&#xA;&#xA;Step 4. Interpret it&#xA;&#xA;e.g. For bip32 you would treat the first 32 bytes as the private key, and the second 32 bytes as as the extension code.&#xA;&#xA;-Ryan&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20190202/5489fb15/attachment.html&gt;</html></oembed>