Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cryptography 101 for Understanding Nostr
Search
jiftechnify
August 04, 2023
Technology
450
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cryptography 101 for Understanding Nostr
jiftechnify
August 04, 2023
More Decks by jiftechnify
See All by jiftechnify
Functional Programming in Scala 第2版 読書のすゝめ
jiftechnify
1
1.1k
Start Nostr Indie Dev for Great Good
jiftechnify
0
250
Thinking about Feasibility of Scheduled Posts on Nostr
jiftechnify
0
350
Nostrのリレーから漏れなくすべてのイベントを取ってくる技術
jiftechnify
0
810
Other Decks in Technology
See All in Technology
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
280
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
6.9k
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
100
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
100
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
170
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
750
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
130
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
260
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
200
Adversary Infrastructure Hunting101
disconinja
0
190
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
1
1.1k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Everyday Curiosity
cassininazir
0
390
Are puppies a ranking factor?
jonoalderson
2
4.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The Language of Interfaces
destraynor
162
27k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
660
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
How to build a perfect <img>
jonoalderson
1
6.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
A better future with KSS
kneath
240
18k
Building Adaptive Systems
keathley
44
3.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