SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
暗号文のままで計算しよう
準同型暗号入門
第6回プログラマのための数学勉強会
2016/3/19
光成滋生
• 準同型暗号とは何か
• 加法準同型暗号のデモ
• 楕円ElGamal暗号
• 完全準同型暗号
• その原理の雰囲気の紹介
• 『クラウドを支えるこれからの暗号技術』
• 公開鍵暗号の最先端応用技術・理論
• 準同型暗号が載ってる和書は現時点で本書のみ
• 数学成分高め
• https://herumi.github.io/ango/
概要
2/39
• 光成滋生(@herumi)
• @IT連載記事「クラウド時代の暗号化技術論」
• http://www.atmarkit.co.jp/ait/series/1990/
• CODE BLUE2015
• Excelのパスワード暗号化にあったバグの話
• http://www.slideshare.net/herumi/ms-office-54510219
• 属性ベース暗号の実装でIEEE trans. on Computers 2014採録
• 『パターン認識と機械学習の学習』(PRML副読本)
• Toypcryptの解読で経産省の情報化月間推進会議議長表彰
• IPA未踏スーパークリエータ
• 午後のこ~だ
自己紹介
3/39
• cybozu.com
• グループウェアのクラウドサービス( 1万3000社以上)
• 自前インフラ
• We are hiring!
• アーキテクチャ刷新プロジェクト「Neco」の紹介
• http://blog.cybozu.io/entry/2016/03/11/080000
• チームワークあふれる社会を創る
• http://cybozu.co.jp/company/job/recruitment/
• 3/30 第5期サイボウズ・ラボユース成果報告会
• 学生のオープンソースソフトウェアの開発をサポート
• https://atnd.org/events/75830
会社の紹介
4/39
• 準同型暗号の動機
• 準同型暗号とは何か
• 加法準同型暗号のデモ
目次
5/39
• 暗号文から平文の情報が得られない
• ごちゃごちゃにかき混ぜる
• ホワイトノイズと区別できない
• 圧縮もできない
• 何もできない
暗号化
秘密の文章
暗号化
6/39
• クライアントで暗号化すると
• クラウドは単なるデータ置き場
• 検索も計算も何もできない
• クラウドのCPUパワーを活かせない
• 暗号化したまま処理したい!
クラウドにおけるモチベーション
7/39
• 暗号化したまま計算できる暗号方式
• ひっくり返したコップの中のボールが移動する
テーブルマジックみたいなの
準同型暗号(Homomorphic Encryption)
8/39
• 暗号化された身長・体重の平均値をクラウド上で計算
• 暗号化された2個のベクトルの近さ(内積)を計算
• マッチング, 集合演算, ロジスティック回帰 etc.
• 各社・組織注力してるジャンル
• http://www.hitachi.co.jp/rd/portal/contents/story/searchable_encryption/
• http://www.nict.go.jp/press/2016/01/14-1.html
• http://pr.fujitsu.com/jp/news/2016/02/15.html
準同型暗号があると
9/39
楕円ElGamalを用いた加法準同型暗号の
デモ
10/39
• 楕円ElGamalを用いた加法準同型暗号
• ここの「楕円」は「楕円曲線」
言葉の説明
11/39
• 楕円
• 曲線
楕円曲線とは
ではない
でもない
12/39
• 浮輪の表面(トーラス)
• 複素数的な意味で曲線(1次元)なので実数的には2次元
• この上で計算(足し算)する
• どうやって?
楕円曲線とは
13/39
• 長方形になる
楕円曲線を切り開くと
14/39
• 長方形上の2個のベクトルを足す
• 𝑂, 𝑃, 𝑄, 𝑃 + 𝑄が平行四辺形になる
• 足してはみ出たら反対側に回り込む
楕円曲線上の足し算
𝑃
𝑂
𝑄
𝑃 + 𝑄
𝑃 + 𝑄
15/39
• ベクトルの向きを反対にしたら−𝑃
楕円曲線上の引き算
𝑃
𝑂
−𝑃
−𝑃
16/39
• 一歩が𝑃のベクトルを延ばし続ける
• 端に来ても反対側から出て延ばし続ける
点を何倍にもする
𝑃
𝑂
2𝑃
3𝑃
4𝑃5𝑃 10100 𝑃
4𝑃
17/39
• 点𝑃を𝑛倍するのは簡単だが、
𝑛倍された点𝑛𝑃から𝑛を求めるのは難しい
• 楕円離散対数問題(ECDLP)が困難であるという
楕円曲線の重要な性質
𝑥, 𝑃 𝑄 = 𝑥𝑃
容易
困難
18/39
• パラメータ設定
• 楕円曲線上の点𝑃と秘密の整数𝑥をとり𝑄 = 𝑥𝑃とする
• 秘密鍵 : 𝑥
• 公開鍵 : (𝑃, 𝑄)
• 他人は𝑃と𝑄から𝑥は求められない(ECDLPが困難)
楕円ElGamal暗号(1/3)
19/39
• 暗号化
• メッセージ𝑀(楕円曲線の点)に対して乱数𝑟を選ぶ
• 公開鍵 𝑃, 𝑄 に対して
𝐸𝑛𝑐 𝑀 = 𝑟𝑃, 𝑀 + 𝑟𝑄
• 他人は𝑟𝑃から𝑟を求められない
楕円ElGamal暗号(2/3)
20/39
• 復号
• 暗号文𝑐 = (𝐶1, 𝐶2)に対して秘密鍵𝑥を使って
𝐷𝑒𝑐 𝑐 = 𝐶2 − 𝑥𝐶1
• 元に戻ることの確認
• 𝑄 = 𝑥𝑃
• 𝐸𝑛𝑐 𝑀 = 𝐶1, 𝐶2 = (𝑟𝑃, 𝑀 + 𝑟𝑄)なので
𝐷𝑒𝑐 𝐸𝑛𝑐 𝑀 = 𝑀 + 𝑟𝑄 − 𝑥 𝑟𝑃 = 𝑀 + 𝑟𝑥𝑃 − 𝑥𝑟𝑃 = 𝑀
楕円ElGamal暗号(3/3)
21/39
• 楕円曲線って「𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏」じゃないの?
• トーラスと𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏には深遠な関係がある
• 楕円曲線入門「トーラスと楕円曲線のつながり」
• http://www.slideshare.net/herumi/ss-58815597
• https://twitter.com/herumi/status/703839001107533824
補足
𝑃
𝑄
𝑃 + 𝑄
22/39
• 楕円ElGamal暗号を用いた加法準同型暗号
• 残りは「加法準同型暗号」
• 暗号化したまま足し算ができる暗号
• どうやって?
ここまで
23/39
• 二つの暗号文を用意する
• 𝐸𝑛𝑐 𝑀1 = 𝑟1 𝑃, 𝑀1 + 𝑟1 𝑄
• 𝐸𝑛𝑐 𝑀2 = (𝑟2 𝑃, 𝑀2 + 𝑟2 𝑄)
• 成分ごとに足してみる
• 𝐸𝑛𝑐 𝑀1 + 𝐸𝑛𝑐 𝑀2 = ( 𝑟1 + 𝑟2 𝑃, 𝑀1 + 𝑀2 + 𝑟1 + 𝑟2 𝑄)
• 𝑟′
= 𝑟1 + 𝑟2とすると
• 𝐸𝑛𝑐 𝑀1 + 𝐸𝑛𝑐 𝑀2 = (𝑟′ 𝑃, 𝑀1 + 𝑀2 + 𝑟′ 𝑄)
• 𝑀1 + 𝑀2を暗号化したものと同じ形!
• 𝐸𝑛𝑐 𝑀1 + 𝐸𝑛𝑐 𝑀2 = 𝐸𝑛𝑐(𝑀1 + 𝑀2)
• この性質を加法準同型という
暗号文を足してみる
24/39
• 楕円曲線ライブラリ(開発中)
• https://github.com/herumi/mcl
• 先ほどのデモのコード
• https://github.com/herumi/add_he
実装
25/39
• かなり頑張ってます(for Win/Linux/Mac)
• Xbyak(C++による自作x86/x64 JITアセンブラ)による最適化
• https://github.com/herumi/xbyak
• 注意)C++のコードであってinlineアセンブラではない
• ペアリング暗号の世界最速実装
• https://github.com/herumi/ate-pairing
実装
26/39
• x64以外はLLVM IR(LLVMのアセンブラ)で記述
• 32/64ビットARMでも動く(はず)
• 単純なコードは手書きアセンブラの速度に匹敵
• 複雑なcarry演算を伴うものはまだ手書きが強い
LLVM
27/39
• 完全準同型暗号とは何か
• 完全準同型暗号の原理の雰囲気
• ブートストラップ
目次
28/39
• 何が完全?
• 数学には同型という言葉があるがそれとは違う
• 「準同型」は数学用語
• 「完全」は暗号?用語
• 数学用語なら環準同型
• 足し算だけ、掛け算だけができる暗号は
2000年までに構成されていた
• 足し算と掛け算の両方ができる暗号が長年の夢
• 2009年Gentryが達成
• ただし当初は1bitの平文の暗号文が1GBぐらい
• 現在さかんに改良されている
完全準同型暗号(Fully HE)
29/39
• 0と1の世界で足し算はxor, 掛け算はandに相当
• 足し算(xor)
• 掛け算(and)
• 両方できると任意の関数を構成できる(完全)
• 関数𝑓に対して𝑓 𝐸𝑛𝑐 𝑚 = 𝐸𝑛𝑐(𝑓 𝑚 )
0と1
+ 0 1
0 0 1
1 1 0
× 0 1
0 0 0
1 0 1
30/39
• 𝑛 × 𝑚行列𝐴, 𝑚次元ベクトル𝑏が与えられたときに
𝐴𝑠 = 𝑏となる𝑛次元ベクトル𝑠を求めよ
• これは容易
ざっくりとした原理の説明
𝑛
𝐴𝑚 𝑠 = 𝑏𝑛 𝑚
31/39
• 小さい値のノイズ𝑒が入ると
• 𝐴, 𝑏が与えられたときに𝐴𝑠 + 𝑒 = 𝑏となる𝑠, 𝑒を求めよ
• とても難しい
• 秘密の値を知ってる人は𝑒を除去できるが
他人はできない
LWE(Learning with Errors)問題
𝑛
𝐴𝑚 𝑠 = 𝑏𝑛 𝑚+ 𝑒
32/39
• 暗号文は「平文𝑚の情報」+「小さいノイズ」の形
• 「平文𝑚の情報」は𝑚そのものではないが詳細は略
• 楕円曲線は使わない
• 秘密鍵を知っている人は𝑚を取り出せるが他人は無理
• LWE問題が根拠
• ノイズを除去する方法も今回は省略
• 2個の暗号文を考える
• 𝑐1 = 𝑚1 + 𝑒1, 𝑐2 = 𝑚2 + 𝑒2
準同型の雰囲気(注意:原理ではない)
𝑚1
𝑒1
𝑚2
𝑒2
33/39
• 2個の暗号文を足してみる
• 𝑐1 = 𝑚1 + 𝑒1, 𝑐2 = 𝑚2 + 𝑒2
• 足すと:
𝑐1 + 𝑐2 = 𝑚1 + 𝑚2 + (𝑒1 + 𝑒2)
• これは「𝑚1 + 𝑚2の情報」+「ノイズ」の形
• 暗号文から𝑚1 + 𝑚2を取り出せる
• 加法準同型!
加法準同型
𝑚1
𝑚2
𝑒1 + 𝑒2
34/39
• 2個の暗号文を掛けてみる
• 𝑐1 = 𝑚1 + 𝑒1, 𝑐2 = 𝑚2 + 𝑒2
• 𝑐1 𝑐2 = 𝑚1 + 𝑒1 𝑚2 + 𝑒2
= 𝑚1 𝑚2 + 𝑚1 𝑒2 + 𝑚2 𝑒1 + 𝑒1 𝑒2
= 𝑚1 𝑚2 + 𝑒′
• 𝑒1, 𝑒2が𝑚1, 𝑚2に比べて十分小さければ
𝑒′ = 𝑚1 𝑒2 + 𝑚2 𝑒1 + 𝑒1 𝑒2は𝑚1 𝑚2に比べて小さい
• 𝑐1 𝑐2は「𝑚1 𝑚2の情報」+「ノイズ」の形
• 暗号文から𝑚1 𝑚2を取り出せる
• 乗法準同型!
• 加法と乗法の両方ができるので完全準同型暗号
乗法準同型
35/39
• これって何度もやってるとノイズが増えない?
• yes
• 「小さいノイズ」ではなくなって復号に失敗する
• 演算回数に上限がある
• 特に掛け算が辛い
• Somewhat HE(ちょっとだけ完全準同型?)と言う
• ただしSHEでも十分役に立つケースは多い
• 例:ベクトルの内積𝑎1 𝑏1 + 𝑎2 𝑏2 + ⋯ + 𝑎 𝑛 𝑏 𝑛
• 掛け算一度だけの後、足すだけなのでノイズは増えにくい
疑問
36/39
𝑒
範囲を越えると
復号できない
𝑚
• SHEからFHEへ
• 回数制限のないHEの構成手法
• ノイズのある暗号文を
「暗号化したまま復号する回路」に入れて
きれいな暗号文にする
• おまえは何を言っているんだ
• http://people.csail.mit.edu/shaih/pubs/3.FHE.pdf p.7より引用
ブートストラップ(1/2)
𝐸𝑛𝑐 𝑚 + 𝑒 𝐸𝑛𝑐 𝑚
37/39
• ノイズが増えてきた暗号文をc = 𝐸𝑛𝑐 𝑚 + 𝑒とする
• 秘密鍵𝑠を使って復号すると𝐷𝑒𝑐 𝑠, 𝑐 = 𝑚
• ここで𝑓𝑐 𝑥 = 𝐷𝑒𝑐(𝑥, 𝑐)としてみる
• 𝑓𝑐は𝑠を入れると𝑚がでる関数 : 𝑓𝑐 𝑠 = 𝐷𝑒𝑐 𝑠, 𝑐 = 𝑚
• 𝑓𝑐をSHEを使って実装する:𝑓𝑐
• 𝑓𝑐は「暗号化したまま復号する」関数
• 𝑓𝑐に「秘密鍵𝑠の暗号文」𝐸𝑛𝑐(𝑠)を入れると
𝑓𝑐 𝐸𝑛𝑐 𝑠 = 𝐸𝑛𝑐 𝑓𝑐 𝑠 = 𝐸𝑛𝑐(𝑚)
• ノイズが無くなった!
• ブートストラップで回数制限を取り除ける→完全準同型へ
• 暗号化したままAESを計算する実装もある
• おまえは何を(略
ブートストラップ(2/2)
38/39
• 準同型暗号を使うと暗号化したまま計算できる
• 加法準同型暗号の一つに楕円ElGamal暗号があり
十分実用的
• 完全準同型は現在活発に研究されている
• 一部制限のあるSHEの様々な応用が提案されている
まとめ
39/39

Más contenido relacionado

La actualidad más candente

ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)MITSUNARI Shigeo
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしないPyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしないToshihiro Kamishima
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術MITSUNARI Shigeo
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらとToshinori Sato
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdfcatupper
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習Deep Learning JP
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 

