SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
新しい暗号技術

2013/11 セキュリティ(プレ)ミニキャンプ

光成滋生
自己紹介
 大学時代
 京都大学数理解析研究所では代数幾何
コンピュータとは縁のない世界

 暗号にも興味を持つ
 mp3エンコーダ「午後のこ~だ」の開発(LGPL2)

 就職後
 IPAからの依頼で暗号解読プログラムの作成(2004年)
 『機械学習の学習』(CCA-BY3)
2012年ジュンク堂のコンピュータ書籍売り上げ3位
 http://compbook.g.hatena.ne.jp/compbook/20130110

 暗号の高速な実装(2013/8の時点で世界最速)
The Realm of the Pairings(SAC2013)
 http://sac2013.irmacs.sfu.ca/sched.html
2013/11

2 /58
目次
 暗号
 mod pの世界
 巾乗の計算
 離散対数問題
 ElGamal暗号
 Diffie-Hellman鍵共有

 楕円曲線
 楕円曲線上のDLP

 新しい暗号
 ペアリング
IDベース暗号
短い署名

 秘密の検索
2013/11

3 /58
暗号(化)とは
 私とあなたとのやりとりを他人が見ても、
その内容を知られないようにするやり方
 ここでは特に
文をある方法に従って元がわからないものに置き換える方法

2013/11

4 /58
古代の方法
 アルファベットを一文字後にずらす
 Hello => Ifmmp
 一文字前にずらす : IBM => HAL
"n文字ずらす"のnが秘密鍵
これは容易に破られてしまう

 変換テーブルを作る
a

b

c

d

e

f

...

X

k

g

3

5

4

...

 1対1である必要がある
 これも統計情報を使うと容易に破られる
たとえば英語なら
 一番多いアルファベットはe。qの後は大抵uなど
2013/11

5 /58
共通鍵暗号
 秘密鍵暗号とも言われる
 暗号化に必要な鍵と復号に必要な鍵が同じ暗号

 暗号化されたあとの情報をできるだけランダムにする
 AES, MISTY(三菱), Camellia(NTT)など

 暗号強度
 秘密鍵の長さが128bit
鍵の種類が 2128 = 3.4 ∗ 1038個
1秒間に1京(=1016 )回チェックしても全部調べるのに1000兆年

 全数探索しなくてもよい方法が日々研究されている
弱点が見つかると「弱くなった」「破られた」と言われる
2013/11

6 /58
ネットショッピングで使うには
 安全な共通鍵暗号があったとする
 買い物で使うクレジット番号は暗号化して送りたい
 AESで暗号化したとしてその秘密鍵はどうやって送ろうか
その秘密鍵をもう一度暗号化? その暗号化に必要な鍵は???

 二人の間で安全に秘密の数値を共有する必要がある
 どうやって?

2013/11

7 /58
時計の世界
 アナログ時計の時刻は12時間たつと元に戻る
 今10時。1時間後は11時。3時間後は1時。
 12で割った余りだけを考える(時計は1~12の数値だが)

 整数𝑎を整数𝑝で割った余りを𝑎 mod 𝑝と書く。
 𝑎 = 𝑞𝑝 + 𝑟, (0 ≤ 𝑟 < 𝑛) となるように調節する

例
 (10 + 1) mod 12 = 11
 (10 + 3) mod 12 = 1
 -19 mod 12 = 5
-19 = (-2) * 12 + 5
2013/11

8 /58
余りの世界
 足し算と引き算
 (a mod p) ± (b mod p) = (a ± b) mod p
 余りを足したものは足したものの余り

 掛け算も同様
 余りを掛けたものは掛けたものの余り

 巾乗も大きくなる前に余りをとることができる
例
210 = 1024 = 10(mod 13)
29 = 5だから210 = 5 ∗ 2 = 10(mod 13)
𝑎

2

3

4

5

6

7

8

9

10

11

12

2 𝑎 mod 13
2013/11

1

2

4

8

3

6

12

11

9

5

10

7

1
9 /58
Diffie-Hellman鍵共有(1976年)
 AさんとBさんの間で秘密の数字を共有したい
 𝑔と𝑛を二人の間で決める(公開情報)
 Aさんは数字𝑎を決めてK 𝐴 = 𝑔 𝑎 mod 𝑝 を求めて公開
𝑎は非公開(秘密鍵)

 Bさんは数字𝑏を決めてK 𝐵 = 𝑔 𝑏 mod 𝑝を求めて公開
𝑏は非公開(秘密鍵)
𝑎

 Aさんは𝑎と𝐾 𝐵 を使って(K 𝐵 ) =
 Bさんは𝑏と𝐾 𝐴 から(K 𝐴 ) 𝑏 = 𝑔 𝑎

𝑎
𝐾𝐴
2013/11

𝑔
𝑏

𝑏

𝑎

= 𝑔 𝑎𝑏 を求める

= 𝑔 𝑎𝑏 を求める

𝑏
𝐾𝐵

