2021年度暗号分科会
第9回、第10回
@hakatashi
2021-08-05 / 2021-08-19
第2部 新しい暗号技術
-
2000年以降に生まれた新しい暗号技術
-
IDベース暗号
-
検索可能暗号
-
プロキシ暗号
-
放送型暗号
-
属性ベース暗号
-
関数型暗号
-
準同型暗号
-
ゼロ知識証明
-
-
今日はこれらの暗号のベースとなる
楕円曲線のペアリングについて話す
7.1 ペアリング
7.1 ペアリング
- 第5章で導入した「楕円曲線⇔トーラス上のベクトル」の
アナトミーを用いて説明する - 楕円曲線上の点PとQに対して
それらが囲う平行四辺形の面積をS(P,Q)とする - ペアリングは有限体Fpのある元gに対してe(P,Q)=gS(P,Q)で定義される
7.1 ペアリング
重要な性質
e(aP,bQ)=e(P,Q)ab
e(P1+P2,Q)=e(P1,Q)e(P2,Q)
e(P,Q1+Q2)=e(P,Q1)e(P,Q2)
e(Q,P)=e(P,Q)−1
7.2 ID を使った鍵共有
ID鍵共有
- あらかじめ決められたIDを
公開鍵として利用できる鍵共有
7.2 ID を使った鍵共有
- 公開鍵生成
AとBはそれぞれ適当に楕円曲線上の点を取り、
PA,PBとする - 秘密鍵生成
生成局がマスター秘密鍵sを生成し、
AにKA:=sPA、BにKB:=sPBを配る -
鍵共有
AはsA=e(KA,PB)、BはsB=e(PA,KB)を計算する -
このとき
sAsB=e(KA,PB)=e(sPA,PB)=e(PA,PB)s=e(PA,KB)=e(PA,sPB)=e(PA,PB)sよりsA=sB
7.6 DLP とECDLP とペアリング
MOVリダクションの紹介。
MOVリダクションはECDLPをDLPに帰着させる攻撃手法。
楕円曲線の点 P と Q=aP が与えられたとき
f:X↦e(X,bP)∈Fp
を考えると、
f(P)=gb,f(Q)=gab
※ただし g:=e(P,P)
ECDLPがDLPに帰着されている
7.6 DLP とECDLP とペアリング
ところで、P,aP,bP が与えられたとき、
- e(P,P)=g
- e(P,aP)=ga
- e(P,bP)=gb
- e(aP,bP)=gab
を求めることができることがわかる。
gaとgbからgabを
求める問題をDH問題と呼んだ。
ペアリングを用いるとまるで
DH問題が解けたかのように
gabを求めることができる
7.7 IDベース暗号
- 好きなデータを公開鍵にできる公開鍵暗号
- 例えばメールアドレスを公開鍵にしたら
本人認証の必要がなくなる
7.7 IDベース暗号
- マスター公開鍵: P∈E
- マスター秘密鍵: s∈Z
- ユーザーXの公開鍵: PX∈E
- ユーザーXの秘密鍵: KA:=sPX
- 楕円曲線Eから有限体Fqへのハッシュ関数: h2
をとる。
このとき、
Enc(m)Dec(U,v):=(rP,m⊕h2(e(PA,sP)r)):=v⊕h2(e(KA,U))である。
ただし r は暗号化時に生成される乱数。
7.8 IDベース暗号と公開鍵暗号
IDベース暗号の利点とは?
- 例えばメールアドレスを公開鍵にしたら
本人認証の必要がなくなる- PKIが不要に
- だが現実に応用しようとすると課題が多い
生成局が必要
- PKIにおける認証局の代わりに
マスター生成局という強い権限を持った
アカウントが必要 - PKIの認証局は個々の通信の復号まではできないが
IDベース暗号ではマスター鍵があると
任意のユーザーの復号ができてしまう
7.8 IDベース暗号と公開鍵暗号
鍵の失効
- IDベース暗号では公開鍵が (半ば) 固定化されるため、
秘密鍵が漏洩してしまったときにどのように
鍵を失効させるかは自明ではない- 公開鍵暗号は通常セッションごとに異なる鍵を
使うのでこの点はあまり問題にならない
- 公開鍵暗号は通常セッションごとに異なる鍵を
- 鍵の有効期限などを公開鍵に含めることもできるが、
相手のIDだけで暗号文を送れるという
利点は失われてしまう
7.9 タイムリリース暗号
- 時刻センターから送られる署名付きの時報を用いて
特定の時間以降しか復号できない暗号文を生成する手法
7.9 タイムリリース暗号
- 時刻センターの公開鍵: (P,sP)
- 時刻センターの秘密鍵: s∈Z
- 時刻TからEへのハッシュ関数: H
をとる。
時刻センターは時刻TにsH(T)を配信する。
このとき、
秘密鍵 sT0=e(H(T0),rsP) を用いて暗号化し、
rPを同時に公開すると、
※ r は暗号化時に生成される乱数。
時刻T0に時刻センターから送られるsH(T0)を用いて
e(sH(T0),rP)=e(H(T0),rP)rs=sT0を計算できる。
7.10 ペアリングを使ったデジタル署名
- 秘密鍵: x,y∈Z
- 公開鍵: P,Q:=xP,R:=yP
をとる。
S:=x+m+yr1Pとして、(S,r)を署名とする。
※ r は暗号化時に生成される乱数。
署名が正当ならば、e(S,Q+mP+rR)=e(P,P)が満たされる。
2021年度暗号分科会第9回/第10回
By Koki Takahashi
2021年度暗号分科会第9回/第10回
2021-08-05 / 2021-08-19
- 1,118