我需要一些幫助,在C#或Java 中移植OpenSSL函數EC_POINT_set_compressed_coordinates_GFp。如何在Bouncy Castle中實現OpenSSL的EC_POINT_set_compressed_coordinates_GFp?
儘管我可以使用Bouncy Castle(首選),但我可以從頭開始構建它。
的C++方法簽名看起來像這樣:
int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p,
const BIGNUM *x, int y_bit, BN_CTX *ctx);
從OpenSSL的:
點也可以在它們的壓縮座標來描述。對於一個點(x,y),對於x的任何給定值,使得該點在曲線上,y將只有兩個可能的值。因此,可以使用EC_POINT_set_compressed_coordinates_GFp和EC_POINT_set_compressed_coordinates_GF2m函數設置一個點,其中x是x座標,y_bit是值0或1,以確定應使用y的兩個可能值中的哪一個。
任何人都可以在需要幫助的數學?我無法理解源文件,並希望確保正確移植它
謝謝!我打算再打開一段時間,希望有人(或我會)用C#或Java發佈Bouncy Castle源代碼 – LamonteCristo
您可以詳細說明一下,或者爲步驟2和步驟3提供一些代碼/僞代碼。在這些步驟中, Ÿ應該是原始的或模數的形式? – PassKit