La actualidad más candente (20)

暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしないPyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 

Destacado

Enigmaの解説
Enigmaの解説Enigmaの解説
Enigmaの解説丈 宮本
 
営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったことDaisuke Kotaki
 
Riemann球面に 内接する直方体[第四回日曜数学会]
Riemann球面に内接する直方体[第四回日曜数学会]Riemann球面に内接する直方体[第四回日曜数学会]
Riemann球面に 内接する直方体[第四回日曜数学会]Yuto Horikawa
 
最大公約数に関するささやかな知見
最大公約数に関するささやかな知見最大公約数に関するささやかな知見
最大公約数に関するささやかな知見ayatsuka
 
圏論とHaskellは仲良し
圏論とHaskellは仲良し圏論とHaskellは仲良し
圏論とHaskellは仲良しohmori
 
かんたんベジェ曲線
かんたんベジェ曲線かんたんベジェ曲線
かんたんベジェ曲線Yu(u)ki IWABUCHI
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うhayato iida
 
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会Junpei Tsuji
 
nichiyou vol.4
nichiyou vol.4nichiyou vol.4
nichiyou vol.4tsu nuts
 
実践Scalaでペアノの公理
実践Scalaでペアノの公理実践Scalaでペアノの公理
実践Scalaでペアノの公理Yasuki Okumura
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考えるYu(u)ki IWABUCHI
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について和人 桐ケ谷
 
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料Ken'ichi Matsui
 
