Encryption

80位安全級別的橢圓曲線雙線性配對參數

  • August 24, 2021

我正在閱讀一篇基於橢圓曲線雙線性配對組的論文。作者定義了私鑰,公鑰等的大小 $ |\mathbb{G}_1|, |\mathbb{G}_2| $ 和 $ |\mathbb{G}_T| $ .

對於 80 位安全級別, $ |\mathbb{G}_1|, |\mathbb{G}_2| $ 和 $ |\mathbb{G}_T| $ 在位?我想計算鍵的實際大小。

謝謝你。

單元尺寸

在選擇橢圓曲線參數時,有很大的自由度。對於元素的大小,兩個值得注意的參數是素數, $ p $ ,以及嵌入度, $ k $ .

如果 $ \mathbb{G}_1 $ 是一條橢圓曲線 $ F_p $ , 1那麼 $ \mathbb{G}2 $ 是一條橢圓曲線 $ F{p^k} $ , 和 $ \mathbb{G}T $ 是一個子群 $ F{p^k} $ .

所以元素 $ \mathbb{G}_2 $ 和 $ \mathbb{G}_T $ 要求 $ k $ 乘以儲存量作為元素 $ \mathbb{G}_1 $ .

然而,所有曲線都允許緊湊的表示 $ \mathbb{G}_2 $ ,使用曲線的扭曲,使得一個元素 $ \mathbb{G}2 $ 可以用一個點表示 $ E’\left(F{p^\frac{k}{d}}\right) $ , 在哪裡 $ d $ 是 2、3、4 或 6。所有曲線都支持 $ d=2 $ . 用於加密操作的曲線將支持更大的 $ d $ 因為在表示之間轉換的成本很便宜。

密鑰大小和簽名大小

BLS 簽名基於配對函式 $ e: \mathbb{G}_1 \times \mathbb{G}_2 \rightarrow \mathbb{G}_T $ .

讓 $ G_1 $ 成為發電機 $ \mathbb{G}_1 $ 和 $ G_2 $ 一個發電機 $ \mathbb{G}_2 $ .

私鑰, $ x $ , 只是一個整數 $ 0 $ 和 $ |\mathbb{G}_1| $ ,這等於 $ |\mathbb{G}_2| $ . 公鑰, $ X $ , 是一個元素 $ \mathbb{G}_1 $ 或者 $ \mathbb{G}_2 $ . 對消息進行簽名,消息被散列到另一個組的一個元素中,乘以私鑰,並與生成器配對,即 $ \sigma = e(G_1, xH(m)) $ . 簽名, $ \sigma $ , 是一個元素 $ \mathbb{G}_T $ . 驗證者計算消息的散列與公鑰的配對為 $ e(X, H(m)) $ . 如果這等於 $ \sigma $ ,則簽名有效。

或者,可以減少傳輸的數據量,並且可以減少簽名者所做的工作量,但以驗證者做更多工作為代價。而不是發送 $ \sigma $ , 簽名者只是發送 $ xH(m) $ ,並且驗證者計算兩個配對。

公鑰選擇

公鑰可以在 $ \mathbb{G}_1 $ 或者 $ \mathbb{G}_2 $ . 中的元素 $ \mathbb{G}_1 $ 更小。操作在 $ \mathbb{G}_2 $ 更貴。

例子

以 BLS12-381 2為例,它經常被引用為具有 128 位安全性。 $ p $ 是 381 位。嵌入度, $ k $ , 是 12, 使 $ p^k $ 有 4569 位。中的一個元素 $ \mathbb{G}_1 $ 需要 382 位來表示(381 位用於 1 個座標加上 1 位用於符號)。中的一個元素 $ \mathbb{G}_2 $ 需要 762 位來表示,因為它有一個緊湊的表示。中的一個元素 $ \mathbb{G}_T $ 需要 4596 位來表示它。

從同一頁2開始,MNT4-298 具有大約 77 位的安全性。對於該曲線,一個元素在 $ \mathbb{G}_1 $ 需要 299 位;在 $ \mathbb{G}_T $ , 1192 位。


1從技術上講, $ \mathbb{G}1 $ 也定義在 $ F{p^k} $ , 但是由於 $ E(F_p) $ 是一個子群 $ E(F_{p^k}) $ ,沒關係。

2這些數字來自https://members.loria.fr/AGuillevic/pairing-friendly-curves/。下面有一些列名的解釋。

列名

$ k $ 是嵌入度

$ D $ 是複數乘法判別式(我認為)。

$ u $ 更複雜。我不完全確定這是否正確。這些曲線族(例如,BLS 或 BN)中的每一個都與 $ p $ , $ r $ ,以及其他“種子”參數, $ u $ .

$ p $ 是欄位特徵的大小和元素的大小 $ \mathbb{G}_1 $ .

$ r $ 是曲線階數的大小。

$ p^\frac{k}{d} $ 是元素的緊湊表示的大小 $ \mathbb{G}_2 $

$ p^k $ 是元素的大小 $ \mathbb{G}_T $ .

引用自:https://crypto.stackexchange.com/questions/93333