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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jiftechnify
August 04, 2023
Technology
420
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
770
Start Nostr Indie Dev for Great Good
jiftechnify
0
230
Thinking about Feasibility of Scheduled Posts on Nostr
jiftechnify
0
320
Nostrのリレーから漏れなくすべてのイベントを取ってくる技術
jiftechnify
0
750
Other Decks in Technology
See All in Technology
The Making of AI Chips
pfn
PRO
0
770
eBPF Can Do It! A 5-Minute Tour of 5 Real-World PHP Issues Solved with eBPF
egmc
0
140
その英語学習、AWSで代替できませんか?
suzutatsu
1
250
生成AIに振り回されない 〜確率論と決定論の使い分け〜
shukob
0
110
大規模環境でどのように監視を実現する?
yuobayashi
1
140
AIが変えた"品質の守り方"
kkakizaki
10
2.9k
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
200
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
280
AI とサービス・デザイン / AI and Service Design
ks91
PRO
0
170
食べログのサーキットブレーカー導入を振り返って
atpons
0
100
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
3
630
はじめてのAI-DLC
yoshidashingo
2
530
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
280
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
How to make the Groovebox
asonas
2
2.2k
From π to Pie charts
rasagy
0
190
GitHub's CSS Performance
jonrohan
1033
470k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
How STYLIGHT went responsive
nonsquared
100
6.1k
Technical Leadership for Architectural Decision Making
baasie
3
380
Side Projects
sachag
455
43k
Agile that works and the tools we love
rasmusluckow
331
21k
Marketing to machines
jonoalderson
1
5.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