第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~Makoto Kohno
 
Poincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsPoincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsTatsuya Shirakawa
 

Destacado (16)

Enigmaの解説
Enigmaの解説Enigmaの解説
Enigmaの解説
 
営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと
 
Riemann球面に 内接する直方体[第四回日曜数学会]
Riemann球面に内接する直方体[第四回日曜数学会]Riemann球面に内接する直方体[第四回日曜数学会]
Riemann球面に 内接する直方体[第四回日曜数学会]
 
最大公約数に関するささやかな知見
最大公約数に関するささやかな知見最大公約数に関するささやかな知見
最大公約数に関するささやかな知見
 
圏論とHaskellは仲良し
圏論とHaskellは仲良し圏論とHaskellは仲良し
圏論とHaskellは仲良し
 
かんたんベジェ曲線
かんたんベジェ曲線かんたんベジェ曲線
かんたんベジェ曲線
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱う
 
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
 
nichiyou vol.4
nichiyou vol.4nichiyou vol.4
nichiyou vol.4
 
実践Scalaでペアノの公理
実践Scalaでペアノの公理実践Scalaでペアノの公理
実践Scalaでペアノの公理
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について
 
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
 
第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~
 
Packing
PackingPacking
Packing
 
Poincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsPoincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical Representations
 