非公開
公開
10 /58
これで秘密に共有できるのか
 𝑎が秘密でK 𝐴 = 𝑔 𝑎 mod 𝑝が公開
 K 𝐴 から𝑎が求められるのではないか?
 数学的にはもちろんyes

 𝑔 𝑎 mod 𝑝が与えられたときに𝑎を具体的に求めよ
 離散対数問題(DLP:Discrete Logarithm Problem)という

 𝑝が十分大きい素数のときDLPは難しい
 と信じられている
今のところ解いたという人はいない

 10進数300桁以上のとき計算機で現実時間内に求められない
 大きくてもDLPが易しい𝑝は存在するのでそれは除外する
2013/11

11 /58
Diffie-Hellman問題
 素朴な疑問
 𝑔, 𝑔 𝑎 , 𝑔 𝑏 が与えられたときに𝑎, 𝑏を求められなくても𝑔 𝑎𝑏 が求め
られたりしないのか
Diffie-Hellman(DH)問題と言われる

 この問題もDLPと同じぐらい難しいと思われている
DLPが解ければDH問題も解けるが、逆が真かは未解決

 なので、今のところDiffie-Hellman鍵共有は安全

2013/11

12 /58
DH鍵共有の注意点
 秘密に鍵共有はできるが途中経路での改竄には弱い
 A, Bが本人であるかの認証機構が別途必要

A
𝐾𝐴

B
𝐾𝐴

𝐾𝐵

𝐾𝐵
正常時

A
𝑎
𝐾𝐴
𝑔𝑑

B
𝑏

悪者

𝐾 𝐴 でなく𝑔 𝑐 を渡す
𝐾 𝐵 でなく𝑔 𝑑 を渡す

Aの秘密鍵=𝑔 𝑑𝑎

𝑔𝑐
𝐾𝐵

Bの秘密鍵=𝑔 𝑏𝑐

𝑔 𝑑𝑎 で暗号化されたものを復号
して𝑔 𝑏𝑐 で再暗号化して渡す
2013/11

13 /58
巾乗の計算
 𝑝が10進数300桁ってたとえば
179769313486231590772930519078902473361797697
894230657273430081157732675805500963132708477
322407536021120113879871393357658789768814416
622492847430639474124377767893424865485276302
219601246094119453082952085005768838150682342
462881473913110540827237163350510684586298239
947245938479716304835356329624224137859

 素朴な疑問
 2 𝑎 mod 𝑝 (aが10進数300桁)とかって計算できるの?
1回の掛け算を1nsec(=10−9 秒)でできたとしても2をa回かけるの
は
10−9 ∗ 10300 = 3 ∗ 10283 年!
2013/11

14 /58
うまい方法がある
 2100 mod 1000000はいくつ?
 2100 = ( 225 2 )2
 225 = 2 ∗ 224 = 2 ∗ 23

8

= 2 ∗ (( 23 2 )2 )2

23 = 8
 23 2 = 64
( 23 2 )2 = 4096
(( 23 2 )2 )2 =777216
225 = 554432
250 = 842624
2100 = 205376

 9回の掛け算で計算できた

2013/11

15 /58
バイナリメソッド
 gの2乗を繰り返したものを作る
 𝑔, 𝑔2 , 𝑔4 , 𝑔8 , 𝑔16 , …
 これは1024回すればよい
繰り返しの数(𝑛)
𝑔2

𝑛

0

2

3

4

...

1024

𝑔

𝑔2

𝑔4

𝑔8

...

𝑔2

1024

 aを2進数展開してビットが立ってところを掛けていく
i番目のビット

1

2

3

4

...

1024

a=0b1...1011

∗ 𝑔

∗ 𝑔2

スキップ

∗ 𝑔8

...

𝑔2

1024

 計算回数
 高々(log 2 𝑎) ∗ 2 回の掛け算で𝑔 𝑎 を計算できる
十分高速に計算可能
2013/11

16 /58
公開鍵暗号
 共通鍵暗号は秘密鍵をどうやって渡すかが悩ましい
 暗号化する鍵と復号する鍵を分けたらよいのでは?

 公開鍵暗号
 みなに教える公開鍵𝐾 𝑝𝑢𝑏 と誰にも教えない秘密鍵𝐾 𝑝𝑟𝑣 を使う
𝐾 𝑝𝑢𝑏 から𝐾 𝑝𝑟𝑣 を作れない

 暗号化するときは𝐾 𝑝𝑢𝑏 を使う
𝑐 = 𝐸𝑛𝑐(𝑚, 𝐾 𝑝𝑢𝑏 )

 復号するときは𝐾 𝑝𝑟𝑣 を使う
𝑚 = 𝐷𝑒𝑐(𝑐, 𝐾 𝑝𝑟𝑣 )

 𝐾 𝑝𝑢𝑏 を知ってる人は誰でも暗号化できる
 復号は𝐾 𝑝𝑟𝑣 を知ってる人しかできない
2013/11

