<oembed><type>rich</type><version>1.0</version><author_name>npub1xg2m84malu0cfm4444r0kysx4rgk27e75aj6sz6538kw8fcz627qeadsv7</author_name><author_url>https://nostr.ae/npub1xg2m84malu0cfm4444r0kysx4rgk27e75aj6sz6538kw8fcz627qeadsv7</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-07-15&#xA;📝 Original message:I think generally control-characters (such as \u0000) should be&#xA;disallowed in passphrases. (Even the use of whitespaces is very&#xA;questionable.)&#xA;&#xA;I&#39;m ok with allowing pile-of-poo&#39;s. On mobile phones there is keyboards&#xA;just containing emoticons -- why not allow those? Assuming NFC works of&#xA;course.&#xA;&#xA;&#xA;On 07/15/2014 03:07 PM, Eric Winer wrote:&#xA;&gt; I don&#39;t know for sure if the test vector is correct NFC form.  But for&#xA;&gt; what it&#39;s worth, the Pile of Poo character is pretty easily accessible&#xA;&gt; on the iPhone and Android keyboards, and in this string it&#39;s already in&#xA;&gt; NFC form (f09f92a9 in the test result).  I&#39;ve certainly seen it in&#xA;&gt; usernames around the internet, and wouldn&#39;t be surprised to see it in&#xA;&gt; passphrases entered on smartphones, especially if the author of a&#xA;&gt; BIP38-compatible app includes a (possibly ill-advised) suggestion to&#xA;&gt; have your passphrase &#34;include special characters&#34;.&#xA;&gt; &#xA;&gt; I haven&#39;t seen the NULL character on any smartphone keyboards, though -&#xA;&gt; I assume the iOS and Android developers had the foresight to know how&#xA;&gt; much havoc that would wreak on systems assuming null-terminated strings.&#xA;&gt;  It seems unlikely that NULL would be in a real-world passphrase entered&#xA;&gt; by a sane user.&#xA;&gt; &#xA;&gt; &#xA;&gt; On Tue, Jul 15, 2014 at 8:03 AM, Mike Hearn &lt;mike at plan99.net&#xA;&gt; &lt;mailto:mike at plan99.net&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;     [+cc aaron]&#xA;&gt; &#xA;&gt;     We recently added an implementation of BIP 38 (password protected&#xA;&gt;     private keys) to bitcoinj. It came to my attention that the third&#xA;&gt;     test vector may be broken. It gives a hex version of what the NFC&#xA;&gt;     normalised version of the input string should be, but this does not&#xA;&gt;     match the results of the Java unicode normaliser, and in fact I&#xA;&gt;     can&#39;t even get Python to print the names of the characters past the&#xA;&gt;     embedded null. I&#39;m curious where this normalised version came from.&#xA;&gt; &#xA;&gt;     Given that &#34;pile of poo&#34; is not a character I think any sane user&#xA;&gt;     would put into a passphrase, I question the value of this test&#xA;&gt;     vector. NFC form is intended to collapse things like umlaut control&#xA;&gt;     characters onto their prior code point, but here we&#39;re feeding the&#xA;&gt;     algorithm what is basically garbage so I&#39;m not totally surprised&#xA;&gt;     that different implementations appear to disagree on the outcome.&#xA;&gt; &#xA;&gt;     Proposed action: we remove this test vector as it does not represent&#xA;&gt;     any real world usage of the spec, or if we desperately need to&#xA;&gt;     verify NFC normalisation I suggest using a different, more realistic&#xA;&gt;     test string, like Zürich, or something written in Thai.&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt;     Test 3:&#xA;&gt; &#xA;&gt;       * Passphrase ϓ␀𐐀💩 (\u03D2\u0301\u0000\U00010400\U0001F4A9; GREEK&#xA;&gt;         UPSILON WITH HOOK &lt;http://codepoints.net/U+03D2&gt;, COMBINING&#xA;&gt;         ACUTE ACCENT &lt;http://codepoints.net/U+0301&gt;, NULL&#xA;&gt;         &lt;http://codepoints.net/U+0000&gt;, DESERET CAPITAL LETTER LONG I&#xA;&gt;         &lt;http://codepoints.net/U+10400&gt;, PILE OF POO&#xA;&gt;         &lt;http://codepoints.net/U+1F4A9&gt;)&#xA;&gt;       * Encrypted key:&#xA;&gt;         6PRW5o9FLp4gJDDVqJQKJFTpMvdsSGJxMYHtHaQBF3ooa8mwD69bapcDQn&#xA;&gt;       * Bitcoin Address: 16ktGzmfrurhbhi6JGqsMWf7TyqK9HNAeF&#xA;&gt;       * Unencrypted private key (WIF):&#xA;&gt;         5Jajm8eQ22H3pGWLEVCXyvND8dQZhiQhoLJNKjYXk9roUFTMSZ4&#xA;&gt;       * /Note:/ The non-standard UTF-8 characters in this passphrase&#xA;&gt;         should be NFC normalized to result in a passphrase&#xA;&gt;         of0xcf9300f0909080f09f92a9 before further processing&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt;     ------------------------------------------------------------------------------&#xA;&gt;     Want fast and easy access to all the code in your enterprise? Index and&#xA;&gt;     search up to 200,000 lines of code with a free copy of Black Duck&#xA;&gt;     Code Sight - the same software that powers the world&#39;s largest code&#xA;&gt;     search on Ohloh, the Black Duck Open Hub! Try it now.&#xA;&gt;     http://p.sf.net/sfu/bds&#xA;&gt;     _______________________________________________&#xA;&gt;     Bitcoin-development mailing list&#xA;&gt;     Bitcoin-development at lists.sourceforge.net&#xA;&gt;     &lt;mailto:Bitcoin-development at lists.sourceforge.net&gt;&#xA;&gt;     https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; Want fast and easy access to all the code in your enterprise? Index and&#xA;&gt; search up to 200,000 lines of code with a free copy of Black Duck&#xA;&gt; Code Sight - the same software that powers the world&#39;s largest code&#xA;&gt; search on Ohloh, the Black Duck Open Hub! Try it now.&#xA;&gt; http://p.sf.net/sfu/bds&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; _______________________________________________&#xA;&gt; Bitcoin-development mailing list&#xA;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;</html></oembed>