<oembed><type>rich</type><version>1.0</version><author_name>npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_name><author_url>https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-07-15&#xA;📝 Original message:[+cc aaron]&#xA;&#xA;We recently added an implementation of BIP 38 (password protected private&#xA;keys) to bitcoinj. It came to my attention that the third test vector may&#xA;be broken. It gives a hex version of what the NFC normalised version of the&#xA;input string should be, but this does not match the results of the Java&#xA;unicode normaliser, and in fact I can&#39;t even get Python to print the names&#xA;of the characters past the embedded null. I&#39;m curious where this normalised&#xA;version came from.&#xA;&#xA;Given that &#34;pile of poo&#34; is not a character I think any sane user would put&#xA;into a passphrase, I question the value of this test vector. NFC form is&#xA;intended to collapse things like umlaut control characters onto their prior&#xA;code point, but here we&#39;re feeding the algorithm what is basically garbage&#xA;so I&#39;m not totally surprised that different implementations appear to&#xA;disagree on the outcome.&#xA;&#xA;Proposed action: we remove this test vector as it does not represent any&#xA;real world usage of the spec, or if we desperately need to verify NFC&#xA;normalisation I suggest using a different, more realistic test string, like&#xA;Zürich, or something written in Thai.&#xA;&#xA;&#xA;&#xA;Test 3:&#xA;&#xA;   - Passphrase ϓ␀𐐀💩 (\u03D2\u0301\u0000\U00010400\U0001F4A9; GREEK&#xA;   UPSILON WITH HOOK &lt;http://codepoints.net/U+03D2&gt;, COMBINING ACUTE ACCENT&#xA;   &lt;http://codepoints.net/U+0301&gt;, NULL &lt;http://codepoints.net/U+0000&gt;, DESERET&#xA;   CAPITAL LETTER LONG I &lt;http://codepoints.net/U+10400&gt;, PILE OF POO&#xA;   &lt;http://codepoints.net/U+1F4A9&gt;)&#xA;   - Encrypted key:&#xA;   6PRW5o9FLp4gJDDVqJQKJFTpMvdsSGJxMYHtHaQBF3ooa8mwD69bapcDQn&#xA;   - Bitcoin Address: 16ktGzmfrurhbhi6JGqsMWf7TyqK9HNAeF&#xA;   - Unencrypted private key (WIF):&#xA;   5Jajm8eQ22H3pGWLEVCXyvND8dQZhiQhoLJNKjYXk9roUFTMSZ4&#xA;   - *Note:* The non-standard UTF-8 characters in this passphrase should be&#xA;   NFC normalized to result in a passphrase of0xcf9300f0909080f09f92a9 before&#xA;   further processing&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140715/e3dc3ed9/attachment.html&gt;</html></oembed>