17 /58
余りの世界再び
 割り算はどうする
 足し算、引き算、掛け算はよかった
2 * 7 = 14 = 1(mod 13)
2に7を掛けたら1になった。ということは7は2の逆数?

 1/2 = 7(mod 13)と定義しよう
x

1

2

3

4

5

6

7

8

9

10

11

12

𝑥 −1

1

7

9

10

8

11

2

5

3

4

6

12

 逆数がないときもある
p = 12のとき 2 * 6 = 0 mod 12
 二つの数を掛けたら0になってしまった

 pが素数なら0以外の数には必ず逆数がある
 この世界を以後有限体𝐹 𝑝 と呼ぶ

2013/11

18 /58
ElGamal暗号(1984年)
 gとpを固定し皆に公開する
 xをランダムに選び𝑦 = 𝑔 𝑥 mod 𝑝とする
 xが秘密鍵でyが公開鍵

 mの暗号化
 𝑟を乱数として𝐸𝑛𝑐 𝑚 = 𝑐1 , 𝑐2 = (𝑔 𝑟 , 𝑚 𝑦 𝑟 )

 復号
x
 𝐷𝑒𝑐 𝑐1 , 𝑐2 = 𝑐2 /𝑐1 = 𝑚𝑦 𝑟 /𝑔 𝑟𝑥 = 𝑚
 𝑟が入っているので同じ𝑚を暗号化しても毎回異なる値になる

前回と同じものを暗号化したのかもわからない

 これはDLPが難しいという仮定の元で安全
 巾乗は簡単にできるけど逆が難しいという一方向性を使う
2013/11

19 /58
ElGamal暗号の弱点
 復号はできないけれども値の変更は可能
 中間者は𝐸𝑛𝑐 𝑚 = 𝑐1 , 𝑐2 を取得し 𝑐1 , 2𝑐2 を渡す
 受信者が復号するとDec 𝑐1 , 2𝑐2 = 2𝑚となる
 もし𝑚が商品の値段だったら2倍になってしまう!

𝐸𝑛𝑐(1000)

悪者
復号はできないが
′ ′
𝑐1 , 𝑐2 = (𝑐1 , 10𝑐2 )にする

′ ′
𝐷𝑒𝑐 𝑐1 , 𝑐2
= 10000

 改竄されていないかのチェック機構が必要
 Cramer-Shoup暗号(1998年)
ElGamal暗号にハッシュ関数を組み合わせたもの
2013/11

20 /58
2次元の世界へ
 𝐹 𝑝 の世界は1次元的
 p進むと元に戻るのは円周上を
うろうろしていることに相当

−𝑝

0

𝑝

2𝑝

𝑝=0

 2次元にすると球面?
 実はうまくいかない
2次元球面にはきれいな足し算の構造を入れられない

2013/11

21 /58
ドラクエ3の世界(1/3)
 ぱっと見は普通の世界地図だが
 右へ進むと左から出てくる
 上に進むと下から出てくる

 これはどんな形をしている?

2013/11

22 /58
ドラクエ3の世界(2/3)
 ぱっと見は普通の世界地図だが
 右へ進むと左から出てくる
 上に進むと下から出てくる

 上辺と下辺をくっつける

2013/11

23 /58
ドラクエ3の世界(3/3)
 ぱっと見は普通の世界地図だが
 右へ進むと左から出てくる
 上に進むと下から出てくる

 上辺と下辺をくっつける

 左辺と右辺をくっつける
 浮輪の形になる
 球面ではない!(地球と違う世界)
この世界には足し算の構造が入る
2013/11

24 /58
トーラス(浮輪の表面)
 地図の上の足し算
𝑃 + 𝑄を
周りこませる

𝑒2

𝑃+ 𝑄

𝑄

𝑃+ 𝑄
地図からはみ出た

𝑃

𝑒1
 トーラス𝐸上の点𝑃は𝑃 = 𝑎𝑒1 + 𝑏𝑒2 とかける
 (𝑒1 , 𝑒2 )は基底ベクトル, 𝑎, 𝑏は整数
 𝑎, 𝑏はそれぞれ有限体の世界で考える
 二つの点𝑃, 𝑄の和𝑃 + 𝑄は矢印をつないだもの(ベクトルの和)
ただし端まで行ったら反対から出てくる
浮輪の上をぐるぐる回る
2013/11

25 /58
足し算ができるなら
 ある点𝑃の𝑛倍も考えられる
 𝑛𝑃 = 𝑃 + 𝑃 + … + 𝑃(𝑛回足す)
 𝑛倍の計算は𝐹 𝑝 の巾乗の計算と同様に効率よく求められる
 𝑛𝑃と𝑃が与えらえたときに𝑛は求められるのだろうか
 No!
正確には𝑛が大きいととても難しい
例外的に簡単に求められる楕円曲線の形もある

2013/11

26 /58
楕円曲線暗号(1985年)
 楕円曲線(トーラス)上で組み立てられた暗号
 複素数上の曲線なので実2次元

 楕円離散対数問題(ECDLP:Elliptic Curve)
