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
Go(5)分で! ECC暗号を動かして理解する BuriKaigi 2026
Search
Senoue
January 11, 2026
Technology
110
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
330
App_RunnerとRDSを活用したスケーラブルなWebAPI構築とインフラの自動化.pdf
senoue
1
170
チャンネルを完全に理解する
senoue
0
120
Real-time Communication in Go with Melody and WebSockets
senoue
0
210
Adobeの生成AIのこと を調べてみた
senoue
0
260
ソフトウェア開発におけるAI :CopilotとGenie
senoue
0
250
Sendai.go x GDG Cloud 仙台 ハンズオン
senoue
0
92
GoでMecab
senoue
0
420
GKEとGoでエフェメラルなサービス
senoue
0
430
Other Decks in Technology
See All in Technology
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
370
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
130
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
150
Deep Data Security 機能解説
oracle4engineer
PRO
2
770
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
130
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
160
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
370
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
290
12 個 Tool と、 4,096 Token
hlum
0
130
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
Featured
See All Featured
Visualization
eitanlees
153
17k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
4 Signs Your Business is Dying
shpigford
187
23k
Site-Speed That Sticks
csswizardry
13
1.6k
How to make the Groovebox
asonas
2
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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