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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Senoue
January 11, 2026
Technology
92
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go(5)分で! ECC暗号を動かして理解する BuriKaigi 2026
この資料は、2026年 BuriKaigi LT資料です。
Senoue
January 11, 2026
More Decks by Senoue
See All by Senoue
Goカードゲームを 作ってみた!
senoue
0
310
App_RunnerとRDSを活用したスケーラブルなWebAPI構築とインフラの自動化.pdf
senoue
1
160
チャンネルを完全に理解する
senoue
0
110
Real-time Communication in Go with Melody and WebSockets
senoue
0
200
Adobeの生成AIのこと を調べてみた
senoue
0
250
ソフトウェア開発におけるAI :CopilotとGenie
senoue
0
240
Sendai.go x GDG Cloud 仙台 ハンズオン
senoue
0
91
GoでMecab
senoue
0
420
GKEとGoでエフェメラルなサービス
senoue
0
420
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
480
markdown-poster Introduction
kazamori
0
420
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
360
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
130
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
260
The Django UUID Story - DjangoCon US 2026
pauloxnet
0
330
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
When Token Pruning is Worse than Random: Understanding Visual Token Information in VLLMs
sansantech
PRO
0
190
VPCでもFloatingIPを使いたいんだ
y_kotani
1
130
AIエージェントのためのデータ設計
daiz21
0
550
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
160
internal/testlog で遊ぼう
rokuosan
0
420
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
4 Signs Your Business is Dying
shpigford
187
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The Curious Case for Waylosing
cassininazir
1
480
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Building the Perfect Custom Keyboard
takai
2
850
Technical Leadership for Architectural Decision Making
baasie
3
540
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.5k
A Tale of Four Properties
chriscoyier
163
24k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
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