ボネ・リン・シャチャム署名
暗号理論において、ボネ・リン・シャチャム (BLS) 署名方式は、署名検証にペアリングと呼ばれる双線型写像を用いている署名方式である。署名は楕円曲線の1つの群要素(楕円曲線上の1つの点)で表される。楕円曲線上の群はindex calculus攻撃に対して耐性があるため[1]、同じ安全性レベルを持つRSA署名などに比べて署名長が短いという利点を持つ。このため、BLS署名は「short signatures」や「BLSのshort signatures」とも呼ばれる。この署名方式は、証明可能安全性を持ち、ランダムオラクルとギャップ ディフィー・ヘルマン問題の困難性の元で、選択メッセージ攻撃に対する存在的偽造不可能性が証明されている[2]。
ペアリング関数
[編集]BLS署名は、Computational Diffie-Hellman問題(CDH)は困難であるがDecisional Diffie-Hellman問題 (DDH) は容易に解けるような群を利用している。このような性質を持つ群は、非退化かつ効率的に計算可能な双線型写像によって得ることができる。
とを、同じ素数の位数を持つ乗法群とし、を、群の生成元とする。上のCDH問題は困難であるとしよう。つまり、インスタンスが与えられたとき、を計算するのは難しい。
関数を、
- 非退化:はの単位元ではない
- が与えられたとき、 は効率的に計算可能
- 双線型性:任意のと任意の自然数に対して、が成り立つ
という性質を満たす関数(ペアリング関数)とする。直感的に、ペアリング関数は、上のCDH問題の解決の助けにはならず、このような関数が存在しても、CDH問題を解くことは困難であると推測できる。一方、DDH問題のインスタンスが与えられたとき、が成り立つかどうかは、、、が分からなくても、式によって確認できる。これにより、DDH問題は容易に解けることがわかる。
署名方式
[編集]デジタル署名方式は、鍵生成、署名生成、署名検証の3つのアルゴリズムからなる。
鍵生成
[編集]鍵生成アルゴリズムは、まず、区間[0, r − 1]からランダムな整数を選ぶ。秘密鍵(署名鍵)はである。公開される公開鍵(検証鍵)はである。また、を暗号学的ハッシュ関数とする。
署名生成
[編集]署名鍵と署名したいメッセージが与えられたとき、まず、のハッシュ値を計算する。そして、署名を出力する。
署名検証
[編集]メッセージが、署名が、署名者の公開鍵がであるとき、式が成り立てば、署名は正しい署名であると検証される。
性質
[編集]- シンプルな閾値署名が可能。
- 集約署名:複数のメッセージに対して複数の署名者によって作成された複数の署名を、一つの署名に集約することが可能。[3]
- 確定的:一つの鍵と一つのメッセージに対して、正当な署名は一つだけしか存在ない。この性質は、RSA-PKCS#1 v1.5 や EdDSAと同じであり、確率的署名であるRSA-PSS, DSA, ECDSA, Schnorr署名とは異なる。
脚注
[編集]- ^ ただし、ペアリングのターゲット群においては同様の攻撃ができてしまうため、注意が必要。
- ^ Dan Boneh; Ben Lynn; Hovav Shacham (2004). “Short Signatures from the Weil Pairing”. Journal of Cryptology 17 (4): 297–319. doi:10.1007/s00145-004-0314-9.
- ^ D. Boneh, C. Gentry, H. Shacham, and B. Lynn [1] In proceedings of Eurocrypt 2003, LNCS 2656, pp. 416-432, 2003
外部リンク
[編集]