secp256k1 относится к параметрам эллиптической кривой, используемой в криптографии с открытым ключом Bitcoin, которая определена в Стандартах эффективной криптографии (SEC) с ссылкой на Certicom Research:Вход по гиперссылке виден.。 В настоящее время алгоритмы secp256k1 и ECDSA используются в биткоине. Большинство блокчейн-проектов, таких как Ethereum, возникают из приложения в Биткоине, и они используются позже.
До появления Биткоина secp256k1 почти никогда не использовался, но сейчас он становится всё более популярным благодаря своим ряду приятных функций. Чаще всего используемые кривые имеют стохастическую структуру, но secp256k1 строится специальным, неслучайным способом, что позволяет эффективно выполнять вычисления. При полной оптимизации он обычно более чем на 30% быстрее других кривых. Кроме того, в отличие от популярных кривых NIST, константы secp256k1 выбираются предсказуемым образом, что значительно снижает вероятность того, что создатели кривых вставляют в кривую любое программное обеспечение для бэкдоров.
Цифровые подписи
Ядро цифровой подписи — это подпись приватного ключа и верификация публичного ключа; Подпись — это процесс использования приватного ключа для подписания данных с целью генерации значения подписи, а проверка подписи — это процесс восстановления публичного ключа из подписи. Цифровые подписи имеют три применения в Ethereum. Во-первых, подпись доказывает, что владелец приватного ключа подразумевает, что владелец аккаунта Ethereum разрешил выплату эфира или выполнение контракта. Во-вторых, доказательство авторизации _неоспоримо_ (неоспоримое). В-третьих, подпись доказывает, что данные транзакции не были и не могут быть изменены кем-либо после подписания транзакции.
Криптография, стоящая за топ-20 криптовалют
Адрес:Вход по гиперссылке виден.
C# использует BouncyCastle.Cryptography для генерации эллиптической кривой SECP256K1 пар ключей
Как показано ниже:
Приватный ключ: C66C343A5CD1A1D25B24A47D71047442EFED87DE12933779B1DAD914401776B5 Публичный ключ: 04C99FE3CDC4D0025CFA1CC0BC6401FF273ABC4C86EB912F4325D286C5162A2D21D7DF76C3E79CF4F7C2183F0E230D187B26BC8A5FCA2436EA91AC72B8EC0F4651
Код таков:
C# использует Nethereum.Signer для генерации пар ключей
Код таков:
Обзор:
Ссылка:
Вход по гиперссылке виден.
Вход по гиперссылке виден. |