Sind Hashwerte als Beweismittel zugelassen?

Moin,

wie im Titel steht, frage ich mich, ob Hashwerte als Beweismittel vor Gericht zugelassen sind.

Das Konzept der Hashwerte ist denkbar einfach, es kommt ein Input rein, dieser durchläuft den Algorithmus und am Ende kommt ein einzigartiger Hashwert bei raus.

In den USA wurden bereits einige Gerichtsurteile auf Hashwertbeweise gefällt. Kurz, es wurde eine Festplatte beschlagnahmt (bzw. alle Speichermedien). Diese "interessanten" Daten waren allerdings in einem passwortgeschützten Archiv und der Beschuldigte wollte das Passwort selbstverständlich nicht rausrücken. Da die Ermittler allerdings auf die Hashes zugreifen konnten und diese mit einer Hashdatenbank von KiPo-Hashwerten verglichen haben, konnten sie einige Treffer feststellen und der Beschuldigte wurde daraufhin verurteilt.

Allerdings ist Anfang 2017 ein vermeintlich "sicherer" Hashalgorithmus von einer Forschergruppe geknackt worden. Dabei wurde einfach eine "Abkürzung" im Code genutzt und sehr viel CPU-Zeit verwendet. Dadurch gibt es die Möglichkeit in relativ kurzer Zeit aus einem Hashwert eine zweite Datei (unterschiedlich zur ersten Datei) zur erstellen, mit genau denselbem Hash, wie die erste Datei.

Mit Hinblick auf die bisher gefällten Urteile, wäre es nun möglich, dass der Täter, Einspruch einlegen kann und sich auf die Unsicherheit der Algorithmen berufen kann oder würde dies vom Gericht abgelehnt werden, da zum einen beinahe ein Supercomputer möglich wäre, um eine zweite Datei mit demselben Hashwert zu bilden?

Auch wäre es sinnvoll sich die Frage zu stellen, ab wann dieser Hashalgorithmus als "unsicher" gebrandet werden würde, da die Computer mit jedem Jahr leistungsfähiger werden und es irgendwann selbst für Heimanwender relativ einfach wäre, sowas zu bewerkstelligen.

Danke schonmal, für die Antworten!

Computer, Technik, Recht, Hash, Informatik, IT-Recht, Algorithmus, Beweis, Beweismittel
Hash von PDF komisch?

Hallo,

ich habe mein eigenes PDF Passwort vergessen, ich weiß nur noch ein Teil vom Passwort.
Als ich versucht habe das Passwort mit hashcat und Johntheripper zu bruteforcen stoße ich nur auf Probleme seitens des Hashes.
Diesen Hash hier bekomme ich raus wenn ich es über Johntheripper und perl ziehe:
$pdf$1*2*40*2147422012*1*16*1e6aa40a3c785a453f41f5a0edeaf1d2*32*0739421ab1d457677f59b11b72cefef2c501c8f31397a8a92cb9734f639a41d5*32*123dad38d30cf176895fd8bf64cd8c18ffabc5a7fde72f2d2ba390eaa6f509b8

Bei den Hash examples von Hashcat ist PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2 am ähnlichsten, der funktioniert aber nicht, die anderen auch nicht.

Ich bekomme immer diese Fehlermeldung:

* Device #1: WARNING! Kernel exec timeout is not disabled.
             This may cause "CL_OUT_OF_RESOURCES" or related errors.
             To disable the timeout, see: https://hashcat.net/q/timeoutpatch
* Device #2: WARNING! Kernel exec timeout is not disabled.
             This may cause "CL_OUT_OF_RESOURCES" or related errors.
             To disable the timeout, see: https://hashcat.net/q/timeoutpatch
CUDA API (CUDA 12.4)
====================
* Device #1: NVIDIA GeForce RTX 2070 SUPER, 7123/8191 MB, 40MCU


OpenCL API (OpenCL 3.0 CUDA 12.4.89) - Platform #1 [NVIDIA Corporation]
=======================================================================
* Device #2: NVIDIA GeForce RTX 2070 SUPER, skipped


./OpenCL/m10420_a3-optimized.cl: Pure kernel not found, falling back to optimized kernel
Minimum password length supported by kernel: 0
Maximum password length supported by kernel: 32


Hashfile 'pdf.txt' on line 1 ($pdf$1...ffabc5a7fde72f2d2ba390eaa6f509b8): Separator unmatched
No hashes loaded.


Started: Wed Mar 27 03:01:40 2024
Stopped: Wed Mar 27 03:01:41 2024

Ich habe auch schon andere PDF's versucht damit zu bruteforcen, da hat es immer funktioniert. Es liegt also an der Hash, ich weiß nur nicht warum.

Ich bedanke mich schonmal für jede konstruktive Antwort!

Hash, brute force, Bruteforce
Php Hashen mit "Salz" / PASSWORD_DEFAULT?
$password = "passwort";
$hashed = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($password, $hashed)){
    echo $hashed;
}

Also so würde ich jetzt den string "passwort" hashen mit etwas vollkommen zufälligem / salz und es zb auf meiner datenbank speicher, alles schön und gut.

Jetzt kommt das große aber, wenn ich die Seite von irgendwo anders aufrufe. Dann mich einloggen will wird das eingegebene wieder gehasht mit einem salz um es mit der sql datenbank abzugleichen.

Das geht aber garnicht weil dieses Salz doch immer ein anderer ist wenn ihr versteht was ich meine.

Hashes ohne salz vergleichen kriege ich schonmal ohne probleme hin.

zum beispiel so würde mein login/abgleich mit der datenbank aussehen :

if(isset($_POST["username"]) && isset($_POST["password"])){

$hash = hash("sha512", $_POST["password"]);

$mysqli1 = new mysqli($servername, $user, $pw, $db);
$result = $mysqli1->query('SELECT id FROM user WHERE username = "'. $_POST["username"]. '"  ');
$result1 = $mysqli1->query('SELECT id FROM user WHERE password = "'. $hash. '"  ');

if($result->num_rows == 1 and $result1->num_rows == 1 ) {
  echo "Login erfolreich"; 
} else {
    echo "Falsches Passwort oder Nutzername";
}
$mysqli1->close();
}

Hab jetzt mysqli benutzt weil es irgendwie übersichtlicher ist, und ob das anfällig für Sql Injections oder so ist spielt eigentlich keine rolle erstmal. Manche stört das

PC, Server, Computer, Technik, Web, Webseite, programmieren, Passwort, Hash, Informatik, IT-Sicherheit, Kryptographie, MySQL, PHP, Programmiersprache, Technologie, web-development, Web Developer