𝑃と𝑛𝑃が与えられたとき𝑛を求める問題
 大きな素数上の楕円曲線についてECDLPは難しい
 有限体と楕円曲線の対比
 掛け算が足し算に変わった以外は形が似てる
有限体
離散対数問題
DH問題
2013/11

𝑔と𝑔 𝑎 から𝑎
𝑔と𝑔 𝑎 と𝑔 𝑏 から𝑔 𝑎𝑏

楕円曲線

𝑃と𝑎𝑃から𝑎
𝑃と𝑎𝑃と𝑏𝑃から𝑎𝑏𝑃
27 /58
楕円ElGamal暗号
 有限体上のElGamal暗号を楕円曲線上に焼き直す
 𝐸と𝑃を固定し皆に公開する
 𝑥をランダムに選び𝑄 = 𝑥𝑃とする
 𝑥が秘密鍵で𝑄が公開鍵

 𝑚の暗号化
 𝑚を𝐸の点に写す
 𝑟を乱数として𝐸𝑛𝑐 𝑚 = 𝑐1 , 𝑐2 = (𝑟𝑃, 𝑚 + 𝑟𝑄)

 復号
 𝐷𝑒𝑐 𝑐1 , 𝑐2 = 𝑐2 − 𝑥𝑐1 = 𝑚 + 𝑟𝑄 − 𝑟𝑥𝑃 = 𝑚

 これはECDLPが難しいという仮定の元で安全
2013/11

28 /58
楕円曲線暗号のメリット
 安全性の比較
 1024bitの有限体上の暗号≒160bitの楕円曲線暗号
 同じぐらいの安全性を持つ有限体上の暗号に対して
小さい鍵サイズでよい
(注意)演算対象が違うので単純に6分の1ではない

 ICカードなどの中の小さいコンピュータでも計算しやすい

2013/11

29 /58
加法群
 "足し算"と引き算と単位元が定義されたものの集まり
 整数の集合を抽象化したもの
 足し算があると、整数倍を定義できる
 楕円曲線では演算は点の足し算、単位元は原点
 有限体では演算は数値の掛け算を"足し算"と思う
単位元は1

 他の加法群を使って暗号を作ることも可能
 超楕円曲線
 アーベル多様体 etc
それがうれしい(解きにくい・計算しやすい)かは別の問題

2013/11

30 /58
公開鍵基盤(PKI)と認証局
 Aさんの公開鍵は本当にAさんのものか
 普段メールやwebなどでいつもやりとりするときに公開鍵を
添付していればだいたい安心
いろんな経路を全て乗っ取り改竄されるとはあまり想像できない

 赤の他人(やショップ)と初めてやりとりするときはわからない

 公開鍵証明書
 Aさんの公開鍵がAさんのものであることを証明するもの

 認証局
 証明書の発行、登録、破棄などの管理する機構
VeriSign, Symantec

 公開鍵基盤
 認証局やその他の方法によって証明書を扱う枠組み
ブラウザには最初からいくつかの証明書が入っている
2013/11

31 /58
公開鍵、PKIへの攻撃
 認証局(Comodo, DigiNotar)への攻撃(2011年)
 偽の証明書を発行してしまう
DIgiNotarは破綻

 本物と区別つかないので盗聴など可能になってしまう
ブラウザ側で特別な対応

 弱い公開鍵
 失効できない弱い(512bit RSA)鍵を発行
1999年に512bit RSAが解読されている

 Microsoft Updateへのなりすまし(2012年)
 Flameというマルウェア
2004, 2007年に攻撃されたMD5の脆弱性を利用?

2013/11

32 /58
ここまでのまとめ
 有限体上の巾乗は易しいが、
何乗したらその値になるかを求めるのは難しい
 この非対称性を用いて公開鍵暗号を作ることができる

 同じ形をしているなら別に有限体じゃなくてもいい
 楕円曲線を使うと楕円離散対数問題、楕円曲線暗号を作れる
 鍵のサイズが小さいのでうれしい

 公開鍵暗号はその公開鍵が本人のものであることを
別の手段で示す必要がある
 公開鍵基盤

2013/11

33 /58
新しい暗号
 2000年以降に登場したいくつかの暗号を紹介
 沢山あるのでほんの一部

2013/11

34 /58
ペアリング(1/2)
 𝐸上の二つの点に対して対応する"面積"を与える関数
 𝑃 = 𝑎𝑒1 + 𝑏𝑒2 , 𝑄 = 𝑐𝑒1 + 𝑑𝑒2 に対し
𝑒 𝑃, 𝑄 = 𝑔 𝑎𝑑−𝑏𝑐
𝑄 = (𝑐, 𝑑)

𝑒2

𝑒1

この平行四辺形の面積
(符号つき)

𝑃 = (𝑎, 𝑏)

