Ed25519
用十六進製字節串表示 Ed25519 p 曲線
我有興趣將 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