[Un concetto web3 ogni giorno] Crittografia da conoscere
Gli algoritmi di crittografia sono i concetti più comunemente sentiti nelle catene pubbliche, nei portafogli e in altri campi. Ma come garantire la sicurezza del portafoglio e come garantire il collegamento del blocco? Tutto ciò richiede l’aiuto della crittografia. La tecnologia crittografica è la tecnologia alla base della sicurezza dei sistemi blockchain. Le funzioni hash e le coppie di chiavi pubblica-privata comunemente utilizzate in web3 ne sono rappresentative.
Funzione hash: chiamata anche funzione hash, o hash in breve, può realizzare input di qualsiasi lunghezza e convertirlo in un output di lunghezza fissa: h=H(m), il che significa che qualunque cosa tu immetta verrà sottoposta ad hashing Algoritmo, cos'è alla fine si ottiene una stringa di caratteri di lunghezza fissa, un input corrisponde ad un output, e la sua sicurezza è basata sulla sua resistenza alle collisioni (Collision-Resistant), cioè è difficile trovare due input con lo stesso output.
Nella blockchain, le funzioni hash vengono utilizzate in due posti, uno è l'hash radice dell'albero Merkle e l'altro è il puntatore del blocco che collega i blocchi. L'hash della radice dell'albero Merkle consiste nell'hash di tutte le transazioni, quindi nella creazione di un nuovo valore e infine nell'hashing. Alla fine, viene trovato un solo valore hash, ovvero l'hash della radice dell'albero Merkle. Poiché è impossibile trovare due input con lo stesso output, ciò significa che finché cambia il contenuto della transazione, cambierà anche l'hash root dell'albero Merkle, quindi finché non cambia l'hash root, la transazione è corretta . Allo stesso modo, trova un hash per l'intero blocco di dati e inserisci l'intero valore hash nell'intestazione del blocco successivo. Finché il valore hash rimane invariato, significa che tutti i blocchi precedenti non sono stati manomessi. corretto.
Coppia di chiavi pubblica-privata: è il famoso algoritmo di crittografia a chiave pubblica.
La crittografia a chiave pubblica utilizza una coppia di chiavi correlate per la crittografia e la decrittografia: una "chiave pubblica" pubblica e una "chiave privata" segreta. La "chiave pubblica" può essere rivelata a chiunque e utilizzata per crittografare i dati. La "chiave privata" deve essere mantenuta segreta e nota solo al proprietario. Viene utilizzato per decrittografare i dati crittografati dalla chiave pubblica corrispondente.
Gli algoritmi di crittografia a chiave pubblica si basano sulla complessità di alcuni problemi matematici: ad esempio, la sicurezza dell’algoritmo RSA (un esempio popolare di crittografia asimmetrica) si basa sulla difficoltà di fattorizzare grandi numeri. In altre parole, puoi pensare a questo processo come a una "scatola nera" per la crittografia e la decrittografia.