Szyfrowanie danych

0

przeglądając generatory hash zauważyłem, że SHA-224 SHA-256, SHA-384, SHA-512 (i wiele innych )szyrfują dane co nie jest czymś nadzwyczajnym znalazłem też owe gdzie decryptują, ale dlaczego nie ma nigdzie decryptowania sha-224?

2
Qroqaqu napisał(a)

SHA-224 SHA-256, SHA-384, SHA-512 (i wiele innych )szyrfują dane

Oh, really? Może jednak nie szyfrują i właśnie to "dekryptowanie" jest z lekka trudne?

0

no ok, to czemu działa w jedną stronę? czyli w randomowym generatorze napisze sobie coś w sha-224 ale odtworzyć tego nie będę mógł?

1

@Qroqaqu, poczytaj i nie nudź:

0

Bo do tego zostały wymyślone. Cała idea jednokierunkowych funkcji skrótu, których przykłady tutaj wypisałeś, są właśnie takie, by były jednokierunkowe — tzn. by ich odwrócenie było możliwie jak najtrudniejsze. Trudno tutaj zresztą mówić o deszyfracji, bo to są wszystko funkcje skrótu, czyli istnieje nieskończenie wiele danych, dla których osiągana jest każda konkretna ich wartość.

0

Rozumiem, czyli chcąc zgadnąć litere np. x (54a2f7f92a5f975d8096af77a126edda7da60c5aa872ef1b871701ae) muszę manualnie wpisywać w generator co nie? :) czy jest szybsza metoda za pomocą jakiegoś programu , która zrobi to dla mnie? oczywiście zależne jest to od komputera, bo niektóre przerobią alfabet czy hasła frazowe (10000) w 1 min a innym zajmie to 1h

0

Z brute force zrezygnuj, bo życia Ci braknie.

3

@Qroqaqu nie da się zgadnąć litery x bo istnieje nieskończenie wiele różnych stringów które dadzą identycznego hasha. W przypadku hashów mówimy co najwyżej o szukaniu kolizji, czyli o szukaniu dowolnego stringa który daje ten sam hash. Ale nie da się stwierdzić czy znaleziony ciąg jest tym samym który był hashowany.
Oczywiście ze istnieja do tego programy -> john the ripper czy hashcat.
Dodatkowo często stosuje się tzw tablice tęczowe, o ile hashowanie odbywało się bez dodwania salta. To znaczy generuje się gigantyczny zbiór par string -> hash a potem żeby "złamać" hash wyszukuje się w tej tablicy. Tak zwykle działają tego łamaczki "online".

0

@Shalom to dlaczego w łamaczkach "online" nie ma w ogóle sha224? Czyżby to była głębsza wiedza? I raczej chodzi mi o stringi bez salta.

0

Ale niby gdzie nie ma?
https://crackstation.net/
https://md5hashing.net/hash/sha224
?
Może gdzieśtam nie ma bo jest mało popularne i nie ma sensu składować tablic dla tej funkcji bo mało kto korzysta. W praktyce najbardziej przydatne będzie pewnie md5, sha1 i sha256, bo są często stosowane.

0

Czy napisanie takiego generatora z hasłami kluczami, które potrzebuje to syzyfowa praca?

4

@Qroqaqu jeśli chcesz mieć kolizje dla wszystkich wartości SHA-224 to jest ich 2<sup>{224} różnych wartości. To jest przynajmniej 2</sup>{144} \times 29 \approx 6.47 \times 10^{44} \mathrm{[YiB]}, a to jest całkiem sporo danych.

0

a jeżeli chce mieć tylko określone wartości? hashe liczb od 1 do 1 miliona? Długo zajęłoby mi stworzenie takiego deskryptera?

0

No, całe 10 sekund.

import hashlib
max = 10
rainbow_table = {hashlib.sha1(str(i)).hexdigest():i for i in range(max)}
print(rainbow_table)
0

Czy jest samouczek (jak krok po kroku napisać taki deskrypter w co wkleić w czym pisać itp.), bo nie chce co chwilę zadawać pytań (bardzo zaciekawił mnie ten temat). Jeżeli to już dawka większej wiedzy z programowania to sobie odpuszczę.

0

Przeczytać dokumentację TEGO ze zrozumieniem. W przypadku braku zrozumienia odpuścić sobie.

Ew. znaleźć sobie jakąś książkę do algebry abstrakcyjnej, przeczytać, zrozumieć, pojąć o co chodzi w tych konkretnych algorytmach i zaimplementować je samemu. Ale to zabawa na kilka miesięcy.

0

A ja zapytam trochę z innej beczki. W przeszłości stosowałem zwykły hasz (np. md5, czy sha), a później hashowałem kilkukrotnie. Tzn. czyste dane(zazwyczaj hasło) hashowałem md5. Potem rezultat hashowałem sha. Ten jeszcze czymś. Czy jest sens to robić, czy to nie zwiększa bezpieczeństwa?

2

@Juhas ani trochę nie zwiększa a moze i zmniejszać dość mocno bo jeśli hashujesz sobie wynik md5 to ograniczyłeś właśnie zakres danych wejściowych do 16 bajtów hex... Poprawnym rozwiązanie jest hashowanie każdego hasła z dodaniem losowych bajtów (które to trzymasz sobie w bazie). Dzięki temu łamanie każdego hasła wymaga generacji nowych hashów z danymi losowymi bajtami soli.

0

dobra nie ogarnąłem. Ile może zrobienie takiego deskryptera kosztować?

1

Ale o czym ty mówisz? Podałem ci wyżej kod przecież. Co jeszcze chcesz? ;]

0

O to, że jestem czarny w tym. Nie wiem gdzie ten skrypt wkleić(jedynie co mam to Notepad++) i jak zrobić, aby to działało. Fakt wiem co to sól i tęczowa tablica ale to nie jest wystarczające do tego aby to zrobić :
edit: @winerfresh pomyślałem o rainbow shield z gry tibia :D

0

Naucz się jakiegokolwiek języka programowania. To wyżej to Python. Jak skończysz za ten miesiąc czy tam ile, to wróć po kolejne porady. Bo bez tego, to jak dawać małpie brzytwę…

1 użytkowników online, w tym zalogowanych: 0, gości: 1