DLCオラクルにBLS署名を使用する提案(2.ペアリングを使用した暗号・署名)

Ichiro Kuwahara
Crypto Garage
Published in
Dec 7, 2022

chapter1:DLCオラクルにBLS署名を使用する提案(1.概要解説)
chapter2:DLCオラクルにBLS署名を使用する提案(2.ペアリングを使用した暗号・署名)(本投稿)
chapter3:DLCオラクルにBLS署名を使用する提案(3.技術解説)

#本章は、”Cryptographic Oracle-Based Conditional Payments”の前提となる要素技術の説明です。本提案の概要は、「DLCオラクルにBLS署名を使用する提案(1.概要解説)」をご覧ください。

本章は、ペアリングを使用した暗号と署名を紹介します。ペアリングの概念を理解するためには、代数学における「群」の概念を理解する必要があります。

以下の条件を満たす集合Gを「群」と呼びます。

集合Gに含まれるすべてのx , y , z (x , y , z∈と表記)について
(x・y)・z = x・(y・z) (結合法則)
Gにx・e=xを満たす元eが存在(eを単位元と呼ぶ)
Gにx・(x^-1)=eとなる要素x^-1が存在する(x^-1をxの逆元と呼ぶ)。

なお、・は二項演算(四則演算 +、−、×、÷ を一般化した概念)表記です。+表記を用いる場合Gは加法群×の表記を用いる場合Gは乗法群と呼びます。
群が有限個の元(この数を位数と呼びます)を持ち、これらの要素がすべて1つの元X(生成元)から生成できる場合、これを有限巡回群と呼びます。

ペアリング

ペアリングとは、有限巡回群G1,G2の二つの元を入力として有限巡回群の元を出力する一方向性関数です(この関数を「マッピング」と呼びます)。

G1、G2は加法群、Gtは乗法群であり、いずれも位数はqです。以下のように表記します。

e: G1×G2GT

楕円曲線(EC)を使用する場合、ペアリングは1つまたは2つのEC上のポイントP、Qを入力値とし、有理数nを出力する一方向性関数と表現され、以下のように表記されます。

e(P,Q)→n

ECペアリングは以下の特徴を持ちます。

P,Q: 各EC上のポイント
a,b: 整数(スカラー)
e(a×P,b×Q) =e(ab×P,Q) =e(P,ab×Q)=e(P,Q)^ab

入力値の各ポイントは加法の性質を持ち、ペアリングは乗法の性質を持ちます。

加法の性質:aP+bP=(a+b)P
乗法の性質:e(a×P,b×Q)=e(P,Q)^ab

BLS署名

BLS署名の検証はペアリングを使用します。ECDSA/Schnorr署名と違ってBLS署名は署名の際にnonceを使用しません。署名の方式は以下の通りです。

m:メッセージ
H:ハッシュ関数
σ:署名
Q:EC2のベースポイント
s:秘密鍵
S:公開鍵
G1:EC1の点によって形成される
有限巡回群
G2:EC2の点によって形成される有限巡回群
q:G1,G2の位数

鍵生成
s:Select a random integer s(0<s<q)
S:s×Q∈G2
署名
σ:s×H(m)∈G1
検証
e(σ , Q) =? e(H(m) , S)
検証が成立することの証明
e(σ , Q) =e (s×H(m) , Q)= e (H(m) , s×Q) = e (H(m) , S)

IDベース暗号

IDベース暗号もペアリングを使用した暗号です。従来の非対称暗号と同様に、公開鍵を用いてメッセージmを暗号化し、公開鍵に紐づく秘密鍵を用いて暗号文からメッセージを抽出することができます。
従来の公開鍵暗号がランダムに選ばれた秘密鍵から公開鍵を生成するのに対し、IDベース暗号は任意の公開鍵から秘密鍵を生成します。
そのため、メールアドレスのようなもの(ID)だけを知っていれば、暗号文を作成することができます。メールアドレスに紐づく秘密鍵で暗号文からメッセージが抽出可能です。
なお、この提案にはトラストポイントとなる鍵生成局が必要です。
暗号化・復号の方式は以下の通りです。

IDベース暗号化/復号フロー

欠点・課題

ペアリングは素晴らしい特性を持っていますが、計算量が多いです。BLS署名の検証はECDSA/Schnorrに比べ断然複雑です。
またペアリング方式、使用する楕円曲線については複数の提案があり(デファクトスタンダードはない)、今後も発展・成熟していく分野であると思われます。

これでCryptographic Oracle-Based Conditional Payments”を理解するための下準備は完了です。次の章では、詳細について触れていきます。

参考文献
https://crypto.stanford.edu/~dabo/papers/bfibe.pdf
https://crypto.stanford.edu/pbc/notes/elliptic/weil.html
https://datatracker.ietf.org/doc/pdf/draft-boneh-bls-signature-00
https://eprint.iacr.org/2013/258.pdf

--

--