Similar a 暗号文のままで計算しよう - 準同型暗号入門 -

T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版Masami Yabushita
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかMasami Yabushita
 
Hacking demonstration 2018
Hacking demonstration 2018Hacking demonstration 2018
Hacking demonstration 2018Yasutaka Hiraki
 
アルゴリズムを楽しく!@PiyogrammerConference
アルゴリズムを楽しく!@PiyogrammerConferenceアルゴリズムを楽しく!@PiyogrammerConference
アルゴリズムを楽しく!@PiyogrammerConferenceKensuke Otsuki
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)Kensuke Otsuki
 
虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表VerKensuke Otsuki
 

Similar a 暗号文のままで計算しよう - 準同型暗号入門 - (8)

T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
 
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうかわんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
わんくま勉強会東京#82 あおいたんのパズルを数学しましょうか
 
Hacking demonstration 2018
Hacking demonstration 2018Hacking demonstration 2018
Hacking demonstration 2018
 
アルゴリズムを楽しく!@PiyogrammerConference
アルゴリズムを楽しく!@PiyogrammerConferenceアルゴリズムを楽しく!@PiyogrammerConference
アルゴリズムを楽しく!@PiyogrammerConference
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver虫食算を作るアルゴリズム 公表Ver
虫食算を作るアルゴリズム 公表Ver
 
凸包
凸包凸包
凸包
 
集約署名
集約署名集約署名
集約署名
 

Más de MITSUNARI Shigeo

Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用MITSUNARI Shigeo
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介MITSUNARI Shigeo
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...MITSUNARI Shigeo
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生MITSUNARI Shigeo
 

Más de MITSUNARI Shigeo (20)

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

Último

キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 

Último (12)

キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 

暗号文のままで計算しよう - 準同型暗号入門 -