Elliptic-Curves

在 EdDSA 的 EC 子組(尤其是 Ed255190)中工作時,如何使用與主組不同的操作?

  • September 12, 2022

Ed25519 使用複合階橢圓曲線,但在主組的素階子組中工作。根據群論,子群使用群操作。

但是,根據this,Ed25519 實現不這樣做。

但是每個現有的實現都實現了標量算術 $ \bmod q $ ,素數階群的階,不 $ \bmod 8q $ ,全組的順序。

這裡,主組的順序是 $ 8q $ 和 $ q $ 作為素數。

這有點令人困惑。

  • 為什麼 Ed25519 實現會這樣做?
  • 如果這些操作是在不同的子組操作下完成的,那麼我們不僅僅是在一個完全不同的橢圓曲線中工作 - 即在素數域上定義的橢圓曲線 ( $ \bmod q $ ) - 擁有父組有什麼意義?
  • 這樣做的優點和缺點是什麼?

該聲明

每個現有的實現都實現了標量算術 $ \bmod q $ ,素數階群的階,不 $ \bmod 8q $ ,全組的順序。

並不意味著在子組中工作,而是使用與主組不同的操作。群運算是兩個橢圓曲線點之間的點相加,在子群和群中是一樣的。標量乘法涉及整數 $ k $ 和一點 $ P $ , 並產生一個點 $ [k]P $ 定義為 $ \underbrace{P+P+\ldots+P+P}_{k\text{ times}} $ .

我的理解是引用聲明實現使用它 $ [k]P=[k\bmod q]P $ , 當 $ P $ 屬於順序的一個子組 $ q $ .

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