Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プロアクティブ秘密分散法

 プロアクティブ秘密分散法

GBECの解説動画の資料です。
https://goblockchain.network/2024/11/pss/

shigeyuki azuchi

November 18, 2024
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. 1 Bitcoinにおける秘密分散法の活用
 • 鍵の分散管理
 鍵情報からシャミアの秘密分散法を利用した複数のシェアを生成し、 
 異なるストレージに各シェアを分散管理するユースケース 
 ◦ Shamir

    Backup 
 https://goblockchain.network/2020/01/shamir-backup/ 
 
 • t-of-nマルチシグ
 複数の参加者でマルチシグの鍵を構成し、シェアを持つt人が協力すれば 
 有効なSchnorr署名を生成できる閾値署名(※ 秘密鍵は秘密のまま) 
 ◦ FROST Flexible Round-Optimized Schnorr Threshold Signatures 
 https://goblockchain.network/2023/02/frost/ 

  2. 2 プロアクティブ秘密分散法
 閾値tのシャミアの秘密分散法では、定数項 a 0 を秘密の値としたランダムな t-1次の多項式を生成
 f(x) = a

    t-1 xt-1 + a t-2 xt-2 + … a 0
 n人の参加者に対して(ID, f(ID)) をシェアとして配布
 
 t人が協力すれば、秘密の値の復元/秘密の値を使った計算 が可能になる
 
 プロアクティブ秘密分散法は、↑のシェアを定期的に更新する方式 
 
 • 時間をかけてシェアを収集しようとする攻撃者に対する防御 
 • マルチシグ設定において、参加者を削除することが可能になる 

  3. 3 プロアクティブ秘密分散法
 シェアの更新方法 
 1. 定数項が0の新しい多項式を生成
 f’(x) = a t-1

    xt-1 + a t-2 xt-2 + … + a 1 x
 2. 新しい多項式から、新しいシェア (ID, f’(ID)) を生成し、配布
 3. 元々のシェアに新しいシェアを加算することでシェアを更新 (ID, f(ID) + f’(ID)) 
 
 定数項=0なので、秘密の値は変わらない 各参加者は f(x) + f’(x)に対するシェアを 保持している状態になる