ここで𝑔 = 𝑒(𝑒1 , 𝑒2 )は有限体上のある特別な値

 双線形性(面積はそれぞれの辺の長さに比例する)
 𝑒 𝑃1 + 𝑃2 , 𝑄 = 𝑒 𝑃1 , 𝑄 𝑒 𝑃2 , 𝑄
 𝑒 𝑃, 𝑄1 + 𝑄2 = 𝑒 𝑃, 𝑄1 𝑒 𝑃, 𝑄2
2013/11

35 /58
ペアリング(2/2)
 何を手に入れたのか

𝑒 𝑎𝑃, 𝑏𝑄 = 𝑔 𝑎𝑏
 𝑎𝑃や𝑏𝑄は楕円曲線上の点なのでDH問題の困難さから
𝑎𝑏𝑃や𝑎𝑏𝑄みたいなものは求められない
 しかしペアリングにより有限体上でならそれと似た働
きをする𝑔 𝑎𝑏 を計算できている!
 一度だけならDH問題を解ける手段を手に入れた

 ペアリングを双線形写像ともいう
2013/11

36 /58
IDベース暗号
 "公開鍵"を自分の好きなIDに選べる暗号
 たとえば自分のメールアドレスを使う
公開鍵暗号は公開鍵と本人のマッチングが必要だった
メールアドレスは改竄されるとそもそも届かない

 代わりに鍵生成センターがいる
公開鍵暗号の代替になるわけではない

 概念自体は昔(1980年代)からあった
 しかしどうやって実現するのか悩ましい
 多項式を使って作ったものは破られやすい

2013/11

37 /58
ペアリングによるIDベース暗号
 鍵共有方法(1999年~)
 鍵生成
 各ユーザに対してメールアドレスを数値化する
ASCIIコードなどを使って適切に約束を決める

 生成局はアドレスから楕円曲線上の点へのハッシュ関数と整
数𝑠を一つ決める
 ID 𝑢に対して𝐾 𝑢 = 𝑠𝐻 𝑢 を計算しユーザに渡す(秘密鍵)

 AとBの秘密の通信
 AはBのメールアドレス𝑢 𝐵 と自身の𝐾 𝐴 を使って
𝑠 𝐴 = 𝑒 𝐾 𝐴 , 𝐻 𝑢 𝐵 を計算する。
 BはAのメールアドレス𝑢 𝐴 と自身の𝐾 𝐵 を使って
𝑠 𝐵 = 𝑒 𝐻 𝑢 𝐴 , 𝐾 𝐵 を計算する。
 𝑠𝐴 = 𝑒 𝐻 𝑢𝐴 , 𝐻 𝑢 𝐵
2013/11

𝑠

= 𝑠 𝐵 なので秘密の鍵を共有できる
38 /58
公開鍵暗号との違い
 その人のメールアドレスを使って暗号化
 本人に間違いがない(はず)

 鍵生成局に強い権限
 生成局はなんでも見えてしまう(全部盗聴できる)
 生成局を分散化する手法

 暗号化されたファイルを受信してから秘密鍵をもらう
ことができる
 受け取った人が、自身の秘密鍵をもっていなかったら鍵生成
局に聞いてもらえばよい(本人認証は別途必要)

 注意
 公開鍵暗号の代わりとなるものではない
2013/11

39 /58
IDベース暗号の応用
 タイムリリース暗号
 指定した時刻に復号できるようにする暗号
 その時刻よりは前に復号できない
 時報局による(署名つき)時報で復号

受信者

発信者

正しい時刻を
知らせる

情報

時刻を決め
て暗号化

時報局

指定時刻以前
は読めない

情報

時間が来た
ら読める
2013/11

40 /58
タイムリリース暗号
 IDベース暗号でIDとして時刻を使う
 時刻に対する秘密鍵
時刻の署名に使える
 時報局がその時刻の署名として秘密鍵を公開

 特長
 暗号化したい人は鍵管理から開放される

 応用例
 会社のIR情報の提供
今日の3時になると読めるようになる
証券会社などへの事前提供による情報漏れの低減
2013/11

41 /58
電子署名
 ある文章を私が書いたものであることを保証する
 ペアリングを使うとHash関数なしの短い署名を構成できる

 鍵生成
 点𝑃, 𝑄と乱数𝑥, 𝑦を決めて𝑅 = 𝑥𝑄, 𝑆 = 𝑦𝑄, 𝑔 = 𝑒(𝑃, 𝑄)とする
 𝑄, 𝑅, 𝑆, 𝑔 が公開鍵 𝑃, 𝑥, 𝑦 が秘密鍵

 文章𝑚に対する署名
 𝑟をランダムに選び𝑠 =

1
𝑥+𝑚+𝑦𝑟

𝑃として 𝑠, 𝑟 を署名とする

 検証
 𝑠, 𝑟 に対して
𝑒 𝑠, 𝑅 + 𝑚𝑄 + 𝑟𝑆 = 𝑒 𝑠, 𝑥 + 𝑚 + 𝑦𝑟 𝑄 = 𝑔を確認する
2013/11

