Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cryptography 101 for Understanding Nostr
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
jiftechnify
August 04, 2023
Technology
410
0
Share
Cryptography 101 for Understanding Nostr
jiftechnify
August 04, 2023
More Decks by jiftechnify
See All by jiftechnify
Functional Programming in Scala 第2版 読書のすゝめ
jiftechnify
1
530
Start Nostr Indie Dev for Great Good
jiftechnify
0
220
Thinking about Feasibility of Scheduled Posts on Nostr
jiftechnify
0
300
Nostrのリレーから漏れなくすべてのイベントを取ってくる技術
jiftechnify
0
730
Other Decks in Technology
See All in Technology
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
360
Data Enabling Team立ち上げました
sansantech
PRO
0
300
Strands Agents × Amazon Bedrock AgentCoreで パーソナルAIエージェントを作ろう
yokomachi
2
260
仕様通り動くの先へ。Claude Codeで「使える」を検証する
gotalab555
8
3.1k
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
1
1k
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
170
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
210
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
950
🀄️ on swiftc
giginet
PRO
0
280
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
1.6k
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
330
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
3
390
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
A Tale of Four Properties
chriscoyier
163
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Are puppies a ranking factor?
jonoalderson
1
3.2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
160
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
760
Music & Morning Musume
bryan
47
7.1k
New Earth Scene 8
popppiees
3
2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
The Cult of Friendly URLs
andyhume
79
6.8k
Typedesign – Prime Four
hannesfritz
42
3k
Transcript
None
自己紹介 NIP-05:
[email protected]
Nostr上での主な活動: 作ったもの Nosaray(のさらい): 過去のTLを見るツール nosdump: 複数リレーからイベントを一気に取得できるCLIツール nostr-fetch:
過去のイベント取得を楽にするライブラリ 詳しい話は勉強会#1をみてね リレー運営 wss://nrelay.c-stellar.net: フォロワーのみ書き込み可能 wss://nrelay-jp.c-stellar.net: 日本国内からのみアクセス可能 NIP日本語訳、たまにプルリク投げたり
おしながき Nostrの基礎となる暗号技術について解説します デジタル署名 共通鍵暗号 次のような疑問を解消します Nostrではどうやって投稿者の本人確認・投稿の改ざん防止を実現しているの? どうして秘密鍵を漏らしてはいけないの? 秘密鍵を漏らすと何が起こるの? NostrのDMはどんなしくみになっているの?
序. 通常のWebサービスとNostrの違い
いつもの図
本人確認
1. デジタル署名の話
アナログ世界の署名
デジタル署名 = デジタル世界で 署名と同じしくみを実現するもの
舞台設定
準備: 鍵生成
署名
検証鍵を公開しても大丈夫?
署名検証
署名が正しいと何が証明できる?
閑話休題: ハッシュのお話
2. Nostrにおけるデジタル署名の利用
Nostrのイベントの中身
解剖: Nostrイベント
イベントに署名する
イベントの署名を検証する
公開鍵 = アカウント (秘密鍵が漏れていない限り、) 特定の公開鍵のもとで正しい署名を持つイベントを作れるのは、1人だけのはず → 公開鍵を、その人の「アカウントID」とみなせる
秘密鍵を漏らすと…
本当に本人証明になってるの? 以下のことを証明する、究極的な方法はない! ある公開鍵が本当に「◦◦さん」のものなのか? ある公開鍵が信用に足る人間のものなのか? 部分的に解決するしくみはあるが… NIP-05: ドメイン(例: c-stellar.net)に公開鍵を紐付ける NIP-39: 他のSNSアカウントに公開鍵を紐付ける
結局、最後に信用を生むのは「日々の行動の積み重ね」
3. NostrのDMのしくみ
いかにして秘密の通信を成立させるか
秘密を漏らさず鍵を共有する、たった一つの冴えた方法
DMを送信する: 暗号化
受信したDMを解読する: 復号
現在のDMの仕様(NIP-04)の問題点 誰が誰にDMを送ったか・いつ送られたかなど、本文以外の情報が外部に筒抜け 暗号化方式が固定 暗号化方式が古くなるにつれ、攻撃者に解読される危険性は高まっていく 時代の変化に合わせ、新方式に乗り換えられるしくみにしておく必要があるが… 改善のため、さまざまな提案がなされている
参考文献 暗号技術のすべて / IPUSIRON 著 プログラミング・ビットコイン / Jimmy Song 著
None