SlideShare a Scribd company logo
4
Most read
8
Most read
暗号化したまま計算できる暗号技術と
OSS開発による広がり
CCSE2019 2019/7/13
光成滋生 サイボウズ・ラボ
• 自己紹介
• 準同型暗号
• 秘匿クロス集計
• 紛失通信
• 秘匿編集距離
• OSSにおける企業と個人
概要
2 / 15
• サイボウズ・ラボで暗号の実装・研究
• https://github.com/herumi/
• 『クラウドを支えるこれからの暗号技術』秀和システム
• 『パターン認識と機械学習の学習普及版』暗黒通信団
• サイボウズ・ラボユース
• 学生支援制度
@herumi
3 / 15
• 暗号文のまま計算・処理できる暗号技術
• TLS/SSLなどで使われる普通の暗号は暗号文の復号しかできない
• 準同型暗号
• 暗号文(カプセル)を開けずにベクトルの内積をできる
• (注)秘密鍵を持っている人だけがカプセルの中身を見られます
準同型暗号
+×1 3 42 × 14=
4 / 15
• 2個のベクトルの暗号文の内積を計算できる暗号
• 𝐸𝑛𝑐 𝑥1 𝐸𝑛𝑐 𝑦1 + ⋯ + 𝐸𝑛𝑐 𝑥 𝑛 𝐸𝑛𝑐 𝑦𝑛 = 𝐸𝑛𝑐(𝑥1 𝑦1 + ⋯ + 𝑥 𝑛 𝑦𝑛)
• ペアリングを用いた高速なアルゴリズムと実装を提案
• Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and
A Fast Implementation in WebAssembly, ASIACCS 2018
• 産総研との共同研究
レベル2準同型暗号
暗号文ベクトルの内積 ベクトルの内積の暗号文=
5 / 15
• (個人)データを収集し、分析して知見を得たい
• ○○を買った人は△△も買いそう
• ××と□ □に相関が
データ分析
平文を送信 データを集約して分析
マンガ1 マンガ2 小説1 iPhone カメラ1
Aさん ○ ○ ○ ○
Bさん ○
Cさん ○ ○ ○
... ○
マンガ2を買ってる人は
カメラ1を買う?
6 / 15
• データ提供者にとって
• 利点:よりよい価値を受けられる
• 欠点:プライバシーが心配
• 集計・分析者
• 利点:データを分析できて嬉しい
• 欠点:実は個別の情報は不要なんだけどな(というケース)
• 準同型暗号
• データ分析者を集計者と分析者に分離
利点と欠点
7 / 15
• 暗号化されたデータを集めて計算
https://herumi.github.io/she-wasm/cross-demo-ja.html
準同型暗号によるデータ分析
マンガ2購入 購入せず
カメラ1購入 * *
購入せず * *
暗号文を
送信
マンガ1 マンガ2 小説1 iPhone カメラ1
Aさん * * * * *
Bさん * * * * *
Cさん * * * * *
... * * * * *
暗号文のままクロス集計
マンガ2購入 購入せず
カメラ1購入 80 20
購入せず 10 30
復号して分析
分析者集計者データ
提供者
マンガ2購入 購入せず
カメラ1購入 * *
購入せず * *
8 / 15
• 最も単純なデータクエリ
• AliceはBobが持つテーブル𝑇の𝑛番目の値𝑇[𝑛]が欲しい
• 紛失通信
• AliceはBobが持つテーブル𝑇の𝑛番目の値𝑇[𝑛]が欲しい
• ただしBobに𝑛を教えない
紛失通信
Alice Bob
𝑇1 𝑇2 𝑇3 𝑇𝑛 …
𝐸𝑛𝑐(𝑛)番目の値が欲しい
𝐸𝑛𝑐(𝑇 𝑛 )を返す
…
Alice Bob
𝑇1 𝑇2 𝑇3 𝑇𝑛 …
𝑛番目の値が欲しい
𝑇[𝑛]を返す
…
9 / 15
• ISMB/ECCB2019 Posters U-28 (7/24~25)
• 早稲田大学 清水佳奈さんたちとの共同研究
• https://www.iscb.org/cms_addon/conferences/ismbeccb2019/posters.php?track
=VarI%20COSI&session=B
• 調べた遺伝子の位置と対立遺伝子の組をサーバに送り、
データベースに「ある/なし」を返すbeacon検索のクエリ秘匿化
Privacy-preserving Search for Sharing Generic Variants
10 / 15
• 編集距離とは
• ある文字列𝑠1を1文字ずつ挿入・削除・置換をして
別の文字列𝑠2にする操作の一番少ない回数
• 𝑑("abc", "abc")=0
• 𝑑("abcd", "abcX")=1
• 𝑑 "abcd, "dabc" = 2
• 編集距離の文字列の秘匿化
• お互いが文字列を隠したまま計算する
• プライバシーを考慮したクラスタリング・遺伝子解析などに応用
• 東京大学 縫田光司さん、産総研 大畑幸矢さんとの共同研究(CREST JPMJCR19F6)
• (注意)編集距離が判明したことから分かる文字列の情報は許容する
秘匿編集距離
11 / 15
• GitHub(https://github.com/herumi/)で公開
• Xbyak ; C++用JITアセンブラ
• 暗号ライブラリの中心部分を書くためのDSL
• mcl ; ペアリング/準同型暗号ライブラリ
• 高機能暗号を実現するエンジン部分
• bls ; BLS署名
• 秘密分散、集約可能な署名
• 多様な環境に対応
• Windows/Linux/macOS/iPhone/Android
• x64/ARM64/WebAssembly
• Go/C#/Java/Pythonなどのバインディング
オープンソースソフトウェア(OSS)
12 / 15
• 「マネジメントはいらない、論文数で評価しない
R&Dの理想を追求したサイボウズ・ラボは、こんな組織になった」
• https://cybozushiki.cybozu.co.jp/articles/m005323.html
• テーマを各自が設定
• 「サイボウズのオープンソースソフトウェアポリシーを紹介します」
• https://blog.cybozu.io/entry/oss-policy
• 就業時間中に指示無く自発的に作ったものは個人の著作物
著作権は全て個人に帰属
13 / 15
• 様々な要望・バグ指摘・質問
• 99%英語(まれに中国語・日本語)
• 大変だがなかなか楽しい
• 大きなところに使われるとうれしい
• 予想外の環境
• コードの質向上につながる
• 共同研究につながる
OSSで公開すると
14 / 15
• Xbyak
• Intel MKL-DNN(深層学習ライブラリ)
• GitHubで発売前のCPUの新しい命令対応依頼など
• Intel IAGSシニア・アプリケーションエンジニア堀越将司さんと共同研究開始
• ate-pairing
• ゼロ知識証明ライブラリzk-SNARKの実装の一つlibsnark
• bls
• DFINITY; BLS署名をブロックチェーンで利用する先駆け
• Harmony.one, 0CHAIN, ChainSafe, spacemesh, ...
• mcl
• Prysmatic Labs Ethereum 2.0, AZTEC protocol, ...
利用プロジェクト(一部)
15 / 15

More Related Content

PDF
暗号技術の実装と数学
PDF
ブロックチェーン系プロジェクトで着目される暗号技術
PPTX
zk-SNARKsの仕組みについて
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
PDF
BLS署名の実装とその応用
PDF
Bitcoinを技術的に理解する
PDF
暗認本読書会7
PDF
楕円曲線と暗号
暗号技術の実装と数学
ブロックチェーン系プロジェクトで着目される暗号技術
zk-SNARKsの仕組みについて
RSA暗号運用でやってはいけない n のこと #ssmjp
BLS署名の実装とその応用
Bitcoinを技術的に理解する
暗認本読書会7
楕円曲線と暗号

What's hot (20)

PDF
楕円曲線入門 トーラスと楕円曲線のつながり
PDF
暗認本読書会12
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
PDF
集約署名
PDF
暗号文のままで計算しよう - 準同型暗号入門 -
PDF
暗認本読書会11
PPTX
充足可能性問題のいろいろ
PPT
技術勉強会(楕円曲線暗号)資料
PDF
katagaitai CTF勉強会 #5 Crypto
PDF
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
PPTX
CyberChefの使い方(HamaCTF2019 WriteUp編)
PDF
Protocol Buffers 入門
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PPTX
AVX-512(フォーマット)詳解
PPTX
本当は恐ろしい分散システムの話
PDF
TLS, HTTP/2演習
PDF
新しい暗号技術
PDF
組み込み関数(intrinsic)によるSIMD入門
PDF
暗認本読書会6
PDF
Re永続データ構造が分からない人のためのスライド
楕円曲線入門 トーラスと楕円曲線のつながり
暗認本読書会12
SPAセキュリティ入門~PHP Conference Japan 2021
集約署名
暗号文のままで計算しよう - 準同型暗号入門 -
暗認本読書会11
充足可能性問題のいろいろ
技術勉強会(楕円曲線暗号)資料
katagaitai CTF勉強会 #5 Crypto
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
CyberChefの使い方(HamaCTF2019 WriteUp編)
Protocol Buffers 入門
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
AVX-512(フォーマット)詳解
本当は恐ろしい分散システムの話
TLS, HTTP/2演習
新しい暗号技術
組み込み関数(intrinsic)によるSIMD入門
暗認本読書会6
Re永続データ構造が分からない人のためのスライド
Ad

More from MITSUNARI Shigeo (20)

PDF
範囲証明つき準同型暗号とその対話的プロトコル
PDF
暗認本読書会13 advanced
PDF
暗認本読書会10
PDF
暗認本読書会9
PDF
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
PDF
暗認本読書会8
PDF
暗認本読書会5
PDF
暗認本読書会4
PDF
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
PDF
私とOSSの25年
PDF
WebAssembly向け多倍長演算の実装
PDF
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
PDF
HPC Phys-20201203
PDF
LazyFP vulnerabilityの紹介
PDF
Intro to SVE 富岳のA64FXを触ってみた
PDF
ゆるバグ
PDF
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
PDF
自作ペアリング/BLS署名ライブラリの紹介
PDF
A compact zero knowledge proof to restrict message space in homomorphic encry...
PDF
Spectre/Meltdownとその派生
範囲証明つき準同型暗号とその対話的プロトコル
暗認本読書会13 advanced
暗認本読書会10
暗認本読書会9
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
暗認本読書会8
暗認本読書会5
暗認本読書会4
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
私とOSSの25年
WebAssembly向け多倍長演算の実装
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
HPC Phys-20201203
LazyFP vulnerabilityの紹介
Intro to SVE 富岳のA64FXを触ってみた
ゆるバグ
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
自作ペアリング/BLS署名ライブラリの紹介
A compact zero knowledge proof to restrict message space in homomorphic encry...
Spectre/Meltdownとその派生
Ad

暗号化したまま計算できる暗号技術とOSS開発による広がり