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 за генериране на ключови двойки
Кодът е следният:
Преглед:
Препратка:
Входът към хиперлинк е видим.
Входът към хиперлинк е видим. |