昨日の続きです。libsecp256k1のnegが期待通りに作用しないため、BIGNUMに変換後、OpenSSLの関数で引いて、その結果をbe32でlibsecp256k1のスカラーに戻す手法があります。ただ、これはちょっと厳しいため、直接、その定数から引けるようにバイナリで操作することにしました。
なぜなら、途中にOpenSSLを挟むくらいなら、libsecp256k1ですべて動くまで、OpenSSLで動かしていた方が良い選択肢でした。よって、そのnegの結果次第で、第一弾の稼働をlibsecp256k1か、OpenSSLか、選択します。でも、libsecp256k1で動くでしょう。粘ります。