Hier mal ein Versuch die grafik zu der Hash Funktion zu beschreiben:
Preimage :Man spricht auch von von einer Einwegfunktion wenn folgendes gild eine Funktion f:D->W für die gild es ist quasi unmöglich(computationally infeasible) zu einem y element W mindestens ein Urbild x element D zu finden.
second preimage man hat ein x und seinen Hash Wert es ist quasi unmöglich ein zweites x´zu finden x ungleich x´die denn selben Hash Wert haben.
Collision: es ist quasi unmöglich zwei x werte wobei wieder gild x ungleich x´zu finden die die gleiche Hash funktion haben
Wie würdet ihr die Grafik aus dem skript beschreiben? (zweiter Teil seite 15)
Ist eine Hash Funktion alleine schon ausreichend für ein Integritäts check?
Oder muss es zwangsläufig ein hmac sein?
Folgende zwei Sätze bringen mich zum nachdenken:
-"Cryptographic hash functions are often used for integrity
checks"
-"For integrity checks, hash values have to be protected: keys
for cryptographic protection"
Eigentlich kann ich doch mit einer normalen Hash Funktion auch schon die Daten integrität überprüfen in dem ich zb denn Hash Wert der Orginalen Datei mit dem der zu überprüfenden Datei vergleiche.Und wenn die Hash Werte gleich ist die zu überprüfende Datei unverändert.
Denn hmac brauche ich doch dann eigentlich nur um noch die Authentifizierung zu überprüfen also ich kann damit sicher stellen das die nachricht nur von der Person verschlüselt wurde der auch denn key kennt
Eigentlich kann ich doch mit einer normalen Hash Funktion auch schon die Daten integrität überprüfen in dem ich zb denn Hash Wert der Orginalen Datei mit dem der zu überprüfenden Datei vergleiche.
Du willst damit ja gerade überprüfen, ob Du die Originaldatei hast. Wenn ich Dir jetzt eine andere unterschiebe und ich keinen Schlüssel zum Erzeugen des Hashs brauche, kann ich natürlich auch zu jeder beliebigen Datei den korrekten Hash erzeugen.
Rein aus praktischer Sicht funktioniert eine stinknormale Prüfsumme natürlich auch, ganz genau so wie die unverschlüsselte Datenübertragung.
Aber ich kann doch überprüfen ob die Datei verfälscht wurde in dem ich denn Hash wert von der "alten " Datei mit dem der "neuen" vergleiche und wenn was geändert wurde sehe ich das doch an denn Hash werten.Also integritäts Test.
Was genau meinst Du mit "Integrität"? Ein Hash reicht sicher, um zufällige Bitfehler zu erkennen (altersschwache CDs, schlechte Netzwerkkabel). Aber wenn eine Person mutwillig die Daten verändern will, kann sie ja auch einfach den Hash neu berechnen.
nehmmen wir an ich speichere irgend etwas in der db vorher berechne ich denn has davon den speicher ich bei mir nun will ich die daten wieder aus der Db auslesen aber um sicher zu gehen das die daten integrität gewehr leistet ist also das die daten immer noch "unversehrt“, „vollständig“ sind überprüfe ich sie mit meinem Hash wird und ich würde eine veränderung erkennen
nehmmen wir an ich speichere irgend etwas in der db vorher berechne ich denn has davon
Aber Du kannst Dir den Hash ja nicht bis in alle Ewigkeit merken. Früher oder später muss der auch in der Datenbank landen.
Jub praktisch ist es nicht [28]
Password hashing welche Kryptographischen eigenschaften sind wichtig?? Collisions Resistent sollte es sein und Pre-image resistent oder was sagt ihr??
Wenn mann beim password hashing einen Salt hinzufügt ist der Öffentlich oder Private??