Modul în care semnăturile digitale și hashingul vă protejează tranzacțiile

Semnături digitale și Hashing

Semnăturile digitale și funcțiile hash criptografice cuprind sosul secret care face ca criptomoneda să funcționeze. Au pus cripto în monedă, ca să spunem așa. Semnătura dvs. digitală dovedește că dețineți cheia privată care pretinde proprietatea asupra activelor descrise într-o tranzacție. O funcție hash definește și asigură o tranzacție.

Criptografie – Vrei să afli un secret?

Semnăturile digitale și funcțiile hash trăiesc în criptografie, deci ce este criptografia? Criptografia definește arta și știința codării și decodării mesajelor pentru a menține confidențialitatea între comunicatori.

Zilele de salată ale criptografiei

Diferite forme de criptografie predomină în diferite perioade de-a lungul anilor. În zilele lui Iulius Cezar, rotirea alfabetului era suficientă. Iar criptografii se referă astfel la „cifrul Cezar”. În loc de cuvântul „pisică”, un mesaj criptat ar putea roti pur și simplu toate literele cu un pas spre stânga, astfel încât „pisică” se traduce prin „dbu”. În film 2001: O Odiseea spațială, rotiți literele „HAL” în același mod și ce obțineți?

Pe măsură ce trece timpul, sistemele de criptografie se întrerup pe măsură ce criptanalizatorii rezolvă fiecare sistem dat.

Criptografie cu cheie publică

imagine semnături digitale

Criptografia asimetrică, cunoscută și sub numele de criptare cu cheie publică / cheie privată sau pur și simplu criptografie cu cheie publică, prevalează în prezent. Cheile publice și cheile private sunt pur și simplu numere.

Termenul asimetric îl deosebește de criptografie simetrică. În criptografia simetrică, aceeași cheie criptează și decriptează mesajul. În consecință, cheia trebuie să rămână ascunsă. Aceasta creează o problemă de distribuție a cheii – cum să transmiteți în siguranță cheia către destinatar, precum și mesajul criptat?

Criptografia cu cheie publică rezolvă această problemă publicând o cheie publică pe care oricine o poate folosi pentru a cripta un mesaj, iar utilizatorul păstrează o cheie privată pentru a fi utilizată pentru a decripta mesajul. Acest lucru funcționează prin magia funcțiilor matematice unidirecționale. Funcțiile unidirecționale se calculează simplu și ușor, dar rezistă la ingineria inversă.

Exemplu de criptografie cu cheie publică

Pentru a ilustra cu un exemplu foarte simplu, înmulțiți două numere prime: prim1 * prim2 = rezultat. Având în vedere numerele suficient de mari, oricine poate privi rezultatul, dar determinarea care două numere prime au fost utilizate pentru a ajunge la acel rezultat prezintă o mare dificultate. Rezultatul reprezintă cheia publică, iar prime1 și prime2 reprezintă cheia privată.

Criptografia asimetrică se rupe atunci când hackerii folosesc o putere de calcul suficientă împotriva acesteia. Cu toate acestea, hackerii au nevoie de supercalculatoare pentru a realiza acest lucru într-un interval de timp rezonabil. Criptarea va trebui să evolueze atunci când computerele cuantice devin normele.

Semnături digitale

Creată de cheia privată, o semnătură digitală reprezintă cheia privată și astfel arată utilizatorului semnat la tranzacția dată.

Vă puteți gândi la o semnătură digitală ca la o variantă a unui mesaj criptat. La fel cum criptografia cu cheie publică creează un mesaj criptat, o cheie privată creează și o semnătură digitală. Cu cheia publică, puteți verifica rapid semnătura digitală a fost creată de cheia privată. Gândiți-vă la asta ca la un puzzle. Puzzle-ul poate fi foarte dificil de realizat, dar când este completat corect, îl verificați dintr-o privire.

Sărbători la Casa Hash

Un hash criptografic rezultă dintr-o funcție matematică care mapează date de o dimensiune arbitrară într-un șir de dimensiuni fixe de biți, cunoscut sub numele de valoare hash sau pur și simplu hash. Datele de intrare date rezultă întotdeauna în același hash. În consecință, dacă un mesaj nu corespunde valorii hash asociate acestuia, știți că mesajul a fost modificat. Două mesaje diferite nu ar trebui să creeze niciodată aceeași valoare hash. Dacă o fac, aceasta constituie o coliziune, iar funcția hash care a creat acea valoare este fatală.

Un exemplu simplu de Hashing

Pentru a ilustra, presupunem că dorim să hashem șirul simplu „ABCDE” ca date de intrare.