42 /58
クイズ
 どれが一番難しい?
 (A) 𝑃, 𝑎𝑃, 𝑏𝑃から𝑎𝑏𝑃
 (B) 𝑃, 𝑎𝑃から𝑎2 𝑃
 (C) 𝑃, 𝑎𝑃から 1 𝑎 𝑃

2013/11

43 /58
比較してみる
 (A)ができるなら(B)は解ける
 ∵𝑃, 𝑎𝑃が与えらえたとする。𝑃, 𝑎𝑃, 𝑎𝑃として(A)を使うと
𝑎𝑎𝑃 = 𝑎2 𝑃が求める。

 (B)ができるなら(A)は解ける
 ∵𝑃, 𝑎𝑃, 𝑏𝑃が与えらえたとする。
𝑎𝑃 + 𝑏𝑃 = 𝑎 + 𝑏 𝑃を求める。(B)を使うと
𝑎2 𝑃, 𝑏 2 𝑃, 𝑎 + 𝑏 2 𝑃が求まる。
 𝑎 + 𝑏 2 𝑃 − 𝑎2 𝑃 − 𝑏 2 𝑃 = 2𝑎𝑏𝑃。よって𝑎𝑏𝑃が求まる。

 というわけで(A)の難しさと(B)の難しさは同程度。
 𝑃, 𝑎𝑃 の組を 𝑎𝑃, 𝑎−1 𝑎𝑃 と(B)=(C)もわかる。

 つまり全て同じ難しさ
2013/11

44 /58
電子署名の安全性
 DLPのイメージ
 𝑃, 𝑎𝑃の線形和からその外に出られない
 ならば「𝑃, 𝑎𝑃, 𝑎2 𝑃から1 𝑎 𝑃」はもとめられない?
 「𝑃, 𝑎𝑃, 𝑎2 𝑃, 𝑎3 𝑃から1 𝑎 𝑃」も多分無理?

 「𝑃, 𝑎𝑃, 𝑎2 𝑃, 𝑎3 𝑃, …が与えられたときに
1
ある𝑐 ≠ 0に対して
𝑃を求める問題」
𝑎+𝑐

が難しいということを安全性の根拠にしている

2013/11

45 /58
安全性の根拠をどこにおくのか
 できるだけ皆に調べられているものが望ましい
 離散対数問題、DH問題が難しいという仮定だけが一番
 複雑な機能を実現しようとするとそれよりもきつい仮定を置
くことがよくある
あまりマイナーな仮定を置くのは好まれない

2013/11

46 /58
他には
 放送用暗号
 ユーザにはそれぞれ別々の秘密鍵を配布したい
同じ鍵だと他人にコピーされてしまう
 たとえばクレジットカード番号を鍵に埋めてしまうと抑制力が働く

 コンテンツは一つの鍵で暗号化したい
巨大なデータをユーザごとに暗号化するには帯域が足りない

 属性ベース暗号
 IDベース暗号の拡張
社内秘の文章を読めるのは、部長以上の人、あるいは、特別開発
部の社員の一部だけ
○○という属性を持つ人だけが復号可能な暗号システム

 関数型暗号
 http://www.mitsubishielectric.co.jp/corporate/randd/spotlight/spotlight15.html

 などなどなど
2013/11

47 /58
秘密計算による化合物DBの検索(2011~)
 薬などの化合物は原子の小さい固まり(=基)の集まり
 フェニル基(C6H5-)、ヒドロキシ基(-OH)など

 基は化合物の性質を決める要素の一つ
 二つの化合物は似た基を多く持つと性質も似る傾向がある
 新しい薬を作るときは既存の物との類似性を調べるのが重要

 膨大な化合物の性質の辞書(データベース:DB)
 特定の性質に特化した化合物のDBは売り物になる

2013/11

48 /58
ジレンマ
 研究者(C:クライアント)
 自分の研究分野に特化したDBが欲しい
 何について研究しているかは教えたくない(企業秘密)

 DB販売者(S:サーバ)
 自社のDBを使って買ってほしい
 "立ち読み"されるのは困る

 要求
 Cは自分の調べたい化合物をSに知られたくないが、Sの持つ
DBの中にどれぐらい類似物があるか知りたい
 SはCに類似物がいくつあるか以外のことは教えたくない
2013/11

49 /58
秘匿検索プロトコル
 化合物の類似度
 化合物Xを01の数値列として表す
たとえば𝐵 𝑖 基があればi番目が1, なければ0
C6H5-

N=

-OH

...

X

1

0

1

...

Y

0

1

1

...

 Tversky指数(の簡単な形)
c(X, Y) = # (X and Y) / #(X or Y)
ここで#(何か)は何かのうち1になるものの個数とする
 #(X or Y) = #X + #Y - #(X and Y)

完全一致すると1, 全部違うと0

2013/11

50 /58
ElGamal暗号再び
 ElGamal暗号の弱点だった
