From afebc50303e2c6fa84fc22b99dac087ed8e7c285 Mon Sep 17 00:00:00 2001 From: s3-odara Date: Fri, 8 Dec 2023 21:06:58 +0900 Subject: [PATCH 1/2] =?UTF-8?q?NIP-04=E3=82=92=E3=81=A0=E3=83=BB=E3=81=A7?= =?UTF-8?q?=E3=81=82=E3=82=8B=E8=AA=BF=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 04.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/04.md b/04.md index 52ae59b2..d4a6fad0 100644 --- a/04.md +++ b/04.md @@ -6,15 +6,15 @@ NIP-04 `final` `optional` -暗号化されたダイレクトメッセージを指す固有のkind`4`は、次のような属性を持っています。 +暗号化されたダイレクトメッセージを指す固有のkind`4`は、次のような属性を持っている。 -**`content`** は、ユーザーが書きたい文字列のbase64エンコードを送信者の秘密鍵と受診者の公開鍵を組みあわせて作られる共有暗号で暗号化したものと等しくなければなりません (MUST)。base64エンコードされた初期化ベクトルは、"iv"という名前のクエリ文字列パラメータのようにして添付されます。ここに例を示します。`"content": "?iv="` +**`content`** は、ユーザーが書きたい文字列のbase64エンコードを送信者の秘密鍵と受診者の公開鍵を組みあわせて作られる共有暗号で暗号化したものと等しくなければならない (MUST)。base64エンコードされた初期化ベクトルは、"iv"という名前のクエリ文字列パラメータのようにして添付される。ここに例を示す。`"content": "?iv="` -**`tags`** にはリレーがうまく彼らにそのイベントを転送するため、メッセージの受信者を識別するエントリを次のように格納しなけばなりません (MUST)。 `["p", ""]` +**`tags`** にはリレーがうまく彼らにそのイベントを転送するため、メッセージの受信者を識別するエントリを次のように格納しなけばならない (MUST)。 `["p", ""]` -**`tags`** には、文脈に沿った、より整理された会話ができるよう会話の中の前のメッセージや、明示的に返信しているメッセージを示すエントリを次のように含めても構いません (MAY)。`["e", ""]` +**`tags`** には、文脈に沿った、より整理された会話ができるよう会話の中の前のメッセージや、明示的に返信しているメッセージを示すエントリを次のように含めても構わない (MAY)。`["e", ""]` -**メモ**: ECDH実装[libsecp256k1](https://github.com/bitcoin-core/secp256k1)のデフォルトでは、秘密は共有点 (X座標とY座標の両方) のSHA256ハッシュです。Nostrでは、共有点のX座標のみが秘密として使用され、ハッシュ化されません。libsecp256k1を使用する場合は、X座標をコピーする関数を`secp256k1_ecdh`中で`hashfp`引数として渡す必要が有ります。 +**メモ**: ECDH実装[libsecp256k1](https://github.com/bitcoin-core/secp256k1)のデフォルトでは、秘密は共有点 (X座標とY座標の両方) のSHA256ハッシュである。Nostrでは、共有点のX座標のみが秘密として使用されハッシュ化されない。libsecp256k1を使用する場合は、X座標をコピーする関数を`secp256k1_ecdh`中で`hashfp`引数として渡す必要が有る。 JavaScriptでそのようなイベントを生成するためのサンプルコードはこちら。 @@ -46,8 +46,8 @@ let event = { ## セキュリティ上の警告 -この標準はピア間の暗号化通信の最先端と考えられている物とは程遠く、加えてイベントのメタデータも流出させます。そのため本当に秘密を保ちたい用途には絶対に使用してはいけません。使用する際は、`AUTH`を使用してあなたの`kind:4`イベントを取得可能な人を制限できるリレーでのみ使用して下さい。 +この標準はピア間の暗号化通信の最先端と考えられている物とは程遠く、加えてイベントのメタデータも流出させる。そのため本当に秘密を保ちたい用途には絶対に使用してはいけない。使用する際は、`AUTH`を使用してあなたの`kind:4`イベントを取得可能な人を制限できるリレーでのみ使用するべきである。 ## クライアント実装の警告 -クライアントは`.content`に含まれる公開鍵とノートの参照を検索して置換*するべきではありません*。もし通常のテキストノートのように処理 (文中の`@npub...`を`["p", "..."]`タグがある`#[0]`で置き換える) した場合、タグは流出し、メンションされたユーザーは受信トレイにメッセージを受け取ります。 +クライアントは`.content`に含まれる公開鍵とノートの参照を検索して置換*するべきではない*。もし通常のテキストノートのように処理 (文中の`@npub...`を`["p", "..."]`タグがある`#[0]`で置き換える) した場合、タグは流出し、メンションされたユーザーは受信トレイにメッセージを受け取る。 From 33fd44a469d90db5740a17cc5fdfee760a05ce6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=8E=9F=E6=99=B4=E5=A4=AA?= Date: Sat, 9 Dec 2023 12:15:02 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A8=80=E3=81=84=E5=9B=9E=E3=81=97?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Akiomi Kamakura --- 04.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/04.md b/04.md index d4a6fad0..fff4de80 100644 --- a/04.md +++ b/04.md @@ -46,7 +46,7 @@ let event = { ## セキュリティ上の警告 -この標準はピア間の暗号化通信の最先端と考えられている物とは程遠く、加えてイベントのメタデータも流出させる。そのため本当に秘密を保ちたい用途には絶対に使用してはいけない。使用する際は、`AUTH`を使用してあなたの`kind:4`イベントを取得可能な人を制限できるリレーでのみ使用するべきである。 +この標準はピア間の暗号化通信の最先端と考えられている物とは程遠く、加えてイベントのメタデータも流出させる。そのため本当に秘密を保ちたい用途には絶対に使用してはならない。使用する際は、`AUTH`を使用してあなたの`kind:4`イベントを取得可能な人を制限できるリレーでのみ使用するべきである。 ## クライアント実装の警告