NIP-49 test vector for unicode normalization (#1054)

* NIP-49 [breaking]: password normalized to unicode NFKC format

* Test vector for unicode normalization
This commit is contained in:
Michael Dilger 2024-02-16 15:54:47 +13:00 committed by GitHub
parent 62c48eff58
commit 36d2281587
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

18
49.md
View File

@ -78,6 +78,22 @@ The decryption process operates in the reverse.
Test Data
---------
## Password Unicode Normalization
The following password input: "ÅΩẛ̣"
- Unicode Codepoints: U+212B U+2126 U+1E9B U+0323
- UTF-8 bytes: [0xE2, 0x84, 0xAB, 0xE2, 0x84, 0xA6, 0xE1, 0xBA, 0x9B, 0xCC, 0xA3]
Should be converted into the unicode normalized NFKC format prior to use in scrypt: "ÅΩẛ̣"
- Unicode Codepoints: U+00C5 U+03A9 U+1E69
- UTF-8 bytes: [0xC3, 0x85, 0xCE, 0xA9, 0xE1, 0xB9, 0xA9]
## Encryption
The encryption process is non-deterministic due to the random nonce.
## Decryption
The following encrypted private key:
`ncryptsec1qgg9947rlpvqu76pj5ecreduf9jxhselq2nae2kghhvd5g7dgjtcxfqtd67p9m0w57lspw8gsq6yphnm8623nsl8xn9j4jdzz84zm3frztj3z7s35vpzmqf6ksu8r89qk5z2zxfmu5gv8th8wclt0h4p`
@ -86,8 +102,6 @@ When decrypted with password='nostr' and log_n=16 yields the following hex-encod
`3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683`
The reverse process is non-deterministic due to the random nonce.
Discussion
----------