𝐸𝑛𝑐 𝑚 𝐸𝑛𝑐 𝑚′ = 𝐸𝑛𝑐 𝑚𝑚′
 暗号化したものの積が元の値の積を暗号化したものに等しい
 この性質を乗法性準同型暗号という

 ElGamal暗号をちょっとひねる
 hをとり𝐸𝑛𝑐 𝑚 = 𝑐1 , 𝑐2 = (𝑔 𝑟 , ℎ 𝑚 𝑦 𝑟 )とすると
′
𝑟 𝑟′
𝑚+𝑚′ 𝑟+𝑟 ′
𝐸𝑛𝑐 𝑚 𝐸𝑛𝑐 𝑚 = 𝑔 𝑔 , ℎ
𝑦
= 𝐸𝑛𝑐(𝑚 + 𝑚′ )
𝑚はあまり大きくないという制約あり

 この性質を加法性準同型暗号という
実現方法は他にもいくつか知られている

 両方同時に満たす暗号を完全準同型暗号という
 2009年に初めて構成される
実用的なものにするため改良研究がさかん
2013/11

51 /58
共通部分を求める
 今回は加法性準同型を使えばできる
 クライアントは検索したい化合物𝑋 = (𝑥 𝑖 )に対して
𝑐 𝑖 = 𝐸𝑛𝑐(𝑥 𝑖 )を求めてサーバSに送る
 Sは各化合物𝑌 = 𝑦 𝑖 について𝑦 𝑖 = 1となる𝑖について
𝐸𝑛𝑐 𝑥 𝑖 を足していく
𝑧=

𝐸𝑛𝑐 𝑥 𝑖 = 𝐸𝑛𝑐(𝑥 𝑖 = 𝑦 𝑖 = 1となる𝑖の個数)
𝑦 𝑖 =1

暗号化されているのでSはXのことは何もわからない
 これでandの個数がでる
 𝐸𝑛𝑐 𝑥 𝑖 より#𝑋もわかる。=> orの個数もわかる
 (注意)実際にはこれに加えてデータの攪乱などの操作をする
2013/11

52 /58
悪意あるクライアントに対する対策
 サーバは𝑥 𝑖 = 0 𝑜𝑟 1と信じて𝐸𝑛𝑐(𝑥 𝑖 )を処理する
 本当はどういう値かわからない
 𝑥 𝑖 に極端に大きい値をいれて𝑦 𝑖 の情報を引き出そうとするかも

 サーバは𝑥 𝑖 が0と1のどちらなのか分からない
 しかし、それ以外の値を暗号化したものではない
ということは知りたい

2013/11

53 /58
ゼロ知識証明
 ある人が自分の持っているある命題が真であることを
それ以外の知識を何も教えずに証明する手法
 1985年に初めて定式化

 様々なパターン
 対話式ゼロ知識証明
何度かやりとりすることで相手に納得させる
 素因数分解を知っている
 離散対数問題の答えを知っている

納得はさせるがそれ以外の情報は与えない

 非対話ゼロ知識証明
一度で相手に納得させる
2013/11

54 /58
対話的ゼロ知識証明の例
 離散対数の答えを知っていることを示す
 私Aは「𝑦 = 𝑔 𝑥 mod 𝑝となる𝑥を知っている 𝑔, 𝑝, 𝑦は公開 」
ことを𝑥を教えることなく他人Bに証明したい
 次の対話をする

A(証明したい人)
Step1 : 𝑟を選び𝑎 = 𝑔 𝑟

B(検証したい人)
𝑎を受け取る

Step2 : 𝑏 = 0 𝑜𝑟 1

0か1を選び送る

Step3 : 𝑐 = 𝑟 + 𝑏𝑥

𝑐を受け取る

Step4:𝑔 𝑐 と𝑎𝑦 𝑏 が
等しいか確認
2013/11

55 /58
AはBをだませるか
 Aが実は𝑥を知らない場合
 𝑏 = 0が来ると予想していれば
適当に𝑟を作って𝑎 = 𝑔 𝑟 を渡せばOK
しかし𝑏 = 1が来るとStep 3で𝑐 = 𝑟 + 𝑥を渡せない

 𝑏 = 1が来ると予想していれば
𝑦 −1

𝑟 ′ を渡し、Step
𝑔

Step 1で適当に𝑟′を作って𝑎 =
3で𝑟 ′ を渡す
しかし𝑏 = 0が来るとStep 3で𝑐(= 𝑟 − 𝑥)を作れない

 AがBをだませる確率
 𝑥を知らずに当てずっぽうでStep 4をクリアする確率は1/2
このやりとりをN回連続すると

1

2

𝑁 の確率(Nが大きいと無理)

 今回の例では非対話ゼロ知識証明を用いる
 DLPとHash関数を組み合わせる(詳細は略:2013)
2013/11

