Elliptic-Curves
在 EdDSA 的 EC 子組(尤其是 Ed255190)中工作時,如何使用與主組不同的操作?
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 $ .