что-то я нахожу довольно обескураживает о Bitcoin является отсутствие обоснования / объяснения для некоторых проектных решений, в частности, выбор делать 256-битовые ECDSA над secp256k1 пары ключей против secp256r1 (а.к.а. P-256) для кошельков.
лучшее, что я мог бы найти на форуме в этой теме с 2011 года - https://bitcointalk.org/?topic=2699.0
NIST рекомендует использовать secp256r1, а в более общем случае предпочитает случайные параметры кривых на те Köblitz. я могу только догадываться, почему этот выбор был сделан, вот пара возможных причин:
* NIST устанавливает стандарты для GOVT крипто АНБ / США и искренне заботится о безопасности каждого. они обнаружили, что случайные кривые являются более безопасными, чем те Köblitz.
* NIST сделал преднамеренно плохое предложение использовать secp256r1, поэтому он действует как приманка. они обнаружили, что кривые Köblitz на самом деле более безопасные, чем случайные.
с этими причинами в виде, я мог видеть Bitcoin, имеющие аналогичные обоснования:
* Satoshi была информация, которая привела его / их поверить, что secp256r1 действительно приманка и что secp256k1 был лучшим выбором для реальной безопасности
* Satoshi знал, что secp256k1 был слаб и намеренно включили его в Bitcoin, чтобы сделать Bitcoin в приманке
учитывая, что проектные решения для обоих шифров BTC и NIST оба полностью непрозрачным, это трудно сделать хорошее предположение об их мотивации. У меня есть аналогичные оговорки по поводу использования base58 везде, но это меньше озабоченность с точки зрения безопасности.
кто может предоставить обоснование для использования secp256k1 над secp256r1, кроме "что это именно так, как это" или "так что это было написано в замечательной книге"?