summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Maxwell <gmaxwell@gmail.com>2013-10-18 16:58:27 -0700
committerbitcoindev <bitcoindev@gnusha.org>2013-10-18 23:58:35 +0000
commit0830eec9aec7d670142007c291cac9094178333d (patch)
tree1d4dc191040b39fbd224e8035c6f336e1563446b
parent6be93faf5d770df8a0898f0d407a94df4950bd48 (diff)
downloadpi-bitcoindev-0830eec9aec7d670142007c291cac9094178333d.tar.gz
pi-bitcoindev-0830eec9aec7d670142007c291cac9094178333d.zip
Re: [Bitcoin-development] BIP39 word list
-rw-r--r--42/6c98503379ac080dbaa12ea82c6e164b6235e5191
1 files changed, 191 insertions, 0 deletions
diff --git a/42/6c98503379ac080dbaa12ea82c6e164b6235e5 b/42/6c98503379ac080dbaa12ea82c6e164b6235e5
new file mode 100644
index 000000000..54a20cd09
--- /dev/null
+++ b/42/6c98503379ac080dbaa12ea82c6e164b6235e5
@@ -0,0 +1,191 @@
+Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
+ helo=mx.sourceforge.net)
+ by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
+ (envelope-from <gmaxwell@gmail.com>) id 1VXJwB-0001IX-M2
+ for bitcoin-development@lists.sourceforge.net;
+ Fri, 18 Oct 2013 23:58:35 +0000
+Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
+ designates 209.85.217.174 as permitted sender)
+ client-ip=209.85.217.174; envelope-from=gmaxwell@gmail.com;
+ helo=mail-lb0-f174.google.com;
+Received: from mail-lb0-f174.google.com ([209.85.217.174])
+ by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
+ (Exim 4.76) id 1VXJwA-0004l7-JA
+ for bitcoin-development@lists.sourceforge.net;
+ Fri, 18 Oct 2013 23:58:35 +0000
+Received: by mail-lb0-f174.google.com with SMTP id w6so3675382lbh.19
+ for <bitcoin-development@lists.sourceforge.net>;
+ Fri, 18 Oct 2013 16:58:27 -0700 (PDT)
+MIME-Version: 1.0
+X-Received: by 10.112.59.134 with SMTP id z6mr3450706lbq.28.1382140707846;
+ Fri, 18 Oct 2013 16:58:27 -0700 (PDT)
+Received: by 10.112.89.72 with HTTP; Fri, 18 Oct 2013 16:58:27 -0700 (PDT)
+In-Reply-To: <87iowuuof9.fsf@gmail.com>
+References: <87iowuuof9.fsf@gmail.com>
+Date: Fri, 18 Oct 2013 16:58:27 -0700
+Message-ID: <CAAS2fgQ1uYvNxZu6DOKZ2k9qj2kYhGpHxxzsZdsqb-Oi2uSKmw@mail.gmail.com>
+From: Gregory Maxwell <gmaxwell@gmail.com>
+To: jan <jan.marecek@gmail.com>
+Content-Type: text/plain; charset=UTF-8
+X-Spam-Score: -1.6 (-)
+X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
+ See http://spamassassin.org/tag/ for more details.
+ 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked.
+ See
+ http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
+ for more information. [URIs: github.com]
+ -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
+ sender-domain
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
+ (gmaxwell[at]gmail.com)
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily valid
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-Headers-End: 1VXJwA-0004l7-JA
+Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
+Subject: Re: [Bitcoin-development] BIP39 word list
+X-BeenThere: bitcoin-development@lists.sourceforge.net
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <bitcoin-development.lists.sourceforge.net>
+List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
+List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
+List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
+List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
+List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
+X-List-Received-Date: Fri, 18 Oct 2013 23:58:35 -0000
+
+some fairly old wordlist solver code of mine:
+
+https://people.xiph.org/~greg/wordlist.visual.py
+
+it has a 52x52 letter visual similarity matrix in it (along with a citation)
+
+On Fri, Oct 18, 2013 at 4:52 PM, jan <jan.marecek@gmail.com> wrote:
+>
+> The words 'public', 'private' and 'secret' could be confusing when
+> encoding public and private keys. eg. a private key that begins with
+> the word 'public'.
+>
+> I think avoiding words that could look similar when written down would
+> be a good idea aswell. I searched for words that only differ by the
+> letters c & e, g & y, u & v and found the following:
+>
+> car ear
+> cat eat
+> gear year
+> value valve
+>
+> Other combinations could potentially be problematic depending on the
+> handwriting style: ft, ao, ij, vy, possibly even lt and il?
+>
+> I've included the search utility I used below.
+>
+>
+> #include <stdbool.h>
+> #include <string.h>
+> #include <stdio.h>
+>
+> char *similar_char_pairs[] = { "ce", "gy", "uv", NULL };
+>
+> bool is_similar_char(char c1, char c2)
+> {
+> char **pairs = similar_char_pairs;
+> do {
+> char *p = *pairs;
+> if ((c1 == p[0] && c2 == p[1]) ||
+> (c1 == p[1] && c2 == p[0]))
+> return true;
+> } while (*++pairs);
+>
+> return false;
+> }
+>
+> bool print_words_if_similar(char *word1, char *word2)
+> {
+> /* reject words of different lengths */
+> if (strlen(word1) != strlen(word2))
+> return false;
+>
+> size_t i, similarcount = 0;
+>
+> for (i = 0; i < strlen(word1); i++) {
+> /* skip identical letters */
+> if (word1[i] == word2[i])
+> continue;
+>
+> /* reject words that don't match */
+> if (is_similar_char(word1[i], word2[i]) == false)
+> return false;
+>
+> similarcount++;
+> }
+>
+> /* reject words with more than 1 different letter */
+> //if (similarcount > 1)
+> // return false;
+>
+> printf("%s %s\n", word1, word2);
+>
+> return true;
+> }
+>
+> int main(void)
+> {
+> /* english.txt is assumed to exist in the working directory
+> download from:
+> https://github.com/trezor/python-mnemonic/blob/master/mnemonic/wordlist/english.txt */
+> FILE* f = fopen("english.txt", "r");
+> if (!f) {
+> fprintf(stderr, "failed to open english.txt\n");
+> return 1;
+> }
+>
+> /* read in word list, assumes one word per line */
+> #define MAXWORD 16
+> char wordlist[2048][MAXWORD];
+> int word = 0;
+> while (fgets(wordlist[word], MAXWORD, f)) {
+> /* strip trailing whitespace, assumes no leading whitespace */
+> char *ch = strpbrk(wordlist[word], " \n\t");
+> if (ch)
+> *ch = '\0';
+> word++;
+> }
+>
+> if (word != 2048) {
+> fprintf(stderr, "word list incorrect length\n");
+> return 1;
+> }
+>
+> /* check each word for similarity against every other word */
+> int i, j, count = 0;
+> for (i = 0; i < 2048; i++) {
+> for (j = i+1; j < 2048; j++) {
+> if (print_words_if_similar(wordlist[i], wordlist[j]))
+> count++;
+> }
+> }
+>
+> printf("%d matches\n", count);
+>
+> return 0;
+> }
+>
+> ------------------------------------------------------------------------------
+> October Webinars: Code for Performance
+> Free Intel webinars can help you accelerate application performance.
+> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
+> the latest Intel processors and coprocessors. See abstracts and register >
+> http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
+> _______________________________________________
+> Bitcoin-development mailing list
+> Bitcoin-development@lists.sourceforge.net
+> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
+
+