Să creăm un algoritm de hash simplu. Mai întâi, traducem literele în cifre: A = 1, B = 2, C = 3, D = 4, E = 5. Valoarea noastră hash rezultată trebuie să fie de o cifră. O metodă elementară adaugă pur și simplu toate cifrele împreună: 1 + 2 + 3 + 4 + 5 = 15. Aceasta dă un număr din două cifre, astfel încât algoritmul nostru continuă recursiv să adauge fiecare cifră a acestui număr: 1 + 5 = 6. Acest lucru face 6 valoarea noastră hash și 6 reprezintă „ABCDE” ca hash.

Dacă primiți „ABCDE” ca mesaj reprezentat de 6 ca hash, aveți încredere că mesajul este corect. Dar dacă ați primit mesajul „ABCXE” reprezentat de hash-ul 6 există o nepotrivire, în mod clar din cauza manipulării mesajelor.

Bineînțeles, algoritmul nostru simplu de hash eșuează la mai multe niveluri. În primul rând, șirul „EDCBA” sau orice combinație a acestora creează același hash ca „ABCDE”, creând astfel coliziuni. Matematica complexă depășește aceste probleme. Algoritmul de hashing cel mai utilizat în prezent în criptocurrency se numește SHA-256 (acronimul înseamnă Secure Hash Algorithm). În algoritmul SHA-256, dimensiunea fixă ​​a valorii hash ajunge la 256 de biți.

Semnături digitale și Hashing în criptomonedă

Bine, deci cum folosim de fapt semnături digitale și hashing în criptomonede?

Să vedem o tranzacție Bitcoin pentru a vedea tehnologia în acțiune.

O tranzacție Bitcoin se separă în două părți: 1) secțiunea de intrare și 2) secțiunea de ieșire.

Secțiunea de introducere conține cheia publică a expeditorului, informații care arată că expeditorul deține suficiente Bitcoins pentru a acoperi tranzacția și alte informații utile. Cheia privată a expeditorului creează o semnătură digitală pentru a semna această tranzacție. Această semnătură digitală intră în secțiunea de intrare a tranzacției.

Secțiunea de ieșire conține adresa portofelului destinatarului și un index deoarece există mai multe ieșiri (diferite ieșiri vor fi destinate destinatarului, expeditorului și minerului).

Hashing-ul intră în joc pentru a proteja integritatea tranzacției. Date precum plătitorul, destinatarul și suma plătită necesită hashing pentru a proteja împotriva actorilor rău intenționati care modifică aceste informații. Combinarea cheii criptografice și a acestor parametri de intrare pentru a alimenta funcția hash creează ID-ul tranzacției. Acum știm cu certitudine criptografică că expeditorul are de fapt autoritatea de a efectua plata și că detaliile tranzacției sunt corecte și nu au fost modificate.

O muscă în zeama

O problemă cunoscută cu tranzacțiile Bitcoin a apărut cu ceva numit maleabilitatea tranzacției.

Maleabilitatea tranzacției are loc deoarece Bitcoin are diferite câmpuri în tranzacție. În timpul procesării tranzacției, unele dintre aceste câmpuri s-ar putea schimba în moduri aparent marginale și nesemnificative. Dar, deoarece acestea se schimbă, valoarea hash se schimbă, determinând modificarea ID-ului tranzacției.

Pentru a vizualiza acest lucru, gândiți-vă la un câmp care conține numărul întreg 123, dar în timpul procesării, sistemul îl extinde pentru a deveni 0123. Ambele constituie același număr și, uitându-ne la ele, știm că sunt aceleași, dar funcția hash le vede ca diferite și ulterior creează valori hash diferite pentru fiecare. Această ciudățenie prezintă oportunități pentru actorii răi de a juca sistemul.

SegWit to the Rescue

Tehnologia Segregated Witness (SegWit) a remediat această problemă. SegWit creează o structură separată de un bloc (segregat). Această structură separată conține informațiile necesare pentru a determina validitatea unei tranzacții (martor la validitatea tranzacției), dar nu conține datele tranzacției în sine. Separarea datelor tranzacției în acest mod a eliminat posibilitatea maleabilității.

Gânduri de încheiere

Criptografia evoluează pe măsură ce tehnologia evoluează. Computerele din viitor vor rupe cu siguranță criptografia de astăzi. Dar pentru lumea actuală în care trăim, semnăturile digitale și hashurile criptografice oferă suficiente garanții pentru a asigura securitatea și integritatea tranzacțiilor noastre.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map