1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-24 19:24:19 +00:00
appunti-steffo/8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/hashing con più input.md
2023-09-21 02:46:23 +02:00

27 lines
No EOL
1 KiB
Markdown

[[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/debolezza]] di una [[funzione di hashing crittografico]] che si presenta quando l'input della funzione è formato concatenando direttamente due dati.
```python
hash("builtin" + "security") == hash("built" + "insecurity")
```
## Causa
Certe funzioni di hashing, come quelle basate sul design di [[Merkle-Damgard]], cifrano il [[plaintext]] dividendolo in blocchi di dimensione fissa processati consecutivamente.
Se si conosce l'hash fino a un certo blocco, determinare l'hash per una quantità limitata di blocchi successivi è molto più facile.
## Prevenzione
- Utilizzare un separatore che non appare nel testo:
```python
hash("builtin" + "," + "security")
```
- Utilizzare un indicatore della lunghezza del primo dato:
```python
hash(len("builtin") + "builtin" + "security")
```
## Vedi anche
> #Extra [AWS signature version 1 is insecure](http://www.daemonology.net/blog/2008-12-18-AWS-signature-version-1-is-insecure.html)