ボネ・リン・シャチャム署名

提供: testwiki
ナビゲーションに移動 検索に移動

暗号理論において、ボネ・リン・シャチャム (BLS) 署名方式は、署名検証にペアリングと呼ばれる双線型写像を用いている署名方式である。署名は楕円曲線の1つの群要素(楕円曲線上の1つの点)で表される。楕円曲線上の群はindex calculus攻撃に対して耐性があるため[1]、同じ安全性レベルを持つRSA署名などに比べて署名長が短いという利点を持つ。このため、BLS署名は「short signatures」や「BLSのshort signatures」とも呼ばれる。この署名方式は、証明可能安全性を持ち、ランダムオラクルとギャップ ディフィー・ヘルマン問題の困難性の元で、選択メッセージ攻撃に対する存在的偽造不可能性が証明されている[2]

ペアリング関数

BLS署名は、Computational Diffie-Hellman問題(CDH)は困難であるがDecisional Diffie-Hellman問題 (DDH) は容易に解けるような群を利用している。このような性質を持つ群は、非退化かつ効率的に計算可能な双線型写像によって得ることができる。

GGTを、同じ素数の位数rを持つ乗法群とし、gを、群Gの生成元とする。G上のCDH問題は困難であるとしよう。つまり、インスタンス(g,gx,gy)が与えられたとき、gxyを計算するのは難しい。

関数e:G×GGTを、

  • 非退化:e(g,g)GTの単位元ではない
  • a,bGが与えられたとき、 e(a,b)は効率的に計算可能
  • 双線型性:任意のa,bGと任意の自然数m,nに対して、e(am,bn)=e(a,b)mnが成り立つ

という性質を満たす関数(ペアリング関数)とする。直感的に、ペアリング関数eは、G上のCDH問題の解決の助けにはならず、このような関数が存在しても、CDH問題を解くことは困難であると推測できる。一方、DDH問題のインスタンス(g,gx,gy,gz)が与えられたとき、gz=gxyが成り立つかどうかは、xyzが分からなくても、式e(gx,gy)=e(g,gz)によって確認できる。これにより、DDH問題は容易に解けることがわかる。

署名方式

デジタル署名方式は、鍵生成、署名生成、署名検証の3つのアルゴリズムからなる。

鍵生成

鍵生成アルゴリズムは、まず、区間[0, r − 1]からランダムな整数xを選ぶ。秘密鍵(署名鍵)はxである。公開される公開鍵(検証鍵)はgxである。また、H:{0,1}*Gを暗号学的ハッシュ関数とする。

署名生成

署名鍵xと署名したいメッセージmが与えられたとき、まず、mのハッシュ値h=H(m)を計算する。そして、署名σ=hxを出力する。

署名検証

メッセージがm、署名がσ、署名者の公開鍵がgxであるとき、式e(σ,g)=e(H(m),gx)が成り立てば、署名は正しい署名であると検証される。

性質

  • シンプルな閾値署名が可能。
  • 集約署名:複数のメッセージに対して複数の署名者によって作成された複数の署名を、一つの署名に集約することが可能。[3]
  • 確定的:一つの鍵と一つのメッセージに対して、正当な署名は一つだけしか存在ない。この性質は、RSA-PKCS#1 v1.5 や EdDSAと同じであり、確率的署名であるRSA-PSS, DSA, ECDSA, Schnorr署名とは異なる。


脚注

テンプレート:Reflist

外部リンク


テンプレート:Cryptography navbox

  1. ただし、ペアリングのターゲット群GTにおいては同様の攻撃ができてしまうため、注意が必要。
  2. テンプレート:Cite journal
  3. D. Boneh, C. Gentry, H. Shacham, and B. Lynn [1] In proceedings of Eurocrypt 2003, LNCS 2656, pp. 416-432, 2003