Ed25519

用十六進製字節串表示 Ed25519 p 曲線

  • August 21, 2017

我有興趣將 Ed255519 曲線中的 p = 2^255 - 19 表示為十六進製字節表示。

當我瀏覽 DJB 編寫的原始 NaCL 原始碼時,我看到一個程式碼片段,上面寫著:

static const unsigned int minusp[32] = {
19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128
} ;

我可以安全地假設這是 p = 2^255 - 19 的 32 字節整數表示,我需要做的就是將 32 字節整數轉換為 32 字節十六進製字元串表示?

我應該如何用十六進製字元串表示 Ed25519 的 p?

常數被命名為p,因此它是 $ -p \pmod {2^{256}} $ , 或者 $ 2^{255} + 19 $ , 以小端序編碼。

假設您想要大端格式的十六進製字元串,這是通常編寫數字的方式,您會得到:

$ p = 2^{255}-19 $ =7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED

$ 2^{256} - p = 2^{255}+19 $ =8000000000000000000000000000000000000000000000000000000000000013

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