ペアリングって何だ?

どうやらペアリング暗号に関することをテーマにされている方がいらっしゃるようなので,wktkです.

wktkなのですが,最近書き込みが無いようですね.

簡単にペアリングとは何か?と言うと:

  • 「ペアリング(pairing)」とは主に2つの群を定義域(2入力)とし,1つの群を値域(1出力)とする写像のことを指す.
    • 多くの論文でe : \mathbb{G}_1 \times \mathbb{G}_2 \to \mathbb{G}_Tと記述される.
    • \mathbb{G}_1, \mathbb{G}_2, \mathbb{G}_T,これらの位数は全て同じr
  • 主な特徴は入力のそれぞれで線形性(bilinear, 双線形性)が成立すること:
    • e(a b, c) = e(a, c)e(b, c)e(a, c d) = e(a, c)e(a, d)
    • 乗法群ではなく,e(P + Q, R) = e(P, R)e(Q, R)e(P, R + S) = e(P, R)e(P, S)というように加法群として表現されることもある.
  • 暗号プリミティブとしては,離散対数問題などに基づく暗号系(ElGamalなど)に属する.
    • eの登場により,Diffie-Hellman(DH)問題を拡張・変形した新しい問題が生まれている.そしてそれら問題を困難と仮定した新しい暗号スキームが提案されている.
    • rは十分に巨大な素数であることが,安全であることの必要条件である.
    • eは一方向であることが,安全であることの必要条件である.

理論面から概要だけ話をするとこんな感じかな?

公開鍵暗号RSA暗号という話が最近話題になったし,暗号分野の方は「ペアリング」もキーワードとして覚えておいて損は無いでしょう,多分.