From: Eric Voskuil <eric@voskuil.org>
To: Bram Cohen <bram@chia.net>,
Bitcoin Protocol Discussion
<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] No Order Mnemonic
Date: Thu, 7 Jul 2022 19:19:43 -0700 [thread overview]
Message-ID: <3D3BFE9C-CFF3-49FF-840F-063B52C69A42@voskuil.org> (raw)
In-Reply-To: <CAHUJnBCHZ7+6B83xDOaSc+EEpVe2x4VzmZUTQ3Z7FhmtMQFbjA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2168 bytes --]
Without a performance requirement there is no reason you can’t store the BIP39 words in any order you want. So it’s certainly possible, just brute force the recovery. If you have less than a second vs. a few days then it’s a different question.
e
> On Jul 7, 2022, at 18:48, Bram Cohen via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
>
> Part of the rules of my challenge is that the 'new' words need to be in the same pool as the 'old' words, so any ordering is okay. Without that requirement it's mathematically very straightforward.
>
>> On Thu, Jul 7, 2022 at 10:52 AM Pavol Rusnak <stick@satoshilabs.com> wrote:
>> There is. Just encode the index of permutation used to scramble the otherwise sorted list. For 12 words you need to store 12! = ~32 bits so 3 words should be enough.
>>
>> Repetitions make this more difficult, though.
>>
>>> On Thu 7. 7. 2022 at 19:41, Bram Cohen via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>>> On Thu, Jul 7, 2022 at 7:43 AM Anton Shevchenko via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>>
>>>> I made a python implementation for a different mnemonic encoding. The encoding requires user to remember words but not the order of those words.
>>>> The code is open (MIT license) at https://github.com/sancoder/noomnem
>>>
>>> Thanks Anton. There's an interesting mathematical question of whether it's possible to make a code like this which always uses the BIP-39 words for the same key as part of its encoding, basically adding a few words as error correction in case the order is lost or confused. If the BIP-39 contains a duplicate you can add an extra word.
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>> --
>> Best Regards / S pozdravom,
>>
>> Pavol "stick" Rusnak
>> Co-Founder, SatoshiLabs
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
[-- Attachment #2: Type: text/html, Size: 3839 bytes --]
next prev parent reply other threads:[~2022-07-08 2:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-07 14:33 [bitcoin-dev] No Order Mnemonic Anton Shevchenko
2022-07-07 17:36 ` Bram Cohen
2022-07-07 17:52 ` Pavol Rusnak
2022-07-07 17:58 ` Anton Shevchenko
2022-07-08 1:47 ` Bram Cohen
2022-07-08 2:19 ` Eric Voskuil [this message]
2022-07-08 4:35 ` vjudeu
2022-07-08 9:12 ` Paul Sztorc
2022-07-08 14:08 ` James MacWhyte
2022-07-09 20:31 ` Zac Greenwood
2022-07-09 22:21 ` James MacWhyte
2022-07-09 23:46 ` Anton Shevchenko
2022-07-11 13:11 ` Erik Aronesty
2022-07-11 13:18 ` Erik Aronesty
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=3D3BFE9C-CFF3-49FF-840F-063B52C69A42@voskuil.org \
--to=eric@voskuil.org \
--cc=bitcoin-dev@lists.linuxfoundation.org \
--cc=bram@chia.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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