Ring Confidential Transactions
 

Outline

  1. 理論背景
  1. Multilayered Linkable Spontaneous Anonymous Group Signatures 
  1. Ring Confidential Transaction For Monero Protocol

“Ring Confidential Transactions”,
Shen Noether, Adam Mackenzie, the Monero Research Lab

理論背景

デジタル署名の基本アイデア

記号
秘密鍵 uFqu \in \mathbb{F}_q 
公開鍵 P=f(u)P=f(u) (準同型暗号化関数 f:FqGf:\mathbb{F}_q \mapsto \mathbb{G}
メッセージ mM\mathfrak{m}\in \mathcal{M}
署名 σ=(σ1,σ2,,σN)SN\sigma = (\sigma_1, \sigma_2, \ldots,\sigma_N)\in \mathcal{S}^N 

デジタル署名の基本アイデア
ある写像 F:M×SN×GNF:\mathcal{M}\times\mathcal{S}^N\times\mathbb{G} \mapsto \mathbb{N}は,次の条件を全て満たすと仮定する.
  1. 任意の mM\mathfrak{m}\in \mathcal{M}と任意のPP に対して,等式
  • F(m,σ,P)=0F(\mathfrak{m}, \sigma,P)=0 
  • を満たすσ\sigma が存在する.
  1. mm\mathfrak{m}\neq\mathfrak{m}' であるならば,
  • F(m,σ,P)F(m,σ,P)F(\mathfrak{m}, \sigma,P)\neq F(\mathfrak{m}', \sigma,P)
  1. あるm\mathfrak{m}PP が与えられた時,上の等式を満たすσ\sigmaを求めるための有効なアルゴリズムは存在しない.
  1. 秘密鍵 uu を知っているならば,改竄検証可能な署名データσ\sigmaを求めることができる.
  1. 秘密鍵を知らない人でも,(m,σ,P)(\mathfrak{m},\sigma, P)が与えられた時,FFの値が00になっているかどうかを計算により確かめることができる.

署名作成アルゴリズム
秘密鍵 uu を知っているならば,改竄検証可能なデータσ1,σ2,,σN\sigma_1,\sigma_2, \ldots, \sigma_Nを求めることができるとき,アルゴリズム
  • SIG(m,u,P)σ\mathrm{SIG}(\mathfrak{m},u,P)\mapsto \sigma 
を署名作成アルゴリズムといい,σ=(σ1,σ2,,σN)\sigma=(\sigma_1,\sigma_2, \ldots, \sigma_N)m\mathfrak{m}の署名と呼ぶ.

検証アルゴリズム
F(m,σ,P)=0F(\mathfrak{m}, \sigma,P)=0 を確認して,改竄判定をするアルゴリズム
  • VER(m,σ,P)0 or 1\mathrm{VER}(\mathfrak{m},\sigma,P)\mapsto 0 \mathrm{\ or \ } 1 
を検証アルゴリズムとする.

リング署名のアイデア

リング署名に必要な人数 nn
インデックス i=1,2,,ni=1,2,\ldots,n
秘密鍵とそれに対応する公開鍵 ui,Piu_i, P_i

任意のインデックスiiに対して,判定条件式
  • F(m,σ,P1,,Pn)=0F(\mathfrak{m},\sigma, P_1,\ldots,P_n)=0
を満たすような署名アルゴリズム
  • SIG(m,ui,P1,,Pn)σ(i)\mathrm{SIG}(\mathfrak{m},u_i,P_1,\ldots,P_n)\mapsto \sigma^{(i)} 
を考える
ただし,署名σ(π)\sigma^{(\pi)}とその他の公開データから署名者π\piを特定する有効なアルゴリズムが存在しない.σ=(c1,c2,,cn)\sigma=(c_1,c_2,\ldots,c_n)とし,