То, что вы видите, - это несжатая точка, кодированная BER / DER . Первый байт со значением 04
является , а не индикатором несжатой точки. Это третий байт. Первый байт со значением 04
кодирует байт тега для строки октетов ASN.1 (большинству разработчиков также известен как массив байтов). Вы можете просмотреть структуру здесь .
Байт с шестнадцатеричным значением 41
- это размер байтов, который идет после: 1 байт для индикатора несжатой точки 04
, 32 байта для статической величины X-координата и 32 байта для координаты Y.
Так что да, вы можете взять последние 64 байта и разделить их на два, если вам нужны координаты X и Y. 128 символов - это шестнадцатеричное представление этих байтов, но вам следует просто побеспокоиться о байтах.
Конечно, должен сделать, чтобы проанализировать ASN.1, определить и проверить длину, взять несжатую точку, декодировать ее и проверить, что она находится на кривой чтобы подтвердить ваш вклад. Ключ EC действителен, если он содержит правильные параметры. Однако для Ethereum / BitCoin кривая неявно известна (secp256k1).