Elliptic-Curves
您可以在配對友好曲線上使用 ECDSA 嗎?
我正在學習橢圓曲線密碼學。如果我理解正確,ECDSA 和 ECC 中使用的其他算法取決於選擇的曲線。所以,在你想使用 ECDSA 之前,你首先要選擇一條合適的曲線。
配對友好曲線是一種特殊的橢圓曲線,它具有允許不同算法在每條橢圓曲線上不可用的屬性,例如 BLS 或基於身份的加密。
在 1990 年代初發現這些攻擊之後,共識是低嵌入度的橢圓曲線不應該用於離散對數協議。事實上橢圓曲線密碼學的許多標準,如 ANSI X9.62
$$ 3 $$明確禁止使用此類曲線。然而,低嵌入度橢圓曲線現在非常流行,因為它們對於高效實現第3 節中提出的基於配對的協議至關重要。
假設我想在配對友好曲線(如 alt_bn128)上使用 ECDSA(我相信它基於離散對數問題)。據此,配對友好曲線應該具有低嵌入度,不應該與 ECDSA 一起使用。
我是否正確理解這一點?這是否意味著可以在配對友好曲線上使用的密碼原語應該專門為配對友好曲線(如 BLS)而設計?
你可以。由於MOV 攻擊,低嵌入度可能不好,但特別選擇了對配對友好的曲線,使得嵌入度低但仍足以不降低安全性。所以任何橢圓曲線算法都應該在曲線上是安全的,而不僅僅是基於配對的算法。
一些觀察:
- ECDSA 如果經常與具有輔因子 1 的 NIST 曲線一起使用。但是,一些配對友好的曲線具有更大的輔因子,因此您需要考慮到這一點。例如,BLS12-381 曲線有一個 381 位素數,但主子組有 255 位,因此它有大約 $ 255/2 \approx 128 $ 安全性位(而不是 $ 381/2 $ )
- 它仍然比使用高嵌入度曲線風險更大。如果針對有限域中離散對數的攻擊取得進展,則曲線安全性可能會降低。事實上,這種情況已經發生過一次:例如,BN256 曲線安全性從 128 位降低到 110 位。