Puncte:1

Ar fi bine să creăm o nouă funcție hash criptografică?

drapel gb

Ar fi benefic să se creeze o funcție hash criptografică pentru mai multă securitate. O funcție hash criptografică este aproape un algoritm de generare de șiruri pseudoaleatoare și poate fi ușor de făcut dificil de spart prin creșterea numărului de hashuri posibile care pot fi generate.

De ce să faceți o altă funcție hash criptografică

Vreau să indexez parolele într-o bază de date astfel încât atacatorul să nu le găsească valoarea inițială. Aș putea folosi piper și/sau săruri în timp ce generez hașuri, dar vreau să-l fac mai sigur. Când aș face o proprietate Funcția hash care nu este disponibilă publicului comun, cum ar genera atacatorul chiar tabele curcubeu pentru parole.

kelalaka avatar
drapel in
Bun venit la Cryptography.SE. În primul rând, asigurați-vă că înțelegeți că nu există securitate prin obscuritate. Nimeni nu va folosi funcția ta hash. În al doilea rând, când vor începe să-l folosească, vor fura designul. În al treilea rând, cum poți avea o pretenție mare că poți face mai bine decât Argon2, etc?
kelalaka avatar
drapel in
Putem numi această înșelăciune a acestei [Diferențe între criptografia industrială și cea militară](https://crypto.stackexchange.com/q/62511/18298)
kelalaka avatar
drapel in
Si altul; [De ce este descurajat să scrieți propria dvs. criptare?](https://crypto.stackexchange.com/q/43272/18298)
Hargunbeer Singh avatar
drapel gb
Mulțumesc @kelalaka pentru resurse
Puncte:2
drapel us

Deși vă puteți crea propria funcție hash, cifrul simetric, schema de criptare a cheii publice etc., astfel încât nimeni să nu cunoască designul acesteia, este probabil o idee proastă să vă bazați pe obscuritate (cum a comentat @kelalaka) pentru a obține securitate.

În secolul al XIX-lea, Auguste Kerckhoffs a afirmat un principiu pe care îl numim ca „Principiul lui Kerckhoffs”:

un criptosistem ar trebui să fie sigur chiar dacă totul despre sistem, cu excepția cheii, este de cunoștință publică.

În plus, Maxima lui Shannon a fost formulată și în secolul al XX-lea și precizează că:

ar trebui să proiectăm sisteme pe baza ipotezei că inamicul se va familiariza imediat cu ele

Sau, cu alte cuvinte, atunci când proiectați un sistem pentru securitate, trebuie să presupuneți că atacatorul știe cum funcționează sistemul.

În exemplul dvs. de funcție de hash proprietară, atacatorul ar putea să obțină cumva acces la software-ul sau hardware-ul care calculează o astfel de funcție de hash și, folosind cripto-analiza sau inginerie inversă, va reuși să găsească vulnerabilități, cum ar fi atacurile de coliziune sau recuperarea pre-imagine. tehnici.

Un alt motiv pentru a nu te baza pe tehnici proprietare sau secrete este încrederea consumatorilor: de ce ar avea un consumator încredere că le păstrezi parola (hașată) în siguranță dacă recunoști că securitatea provine din necunoașterea implementării?

Acesta este motivul pentru care, în industrie, primitivele criptografice (funcții hash, cifruri, scheme de semnătură etc.) sunt adesea adoptate doar după o examinare semnificativă din partea comunității științifice. Apoi, RFC-urile și standardele sunt în curs de elaborare, astfel încât vânzătorii și furnizorii de servicii să își poată cuantifica securitatea spunând la ce standard se conformează.

kelalaka avatar
drapel in
Kerckhoffs este primul în [principiile lor](https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle)
yacovm avatar
drapel us
Multumesc, l-am adaugat

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.