ユーザ用ツール

サイト用ツール


tag:lamport署名

文書の過去の版を表示しています。


Lamport 署名

Qubic における Lamport 署名 (Lamport Signatures)

 Lamport 署名は、1979 年にレスリー・ランポート氏によって考案されたハッシュベースの署名方式です。

 Qubic では、この署名方式をユーザーのアイデンティティと資産保護の核として採用しています。

1. 概要:ハッシュベースの量子耐性署名

 Lamport 署名の最大の特徴は、楕円曲線などの複雑な数学問題ではなく、「ハッシュ関数」のみに依存している点にあります。

  • 量子耐性 (Quantum Resistance):
    • ショアのアルゴリズム(量子計算機による攻撃)は、楕円曲線暗号を無効化しますが、ハッシュ関数の逆像計算を高速化することは困難です。
    • そのため、Lamport 署名は「ポスト量子暗号(PQC)」の代表格とされています。
  • 計算の単純さ:
    • 複雑な行列演算を必要とせず、Qubic のエンジンである KangarooTwelve (K12) ハッシュ関数を繰り返すことで署名と検証が完了します。

2. Qubic における具体的な使用箇所

 Qubic では、パフォーマンスとセキュリティを両立させるため、適材適所で署名方式を使い分けています。Lamport 署名は以下の「ユーザーの資産」に直結する部分で使用されます。

  • パブリックID(アドレス)の根拠:
    • Qubic の 60 文字のアドレスは、Lamport 公開鍵をハッシュ化し、Base26 エンコードしたものです。
    • これにより、ユーザーの ID 自体が最初から量子耐性を持つハッシュの壁で守られています。
  • トランザクション(送金)の承認:
    • ユーザーが送金を行う際のデジタル署名として使用されます。
    • ネットワーク(Computor)は、送られてきた Lamport 署名がパブリックID(公開鍵のハッシュ)と一致するかを検証し、取引を承認します。

3. シードからアドレスが生成されるプロセス

Lamport 署名を用いた Qubic の鍵生成フローは以下の通りです。

  • 1. シード (Seed): 55 文字の小文字アルファベット(a-z)を用意します。
  • 2. 秘密鍵の生成: シードを K12 ハッシュ関数に入力し、巨大な秘密鍵(ビット列)を生成します。
  • 3. 公開鍵の生成: 秘密鍵の各ビットに対してハッシュ計算を行い、Lamport 公開鍵を作成します。
  • 4. パブリックIDの確定:
    • 公開鍵をさらに K12 でハッシュ化し、56 文字の Base26 文字列に変換。
    • 末尾に 4 文字のチェックサムを付与し、合計 60 文字の ID が完成します。

4. 注意点:ワンタイム署名 (OTS) の特性

Lamport 署名は本質的に 「ワンタイム署名(One-Time Signature)」 です。これは Qubic を利用する上で非常に重要な概念です。

  • 使い捨ての性質:
    • 一度署名(送金)を行うと、そのアドレスに対応する秘密鍵の一部が公開されます。
    • 数学的な安全性を維持するため、通常 Qubic のウォレットは「送金後に残高を新しいアドレスへ自動的に移動させる」などの処理を行い、鍵の再利用を防ぐ設計になっています。
  • リユース(再利用)の回避:
    • 同じ Lamport 鍵で何度も署名を行うと、徐々に秘密鍵が推測されるリスクが高まります。このため、一度の送金でそのアドレスを「使い切る」のが Qubic の基本的なセキュリティモデルです。

結論

  • 究極の防御:
    • Qubic における Lamport 署名は、他の多くのチェーンが抱える「将来の量子計算機への脆弱性」という爆弾を、設計段階から取り除くための選択です。
  • Qubic のアイデンティティ:
    • 55 文字のシードから 60 文字のパブリックIDへと繋がる一連のプロセスは、この Lamport 署名と K12 ハッシュ関数の高度な融合によって成り立っています。
  • 速度と安全性の分離:
    • ユーザーの資産保護には堅牢な Lamport を使い、Computor 間の高速な合意形成には FourQ (Schnorr) を使うという「ハイブリッド構造」こそが Qubic の強みです。
tag/lamport署名.1768723810.txt.gz · 最終更新: by d.azuma