Там же ECDSA, HMAC, SHA256 - всё вместе.
Ничего супер-сложного там нет. SHA, HMAC - это все вообще просто, тупо берем референс-код и готово, строк там всего пару сотен от силы, при чем с комментами. Хотя в битке/эфире HMAC-а нет, вроде.
С ECDSA/EdDSA по-сложнее - уже надо шарить в математике - поля Галуа, модульная арифметика - это основное.
Да и кода готового простого нет. Хотя нет, есть, но чтобы в нем разобраться - надо знать математику. Хотя найти там бекдор или его отсутствие не сложно. Есть простые реализации на python и javascript. А с этих языков уже на любой другой можно перевести.
Я делал все руками, в том числе реализовывал вспомогательные функции(тот же extended euclidean algo итд), но не ради понта, а ради того, чтобы всунуть в микроконтроллер. С тайминг-атаками потом боролся(исключал все условные переходы), но это уже другая тема и для подписи это не нужно...
Особенно если это говнокод типа вышеупомянутого OpenSSL?
Не люблю эти храздутых библиотек. Хотя бекдоры в принципе найти не сложно, по крайней мере наглые. Особенно, если приложение локальное, а не браузерный javascript, в котором отловить все запросы в сеть не так просто да и javascript сейчас кишит всякими метеорами, j-queryями и прочим говном, копаться в котором нет никакого желания.
Еще сборщик транзакций нужен, не в каждом кошельке есть возможность проэкспортировать неподписанную транзакцию. В эфире и собирать ничего не надо, там аккаунты - все просто. А в битке есть electrum, в котором экспорт есть.
В общем мораль такова - любой нормальный коин должен иметь простейший софт для подписи транзакций. Без этого юзер должен доверять всяким
..., которые легко могут его обчистить.
Вон меня сегодня poloniex обчистила на 800 классиков. суки. блокнули акк, при чем верифицированный(на дропа ессно), поддержка молчит, в чате с другого акка банят. При чем такое уже не первый раз. надо переходить на децентрализованные биржи, но там движняка нет, более-меннее нормальную сумму обменять трудно