0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MPC-TSS(閾値署名)の実験(その1 イントロ編)

0
Last updated at Posted at 2026-03-09

はじめに

MPC-TSS(Multi-Party Computation Threshold Signature Scheme) という署名方式があります。
MPC-TSSは、秘密鍵の柔軟な運用を可能とする技術であり、秘密鍵管理が課題となるウォレット分野を中心に活用が進んでいます。

一般的な署名方式では、秘密鍵を保持する1人が署名を行い、その結果を公開鍵で検証します。
一方、MPC-TSSでは、秘密鍵をシェアした複数人が協調して署名を生成します。
生成された署名は、通常の署名と同様に単一の公開鍵で検証できます。

MPC-TSSには次のようなメリットがあります。

  • 3人のうち2人が揃えば署名できる といった柔軟な運用(しきい値署名)が可能
  • 秘密鍵をシェアした3人のうち1人の鍵が盗まれても、その鍵だけでは署名できない
  • 盗まれた鍵を無効化する際も、公開鍵を変更せずに運用を継続できる

本稿では、OSSライブラリであるmulti-party-sig-cppを用いて、MPC-TSSの動作を実験します。

環境

  • 単一マシン上で複数の Party を起動する PoC 構成
  • Party間のデータ中継およびユーザインタフェース
    • Node-RED

Partyについて
一般的には3人で1つのPartyを組む、みたいに使いますが、暗号業界では一人一人を別のPartyと呼ぶ習わしのようです。

以下に一通り動作済みのファイル一式を格納しています。
説明は本稿に記述します。

実験内容

keygen編

  • 3人で鍵を作成(keygen)します
  • keygenを開始するとParty間で計算データのやり取りが行われますので、その様子を観察します
  • 各Partyがそれぞれに作成した公開鍵が同一であることを確認します

Sign編

  • 3人全員、または2人だけでも署名できることを確認します
  • 1人では署名できないことを確認します
  • keygenで作成した公開鍵により署名検証できることを確認します

Refresh編

  • 3人で鍵を再共有(refresh)します
  • refresh前の古い鍵が混じると署名できないことを確認します
  • refresh前と同じ公開鍵により署名検証できることを確認します

イントロ編 以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?