56 /58
まとめ
 共通鍵暗号
 暗号化鍵 = 復号鍵

 公開鍵暗号
 暗号化鍵 ≠ 復号鍵

 2000年以降の暗号
 ペアリングなどの数学的な道具立てを利用
 時代の要請に応じた新しい概念、機能

2013/11

57 /58
もっと知りたい人は
 楕円曲線暗号入門(伊豆哲也)
 http://researchmap.jp/mulzrkzae-42427/

 PKIへの攻撃について
 サイバー攻撃ツールとしての公開鍵証明書の役割(神田雅透)
 http://www.jnsa.org/seminar/pki-day/2012/data/PM01_kanda.pdf

 ペアリングに関する最近の研究動向(岡本栄司他)
 https://www.jstage.jst.go.jp/article/essfr/1/1/1_1_1_51/_pdf

 加法準同型暗号を用いたデータベースの秘匿検索(産総研)
 http://www.nstac.go.jp/services/pdf/121116_6-1.pdf

 ゼロ知識証明について
 知識の証明と暗号技術(有田正剛)
 http://www.iisec.ac.jp/proc/vol0001/iisec_proc_001_p033.pdf

2013/11

58 /58

Contenu connexe

Tendances

RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料Tetsuyuki Oishi
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用MITSUNARI Shigeo
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたことMITSUNARI Shigeo
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたMITSUNARI Shigeo
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 

Tendances (20)

RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
BLS署名の実装とその応用
BLS署名の実装とその応用BLS署名の実装とその応用
BLS署名の実装とその応用
 
集約署名
集約署名集約署名
集約署名
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 

En vedette

クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術MITSUNARI Shigeo
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 
備品管理システム - LTOC01
備品管理システム - LTOC01備品管理システム - LTOC01
備品管理システム - LTOC01niconicoumauma
 
ぬくもり - LT駆動開発19
ぬくもり - LT駆動開発19ぬくもり - LT駆動開発19
ぬくもり - LT駆動開発19niconicoumauma
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1tzm_freedom
 
暗号化の歴史
暗号化の歴史暗号化の歴史
暗号化の歴史Takashi Abe
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjpsonickun
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Nagato Kasaki
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pgJunpei Tsuji
 
Slideshare signup tutorial
Slideshare signup tutorialSlideshare signup tutorial
Slideshare signup tutorialbestabrook
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちはYoshio Hanawa
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 
Dynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkDynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkYuta Imai
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善takahiro_yachi
 
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向shigeki_ohtsu
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShellAmazon Web Services Japan
 

En vedette (18)

クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
JOIss2013_cipher
JOIss2013_cipherJOIss2013_cipher
JOIss2013_cipher
 
備品管理システム - LTOC01
備品管理システム - LTOC01備品管理システム - LTOC01
備品管理システム - LTOC01
 
ぬくもり - LT駆動開発19
ぬくもり - LT駆動開発19ぬくもり - LT駆動開発19
ぬくもり - LT駆動開発19
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
 
暗号化の歴史
暗号化の歴史暗号化の歴史
暗号化の歴史
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
 
Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析Sparkで始めるお手軽グラフデータ分析
Sparkで始めるお手軽グラフデータ分析
 
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
「時計の世界の整数論」第2回プログラマのための数学勉強会 #maths4pg
 
Slideshare signup tutorial
Slideshare signup tutorialSlideshare signup tutorial
Slideshare signup tutorial
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
Dynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkDynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache Spark
 
ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善ニコニコ生放送の配信基盤改善
ニコニコ生放送の配信基盤改善
 
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 

Similaire à 新しい暗号技術

20120922 勉強会スライド
20120922 勉強会スライド20120922 勉強会スライド
20120922 勉強会スライドYasuhiro Kinoshita
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Yuya Unno
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
DSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelDSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelKei Uchiumi
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)Masaru Nagaku
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
202007勉強会資料 ストリームアルゴリズム
202007勉強会資料 ストリームアルゴリズム202007勉強会資料 ストリームアルゴリズム
202007勉強会資料 ストリームアルゴリズムMakoto Kataigi
 

Similaire à 新しい暗号技術 (10)

20120922 勉強会スライド
20120922 勉強会スライド20120922 勉強会スライド
20120922 勉強会スライド
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
Mazekoze2
Mazekoze2Mazekoze2
Mazekoze2
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
DSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language ModelDSIRNLP06 Nested Pitman-Yor Language Model
DSIRNLP06 Nested Pitman-Yor Language Model
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)「モデル検査」のススメ (ゲームシナリオ進行編)
「モデル検査」のススメ (ゲームシナリオ進行編)
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
202007勉強会資料 ストリームアルゴリズム
202007勉強会資料 ストリームアルゴリズム202007勉強会資料 ストリームアルゴリズム
202007勉強会資料 ストリームアルゴリズム
 

Plus de MITSUNARI Shigeo

範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル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
 
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
 
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
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsMITSUNARI Shigeo
 

Plus 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
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
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とその派生
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
 

Dernier

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Dernier (10)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

新しい暗号技術