Die Anforderungen an eine Hashfunktion sind vom Einsatzbereich abhängig.
Zur Virenerkennnung werden - unter anderem - auch Hashfunktionen verwendet.
Hashfunktionen sind nicht deterministisch.
Hashfunktionen können zur Absicherung der Integrität verwendet werden.
Die Mindestausgabelänge für eine sichere Hashfunktion beträgt mindestens 512 Bit.
Der Input eine Hashalgorithmuss muss ein vielfaches der Blockgröße des Hashes betragen.
Poly 1305 ist nur deswegen sicher weil die Nonce 96Bit lang ist.
Jeder Hashalgorithmus, der starke Kollisionsresistenz bietet, kann zur Absicherung der Integrität verwendet werden.
Jeder Hashalgorithmus, der schwache Kollisionsresistenz bietet, kann zum Hashing von Passwörtern verwendet werden.
Preimage Resistance ist nur beim Hashen von Passwörtern relevant.
HMAC und Poly 1305 sind Algorithmen, die dem gleichen Zweck dienen.
Bei Poly 1305 und HMAC kann der Schlüssel mehrfach verwendet werden.
Bei HMACs wird der Schlüssel, der als Eingabe dient immer erst gehasht.
Poly 1305 ist eine Merkle-Damgard Konstruktion.
Eine Nonce ist eine Zahl, die einmal generiert wird und möglichst zufällig sein sollte. Danach kann diese für die Absicherungen mehrer Verbindungen mit den selben Partnern wiederverwendet werden.
MTAwMDAw:OckIYpspsAsLSE2DnUp7PjwpPL+U3wxt5ZEfHnztke8=:Id0+jIc+oQOrh6/b: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