secp256k1 si riferisce ai parametri della curva ellittica utilizzati nella crittografia a chiave pubblica di Bitcoin, definiti negli Standard for Efficient Cryptography (SEC), con riferimento a Certicom Research:Il login del link ipertestuale è visibile.。 Attualmente, in Bitcoin vengono utilizzati gli algoritmi secp256k1 ed ECDSA. Derivando dall'applicazione in Bitcoin, la maggior parte dei progetti blockchain come Ethereum viene utilizzata successivamente.
Prima di Bitcoin, secp256k1 veniva quasi mai usato, ma ora sta diventando sempre più popolare grazie alle sue diverse caratteristiche interessanti. Le curve più comunemente usate hanno una struttura stocastica, ma secp256k1 è costruita in modo speciale, non casuale, permettendo calcoli efficienti. Se completamente ottimizzato, di solito è più del 30% più veloce rispetto ad altre curve. Inoltre, a differenza delle famose curve NIST, le costanti di secp256k1 sono selezionate in modo prevedibile, il che riduce significativamente la probabilità che i creatori di curve inseriscano qualsiasi tipo di software backdoor nella curva.
Firme digitali
Il fulcro della firma digitale è la firma della chiave privata e la verifica della chiave pubblica; La firma è il processo di utilizzo della chiave privata per firmare i dati e generare il valore della firma, mentre la verifica della firma è il processo di recupero della chiave pubblica dalla firma. Le firme digitali hanno tre usi in Ethereum. Innanzitutto, la firma dimostra che il proprietario della chiave privata implica che il proprietario dell'account Ethereum abbia autorizzato il pagamento di ether o l'esecuzione del contratto. In secondo luogo, la prova dell'autorizzazione è _innegabile_ (innegabile). In terzo luogo, la firma dimostra che i dati della transazione non sono stati e non possono essere modificati da nessuno dopo la firma della transazione.
La crittografia dietro le 20 principali criptovalute
Indirizzo:Il login del link ipertestuale è visibile.
C# utilizza BouncyCastle.Cryptography per generare curve ellittiche SECP256K1 coppie di chiavi
Come mostrato di seguito:
Chiave privata: C66C343A5CD1A1D25B24A47D71047442EFED87DE12933779B1DAD914401776B5 Chiave pubblica: 04C99FE3CDC4D0025CFA1CC0BC6401FF273ABC4C86EB912F4325D286C5162A2D21D7DF76C3E79CF4F7C2183F0E230D187B26BC8A5FCA2436EA91AC72B8EC0F4651
Il codice è il seguente:
C# usa Nethereum.Signer per generare coppie di chiavi
Il codice è il seguente:
Recensione:
Riferimento:
Il login del link ipertestuale è visibile.
Il login del link ipertestuale è visibile. |