Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id B6BACC002D for ; Fri, 8 Jul 2022 01:47:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 8084841545 for ; Fri, 8 Jul 2022 01:47:47 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 8084841545 Authentication-Results: smtp4.osuosl.org; dkim=pass (2048-bit key) header.d=chia.net header.i=@chia.net header.a=rsa-sha256 header.s=google header.b=WYd4YKhk X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fYnvfSo3jP6N for ; Fri, 8 Jul 2022 01:47:45 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 46D43408A9 Received: from mail-yb1-xb33.google.com (mail-yb1-xb33.google.com [IPv6:2607:f8b0:4864:20::b33]) by smtp4.osuosl.org (Postfix) with ESMTPS id 46D43408A9 for ; Fri, 8 Jul 2022 01:47:45 +0000 (UTC) Received: by mail-yb1-xb33.google.com with SMTP id y195so4333267yby.0 for ; Thu, 07 Jul 2022 18:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chia.net; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=LX/J8l5hFS1C9HZY2wTV3sSv/D5LKV+WdnChpkTZROc=; b=WYd4YKhkuKDaGgFY2uxMlv1iApShkdPzCaJFsd9Cr4pyeTxCLkugVvbbnli/VsSmQo 4JXbQ+XKTf+MpFv/uApoUyFR+Iv4wrPdwn/U1uuHcZ9afZZUWIJpSi3Dt0lV4EoT0UfX 314Tl6+dYwFzDuu+reQT3C5/tpHeUYJVd/A3mcqLJw3UmBPD/E4O7yNmTPOmM8NhDjay qScUVgOwXRBS2rs6AFAaXBRim7bfYbfRGrPrTD9aoDdF9vGZLo4vvCBiibek94hg6JNA 1hePFp3gDRKWWnhF9lMj5pRPC390amg2fB8isPM4QEDruSxax6+D8crk5iLWJ9WAtOJZ 7coA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=LX/J8l5hFS1C9HZY2wTV3sSv/D5LKV+WdnChpkTZROc=; b=D9TTWYFuC16kWXiu+xVqy3PW8Z2Caed+W1kTP8GnBju3/8RHqvUhhOt4v+PejSXULu E0j9QzG1cgLqf0z0Y0Mq28sCilFyx5mMs1ljVaZRA+uXccTifL9Qr+xVFqt4+4UwDgRx RIvdGhATyAu/9NdsVe28EWO8sYB3hz+18SGvPFkdSihA8bbVibrPQzgzrbzvlVOgAsLG 5hk+DfiTqz6A8d8FT37/0Gyso3b9GYp3Gih9I37TMX+389jqeMB4UaJh/lO5s6klJhJf rfO9AgiISxZ5sc1Qq3ADKQowJfCHpzwU5NwCeifH+Em8IH6yScowSSXajFZnfKH7yQFy cHCg== X-Gm-Message-State: AJIora9isUxG6WPgArIO1rpJm/H6FIkYVZU+F+lOz2auKJer1P5mz0RE JhcNRx5EdAWR94sPlQFDqzngeugIdH2HV3ZD7AkcHi8KvEU= X-Google-Smtp-Source: AGRyM1vzMuWBb0PgRBsSh9RMGYmJuyGtTRhn3CDdLqYyOoZk0N1fOR3WufMN0Ai4y4fpOqwIsmqNr3//d6P1OsrvIc8= X-Received: by 2002:a05:6902:54f:b0:66c:a098:339d with SMTP id z15-20020a056902054f00b0066ca098339dmr1097442ybs.116.1657244864236; Thu, 07 Jul 2022 18:47:44 -0700 (PDT) MIME-Version: 1.0 References: <0dc0e945-9e12-43ad-bd12-fcc0e18e4013@www.fastmail.com> In-Reply-To: From: Bram Cohen Date: Thu, 7 Jul 2022 18:47:33 -0700 Message-ID: To: Pavol Rusnak Content-Type: multipart/alternative; boundary="00000000000070662c05e34163f7" X-Mailman-Approved-At: Fri, 08 Jul 2022 01:48:52 +0000 Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] No Order Mnemonic X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jul 2022 01:47:47 -0000 --00000000000070662c05e34163f7 Content-Type: text/plain; charset="UTF-8" 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 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 > --00000000000070662c05e34163f7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
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 orde= ring is okay. Without that requirement it's mathematically very straigh= tforward.

On Thu, Jul 7, 2022 at 10:52 AM Pavol Rusnak <stick@satoshilabs.com> wrote:
There is. Ju= st encode the index of permutation used to scramble the otherwise sorted li= st. For 12 words you need to store 12! =3D ~32 bits so 3 words should be en= ough.=C2=A0

Repetitions = make this more difficult, though.=C2=A0

On Thu 7. 7. 2022 at 19:41, Bra= m Cohen via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> w= rote:
On Thu, Jul 7, 2022 at 7:43 AM Anton Shevchenko v= ia bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
=
I made a python implementation for a different mnemonic encoding. T= he encoding requires user to remember words but not the order of those word= s.
The code is open (MIT license) at https://github.com/sancoder/noo= mnem

Thanks Anton. There's an inter= esting mathematical question of whether it's possible to make a code li= ke 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 orde= r is lost or confused. If the BIP-39 contains a duplicate you can add an ex= tra word.
_______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev
--
Best Regards / S pozdravom,

Pavol "stick" Rusnak
Co-Founder, SatoshiLabs
--00000000000070662c05e34163f7--