Puncte:2

Nu prea înțeleg hashingul

drapel id

Nu prea înțeleg hashingul, pentru criptare sau altfel.

Deci, dacă aveți un site web și un utilizator se înscrie, îi stocați parola ca hash. Când se conectează, site-ul dvs. preia parola trimisă, o face hash și compară trimiterea hashing cu hash-ul stocat, nu?

Să presupunem că ai hash o propoziție folosind SHA-256, decriptezi VODATA un astfel de hash sau chiar ai capacitatea de a o face?

O ultimă continuare: Whatsapp spune că mesajele mele sunt criptate. Deci, dacă le criptez pe măsură ce le trimit, cum le decriptează dispozitivul celorlalte persoane?

Îmi dau seama că aceasta este o întrebare foarte generală, dar încerc să-mi înțeleg cum funcționează asta. Te rog nu striga.

drapel et
Nu, un hash nu poate fi inversat. Hashingul este o operațiune unidirecțională. Hashingul nu este criptare.
meshcollider avatar
drapel gb
Răspunde asta la întrebarea ta? [Diferențe între algoritmii de hash și de criptare?](https://crypto.stackexchange.com/questions/62036/differences-between-hash-and-encryption-algorithms)
Sheldon avatar
drapel nl
**Funcția hash criptografică (CHF)** este un algoritm matematic care mapează date de o **dimensiune arbitrară** (denumită adesea „**mesaj**”) la o matrice de biți de **dimensiune fixă** ( „valoarea hash”, „hash” sau „**mesage digest**”). Este o funcție **unidirecțională**, adică o funcție pentru care este practic imposibil de inversat sau inversat calculul.
kelalaka avatar
drapel in
Da, este o întrebare prea largă și trebuie să aibă un răspuns foarte lung și totuși nu poate fi satisfăcută cu ușurință. WhatsApp? Vezi aceasta [În criptarea end-to-end, serverul nu trebuie să fie de încredere?](https://crypto.stackexchange.com/q/54082/18298) și de pe WhatsApp: [WhatsApp Security Whitepaper](https://crypto.stackexchange.com/q/54082/18298) ://www.documentcloud.org/documents/2806301-WhatsApp-Security-Whitepaper-1)
Puncte:1
drapel ng

Deci, dacă aveți un site web și un utilizator se înscrie, îi stocați parola ca hash. Când se conectează, site-ul dvs. preia parola trimisă, o face hash și compară trimiterea hashing cu hash-ul stocat, nu?

Da, cu trei detalii suplimentare în modul modern standard de a face acest lucru:

  • Parola ajunge pe site-ul web criptată TLS; este decriptat înainte de hashing.
  • Salt (trasă aleatoriu la înregistrarea parolei sau/și numele de utilizator/e-mail) este hashing împreună cu parola și stocat de-a lungul hash-ului parolei de către server.
  • Este folosit un hash repetat intenționat lent, sperăm că dur de memorie, conceput pentru parole, cum ar fi Argon2. Acesta este conceput ca o protecție în cazul în care serverul lasă lista de hashe-uri și scurgeri de sare (astfel de scurgeri se întâmplă în mod obișnuit). Această precauție face mai dificilă găsirea parolei (sau mai exact, o parolă acceptabilă cel mai probabil cea originală) într-un dicționar de parole obișnuite, prin hashing parolele candidaților și sare și comparând cu hashul parolei, la fel cum face serverul pentru a verifica o parolă la conectare.

Să presupunem că ai hash o propoziție folosind SHA-256, decriptezi VODATA un astfel de hash sau chiar ai capacitatea de a o face?

Nu. În primul rând, „decriptarea” nu este termenul corect pentru găsirea intrării unei funcții hash, având în vedere rezultatul acesteia; termenul corect este „revers”. Și, un hash este conceput pentru a fi ireversibil în funcționarea normală. Dacă intrarea hash-ului este necunoscută și aleasă aleatoriu într-un set mare, iar designul hash-ului este bun, practic nu este posibil să inversați hash-ul.


Whatsapp spune că mesajele mele sunt criptate. Deci, dacă le criptez pe măsură ce le trimit, cum le decriptează dispozitivul celorlalte persoane?

Hashingul nu este același lucru cu criptarea. Hashingul transformă un mesaj într-un mod care este conceput pentru a fi ireversibil și nu utilizează o cheie. Criptarea transformă un mesaj conform unei chei de criptare, într-un mod reversibil de unul cu cheia de decriptare.

Cheia de decriptare trebuie să fie secretă, altfel obiectivul criptării (ascunderea a ceea ce a fost criptat pentru adversarii care nu cunosc cheia de decriptare) nu este îndeplinit. În criptarea simetrică (de exemplu, AES-GCM), cheile de criptare și de decriptare sunt aceleași. În criptarea asimetrică (de exemplu, RSA, ECIES), acestea sunt diferite: cheia de criptare poate fi făcută publică și se numește cheie publică; cheia de decriptare este cheia privată.

Când trimiteți un mesaj cu o aplicație modernă care utilizează criptare asimetrică (cum ar fi Whatsapp), iată imaginea de ansamblu:

  • Aplicația dvs. desenează o cheie unică de mesaj simetrică aleatorie.
  • Aplicația dvs. criptează mesajul folosind criptarea simetrică cu această cheie unică pentru mesaj, iar rezultatul este trimis.
  • Aplicația dvs. criptează în mod repetat cheia unică pentru mesaj către fiecare destinatar vizat, folosind criptarea asimetrică (de exemplu, ECIES) și fiecare cheie publică a destinatarului vizat, iar rezultatele sunt trimise.
  • Când un destinatar trebuie să decripteze mesajul, aplicația sa primește mai întâi cheia unică pentru mesaj criptată criptată sub cheia publică și o descifrează (prin decriptare asimetrică) folosind cheia privată, obținând cheia unică a mesajului.
  • Aplicația destinatarului primește mesajul criptat, îl decriptează prin decriptare simetrică folosind cheia unică pentru mesaj, apoi afișează mesajul decriptat.

Mecanismul principal care protejează confidențialitatea mesajului este criptarea simetrică. Criptarea asimetrică protejează confidențialitatea cheii unice pentru mesaj, astfel protejează indirect confidențialitatea mesajului. Hashingul este de obicei folosit intern ca element de bază în unii dintre pași, dar nu este mecanismul care criptează mesajul sau cheia unică a mesajului.

Puncte:0
drapel kr

Pe lângă răspunsul lui @frieu:

Să presupunem că indexați o propoziție folosind SHA-256, decriptați vreodată așa ceva un hash, sau chiar au capacitatea de a?

Pentru a valida parola, nu trebuie să restaurați parola din hash. Doar calculați un hash pentru parola pe care doriți să o verificați. Dacă parola este aceeași, veți obține același hash.

Important este de știut că pot exista mai multe parole care produc același hash. Dar pentru algoritmi precum SHA-256 sau Argon2 există două aspecte importante:

  1. Probabilitatea ca două parole să producă același hash este foarte mică.
  2. Nu există o modalitate analitică de a găsi o parolă care să producă hash dat. Singura modalitate este forțarea brută, adică încercarea tuturor valorilor posibile. Dacă parola are entropie scăzută („nu este suficient de aleatorie”, pentru a o spune simplu), de ex. dacă are lungimea de 8 caractere, atunci hash-ul său SHA-256 poate fi ușor forțat. Pentru a preveni, ar trebui să folosiți algoritmi care fac forțarea brută foarte intensivă în resurse, cum ar fi Argon2.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.