GNU イラクサライブラリを使用しています。次のコードがあります。
#include <nettle/curve25519.h>
uint8_t result[32], one[32];
for(auto &i : one) i = 0;
one[31] = 1;
curve25519_mul_g(result, one);
コードでは、基点に 1 を掛けています。基点の x 座標は 9 であるため、結果は 9 になると予想されます。
しかし、代わりに、次の番号が表示されます
0xfd3384e132ad02a56c78f45547ee40038dc79002b90d29ed90e08eee762ae715
。
このコードで 9 が生成されないのはなぜですか?