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
Go(5)分で! ECC暗号を動かして理解する BuriKaigi 2026
Search
Senoue
January 11, 2026
Technology
2
54
Go(5)分で! ECC暗号を動かして理解する BuriKaigi 2026
この資料は、2026年 BuriKaigi LT資料です。
Senoue
January 11, 2026
Tweet
Share
More Decks by Senoue
See All by Senoue
Goカードゲームを 作ってみた!
senoue
0
180
App_RunnerとRDSを活用したスケーラブルなWebAPI構築とインフラの自動化.pdf
senoue
1
130
チャンネルを完全に理解する
senoue
0
78
Real-time Communication in Go with Melody and WebSockets
senoue
0
170
Adobeの生成AIのこと を調べてみた
senoue
0
210
ソフトウェア開発におけるAI :CopilotとGenie
senoue
0
210
Sendai.go x GDG Cloud 仙台 ハンズオン
senoue
0
71
GoでMecab
senoue
0
390
GKEとGoでエフェメラルなサービス
senoue
0
400
Other Decks in Technology
See All in Technology
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
1.4k
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
230
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
猫でもわかるKiro CLI(セキュリティ編)
kentapapa
0
130
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
350
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
530
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
130
Test your architecture with Archunit
thirion
1
2.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
The Cult of Friendly URLs
andyhume
79
6.8k
Agile that works and the tools we love
rasmusluckow
331
21k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
Prompt Engineering for Job Search
mfonobong
0
160
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Transcript
Go(5)分で! ECC暗号を動かして理解する Burikaigi 2026 瀬上祐匡 2026/1/9
瀬上 祐匡(せのうえ ひろまさ) • AWS,GCP, Go, Python等,BI,データ分析 • @senoue,@hiromasa.senoue •
モノノフです。 • 好きなものは、Cloudrun • Sendai.go やってます • TinyGo keeb・Go Conference実行委員など 自己紹介 Sendai.goについて 宮城県仙台市近辺の GoLangのコミュニティを運営しています。 毎月第1水曜19時より、コードリーディング、 LT会、Go Conference miniの運営などを行っています。 昨日は TinyGo Keebをやらせていただいてました。
実はECCは「暗号化」ではな い
- ECCは暗号文を復号する技術ではない - 署名(ECDSA)と鍵交換(ECDH)の基盤 - 「同じ秘密に辿り着く」ための数学 ECCって何? G:スタート地点(全員が知っている) d:自分だけが知っている「秘密の回数」 dG:d回進んだ結果(公開してよい)
秘密鍵 d × 基準点 G = 公開鍵 dG dG から d を逆算することはできません
RSAより軽い、 ECCをGoで 動かしてみよう
- ECC(楕円曲線暗号)=RSAより少ないビッ ト数で同等の安全性 - 軽量・高速で、IoTやTLSにも使われてる - Go標準ライブラリでサクッと扱える 「Goなら crypto/elliptic を叩くだけで楕円曲
線の世界に入れる!」 ECCって何?
ECCって何? 特徴 RSA 楕円曲線暗号(ECC) セキュリティと鍵長 安全性を高めるには長い鍵 長が必要。例: RSA-2048 RSAと同等の安全性を短い鍵長で 実現できる。例:
ECDSA-256 処理速度 処理に時間がかかり、特に大 量のデータには不向き。 RSAよりも処理が速い。 メリット 長年使われてきた実績があ る。 鍵長が短く、リソースが限られたデ バイスでの利用に適している。 デメリット 鍵長が長く、処理に時間がか かる。 比較的新しい技術であり、RSAに 比べると実績が少ない。
鍵生成
- この一行で公開鍵と秘密鍵が生成できる - P256() は業界標準の楕円曲線 . - RSAのような大きな鍵管理が不要 鍵生成 priv,
x, y, _ := elliptic.GenerateKey(elliptic.P256(), rand.Reader) fmt.Printf("PublicKey: (%x, %x)\n", x, y)
- 鍵生成速度の比較 : - ECC P-256 は RSA-2048 より 8733.09x
速い - ECC P-256 は RSA-4096 より 81747.89x 速い - ECC P-384 は RSA-2048 より 942.16x 速い 鍵生成
署名と検証
- ecdsa.Sign と ecdsa.Verify の2行で電子署名の基本が 動く - 実際のTLS証明書やJWTの裏側でも使われている - 「Goは暗号化に強い言語」の理由がここに!
署名と検証 r,s, _ := ecdsa.Sign(rand.Reader, privKey, hash) ok := ecdsa.Verify(&pubKey, hash, r, s) fmt.Println("Verify:", ok)
- 署名生成速度の比較 : - ECC P-256 は RSA-2048 より 40.51x
速い - ECC P-256 は RSA-4096 より 255.65x 速い - ECC P-384 は RSA-2048 より 5.47x 速い 鍵生成 https://github.com/Senoue/ecc-sample
Go 1.26での変更点に注意!
- Go 1.26からECC周りが少し変わります。 Go 1.26での変更点に注意! 変更点 内容 crypto/ecdsa X, Y,
D フィールドが非推奨(deprecated) crypto/elliptic 古いBigIntベース実装が将来的にラップ扱い crypto/ecdh 新しい鍵交換APIとして登場(より安全) crypto/hpke 1.26で標準ライブラリに導入されます 参考:https://go.dev/doc/go1.26
- 公開鍵暗号方式と共通鍵暗号方式を組み合わせて (ハイブリッド )任意の平文を暗号化する方式 - HPKE の詳しい背景は - RFC 9180
準拠のこの解説記事 がとてもわかりやすいです 。 (https://blog.jxck.io/entries/2022-08-25/hpke.html) HPKE(Hybrid Public Key Encryption:ハイブリッド公開鍵暗号化)
まとめ
“ECCは今最適、未来は PQC” 量子でRSAもECCも破られる だから今から PQCへの移行戦略が必要 ECCが弱いんじゃない 量子がずるいんです まとめ
暗号が破られるタイミングを恐れるのではなく、 移行を前提とした設計に切り替えることが本質。 - RSA / ECC は「いつか破られる」ことが数学的に確定している - しかし “今すぐ危険”
ではない - だから「慌てて変更」ではなく「アップグレード計画」が最適解 👉 暗号は「捨てる」のではなく 上書きし続ける技術領域 👉 PQC も “将来の常識” として扱い、今のうちに触れておく 技術者の価値は「未来の変化に備える姿勢」で決まる。 量子時代に備える ─ 技術者としてどう動くべきか
Thank You