<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      BLS 與 Schnorr 簽名算法:從數學原理到實際應用

      BLS 與 Schn Schnorr 簽名算法:從數學原理到流程可視化解析

      數字簽名是區塊鏈安全的核心基石,Schnorr 和 BLS 簽名算法憑借其獨特優勢,已成為區塊鏈領域的主流選擇。本文將通過精準的數學公式和流程圖示,深入解析兩種算法的工作機制,既保持密碼學的專業性,又通過可視化方式降低理解門檻。

      一、密碼學基礎:橢圓曲線與群論

      兩種算法均基于橢圓曲線密碼學(ECC),需先理解兩個核心概念:

      • 橢圓曲線點運算:在橢圓曲線上,點的"加法"和"乘法"遵循特殊規則,具有封閉性(運算結果仍在曲線上)
      • 生成元:曲線上的基準點 $G$,所有其他點可通過 $G$ 與整數相乘得到($k \cdot G$ 表示 $G$ 自身相加 $k$ 次)

      二、Schnorr 簽名算法:簡潔高效的設計

      1. 核心參數定義

      • 橢圓曲線 E,生成元 G,階為 n
      • 私鑰:隨機整數 k(1≤k≤n-1,需保密)
      • 公鑰:P = k·G(橢圓曲線點,可公開)

      2. 簽名生成流程(圖示)

      ┌─────────────┐     隨機選擇     ┌─────────────┐
      │   消息 m    │ ──────────────→ │ 臨時私鑰 r  │
      └─────────────┘                  └──────┬──────┘
                                              │
      ┌─────────────┐                         ▼
      │   私鑰 k    │ ←───────────── ┌─────────────┐
      └──────┬──────┘                │ 臨時公鑰 R  │
             │                       │  = r·G      │
             │                         └──────┬──────┘
             │                                │
             ▼                                ▼
      ┌─────────────┐     哈希計算     ┌─────────────┐
      │ 挑戰值 e    │ ←─────────────→ │ 拼接 R||P||m │
      │=Hash(R||P||m)│                 └─────────────┘
      └──────┬──────┘
             │
             ▼
      ┌─────────────┐
      │ 簽名 s      │
      │=r + e·k mod n│
      └──────┬──────┘
             │
             ▼
      ┌─────────────┐
      │ 最終簽名    │
      │   (R, s)    │
      └─────────────┘
      

      數學公式拆解

      • 臨時公鑰 R = r * G(將臨時私鑰映射到曲線上)
      • 挑戰值 e = {Hash}(R || P || m)(綁定消息、公鑰和臨時參數)
      • 簽名值 s = (r + e * k) mod n(融合臨時參數與私鑰)

      3. 簽名驗證流程(圖示)

      ┌─────────────┐     接收      ┌─────────────┐
      │ 消息 m      │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
      ┌──────▼──────┐     接收      ┌─────────────┐
      │ 公鑰 P      │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
      ┌──────▼──────┐     接收      ┌─────────────┐
      │ 簽名 (R,s)  │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
             ├─────────┐
             │         │
             ▼         ▼
      ┌─────────────┐ ┌─────────────┐
      │ 計算 e=Hash( │ │ 計算左邊:   │
      │  R||P||m)    │ │ s·G         │
      └──────┬──────┘ └──────┬──────┘
             │               │
             ▼               ▼
      ┌─────────────┐ ┌─────────────┐
      │ 計算右邊:   │ │ 驗證等式:   │
      │ R + e·P     │ │ 左邊 == 右邊 │
      └──────┬──────┘ └──────┬──────┘
             │               │
             └───────────────┘
                   │
             ┌──────▼──────┐
             │ 簽名有效/無效 │
             └─────────────┘
      

      驗證者已知用戶公鑰 pk、消息 m 和簽名 (s, R),需驗證簽名是否合法。

      1. 重新計算挑戰值:e = H(R || m) mod q (與簽名生成時的計算完全一致)
      2. 驗證核心等式(等式成立則簽名合法):
        • 橢圓曲線群:(s · g) + (e · pk) = R (“·”是點乘,“+”是橢圓曲線點加)
        • 有限域群:(g^s · pk^e) mod p = R (“^”是冪乘,“·”是有限域乘法,結果模 p)

      3. 關鍵推導

      驗證等式的推導邏輯:
      從簽名生成的 s = (k - e·sk) mod q,可變形為 k = (s + e·sk) mod q;
      兩邊同時與生成元 g 運算(點乘或冪乘):

      • 橢圓曲線群:k·g = (s + e·sk)·g = s·g + e·(sk·g) = s·g + e·pk;
      • 而 k·g 就是臨時公鑰 R,因此得到驗證等式:s·g + e·pk = R。

      4. 聚合簽名特性

      Schnorr 支持同消息多簽名聚合:
      多用戶對同一消息簽名時,可聚合成單個簽名:

      • 各用戶簽名:(R?,s?)、(R?,s?)、...、(R?,s?)
      • 聚合簽名:R = R?+R?+...+R?,s = s?+s?+...+s?
      • 驗證:使用聚合公鑰 P = P?+P?+...+P?,按上述流程驗證
      ┌─────────┐ ┌─────────┐       ┌─────────┐
      │用戶1簽名│ │用戶2簽名│  ...  │用戶n簽名│
      │(R1,s1)  │ │(R2,s2)  │       │(Rn,sn)  │
      └────┬────┘ └────┬────┘       └────┬────┘
           │           │                 │
           ▼           ▼                 ▼
      ┌───────────────────────────────────────┐
      │         聚合簽名 (R=ΣRi, s=Σsi)       │
      └───────────────────────────────────────┘
      

      三、BLS 簽名算法:聚合能力的突破

      1. 核心參數定義

      • 雙線性映射系統(G?, G?, G?, e, p, G)
        • G?、G?:加法循環群(階為 p)
        • G?:乘法循環群(階為 p)
        • e:雙線性映射函數 e: G?×G?→G?
      • 私鑰:隨機整數 sk(1≤sk≤p-1,需保密)
      • 公鑰:pk = sk·G(G 為 G? 生成元,可公開)
      • 哈希函數:H(m) → G?(將消息映射到 G? 群)

      2. 雙線性映射的關鍵特性

      BLS 簽名的強大源于映射的三個特性:

      • 雙線性:e(aP, bQ) = e(P, Q)^(a·b)
      • 非退化性:存在 P、Q 使 e(P, Q) ≠ 1
      • 可計算性:存在高效算法計算 e(P, Q)
      G1 × G2          e()           GT
        ▲                ▼             ▲
        │           (乘法群)           │
        │                             │
        │  (aP, bQ) → e(P,Q)^(ab)     │
        │                             │
        └─────────────────────────────┘
      

      3. 簽名生成流程(圖示)

      ┌─────────────┐     哈希映射    ┌─────────────┐
      │   消息 m    │ ─────────────→ │ 哈希點 h    │
      └─────────────┘                │ = H(m)∈G2   │
                                     └──────┬──────┘
                                            │
      ┌─────────────┐                       ▼
      │   私鑰 sk   │ ─────────────→ ┌─────────────┐
      └─────────────┘                │ 簽名 σ      │
                                     │ = sk·h∈G2   │
                                     └─────────────┘
      

      4. 簽名驗證流程(圖示)

      ┌─────────────┐     接收      ┌─────────────┐
      │ 消息 m      │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
             ▼
      ┌─────────────┐
      │ 計算 h=H(m) │
      └──────┬──────┘
             │
      ┌──────▼──────┐     接收      ┌─────────────┐
      │ 公鑰 pk     │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
      ┌──────▼──────┐     接收      ┌─────────────┐
      │ 簽名 σ      │ ←─────────── │ 發送方      │
      └──────┬──────┘               └─────────────┘
             │
             ├─────────┐
             │         │
             ▼         ▼
      ┌─────────────┐ ┌─────────────┐
      │ 計算 e(pk,h)│ │ 計算 e(G,σ) │
      └──────┬──────┘ └──────┬──────┘
             │               │
             ▼               ▼
      ┌─────────────────────────────┐
      │     驗證 e(pk,h) == e(G,σ)   │
      └───────────────┬─────────────┘
                      │
             ┌────────▼────────┐
             │   簽名有效/無效  │
             └─────────────────┘
      

      驗證原理:利用雙線性映射的特性
      根據雙線性映射特性:
      e(pk, h) = e(sk·G, h) = e(G, h)^sk
      e(G, σ) = e(G, sk·h) = e(G, h)^sk
      因此 e(pk, h) = e(G, σ) 是簽名有效的充要條件。

      5. 跨消息聚合簽名(BLS 核心優勢)

      支持不同用戶對不同消息的簽名聚合:

      • 各用戶簽名:σ?=sk?·H(m?)、σ?=sk?·H(m?)、...、σ?=sk?·H(m?)
      • 聚合簽名:σ_agg = σ?+σ?+...+σ?
      • 驗證:e(pk?+pk?+...+pk?, H(m_i)) = e(G, σ_agg)
      ┌──────┐  m1  ┌──────┐       ┌──────┐  mn  ┌──────┐
      │用戶1 │────→ │σ1=sk1│       │用戶n │────→ │σn=skn│
      └──────┘      │·H(m1)│       └──────┘      │·H(mn)│
                    └───┬──┘                     └───┬──┘
                        │                             │
                        ▼                             ▼
      ┌─────────────────────────────────────────────────────┐
      │              聚合簽名 σagg = σ1 + σ2 + ... + σn     │
      └─────────────────────────────────────────────────────┘
      

      四、算法對比與應用場景

      特性 Schnorr 簽名 BLS 簽名
      數學基礎 橢圓曲線離散對數問題 雙線性映射
      簽名尺寸 64字節(R + s) 32/64字節(單個群元素)
      驗證復雜度 低(橢圓曲線點運算) 中(雙線性映射計算)
      聚合能力 僅支持同消息多簽名 支持跨消息、跨用戶聚合
      典型應用 比特幣 Taproot、閃電網絡 以太坊 2.0 共識、分布式存儲驗證
      核心優勢 驗證速度快,實現簡單 聚合效率極高,適合大規模簽名場景

      五、總結

      Schnorr 和 BLS 簽名算法是密碼學的兩大突破,各自在不同場景中發揮優勢:

      • Schnorr 以簡潔高效取勝,適合單筆交易和同消息多簽,如支付場景
      • BLS 憑借雙線性映射的魔力,在需要處理大量簽名的場景(如區塊鏈共識)中不可替代
      posted @ 2025-07-29 16:16  ffffox  閱讀(75)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 徐水县| 国产精品99中文字幕| 久久国产国内精品国语对白 | 97视频精品全国免费观看| 亚洲精品www久久久久久| 亚洲高请码在线精品av| 欧美大屁股xxxx高跟欧美黑人| 日韩一区二区三区高清视频| 欧美野外伦姧在线观看| 国产永久免费高清在线观看| 亚洲成av人最新无码不卡短片| 性色在线视频精品| 午夜亚洲国产理论片二级港台二级| 国产精品无码一区二区桃花视频| 国产精品人成视频免| 99在线视频免费观看| 精品亚洲国产成人av| 国产三级a三级三级| 99精品国产一区二区三区| 亚洲欧美人成电影在线观看| 97久久人人超碰国产精品| 亚洲av永久一区二区| 日本55丰满熟妇厨房伦| 高清破外女出血AV毛片| 成人亚欧欧美激情在线观看| 日韩美女亚洲性一区二区| 东山县| 东方四虎av在线观看| 人妻出轨av中文字幕| 韩国精品久久久久久无码| 国产精品高清一区二区三区| 97无码人妻福利免费公开在线视频| 国产高在线精品亚洲三区| xxxxbbbb欧美残疾人| 国产欧美VA天堂在线观看视频| 色综合五月伊人六月丁香| 骚虎视频在线观看| 自拍偷自拍亚洲一区二区| 国产草草影院ccyycom| 久久99热成人精品国产| 少妇被粗大的猛烈xx动态图|