Ho cercato di progettare un semplice formato di archivio, che mi consenta di unire un gruppo di file crittografati insieme.
L'idea, al momento, è di incorporare non la chiave di crittografia ma un hash troncato della chiave di crittografia nel messaggio.
Suppongo che sia il mittente che il destinatario abbiano già ottenuto la chiave di crittografia simmetrica ma ho bisogno di un metodo di comunicazione che mi permetta di identificare la chiave e ho considerato semplicemente di inviare un hash sicuro troncato della chiave stessa ma Non sono sicuro che ciò comprometta effettivamente l'integrità del codice.
In particolare, sto usando SHA-1 e AES-128, sono preoccupato che questo approccio ridurrà efficacemente la sicurezza a una questione di forzatura brutale di tutte le chiavi a 128 bit che producono una collisione SHA-1 e che questo semplicemente è banale da fare, in quanto rende completamente il codice AES, inutile.
Mentre sto troncando l'hash SHA-1, ho ancora perdite di 16 byte dell'hash SHA-1 che corrisponde alla chiave simmetrica usata. Quindi c'è un'ambiguità ma probabilmente non abbastanza.
Mi piacerebbe davvero essere in grado di identificare quale chiave di crittografia è stata utilizzata per crittografare il messaggio in modo sicuro senza dover introdurre una sorta di sequenza ID o contabilità esterna ma forse sto cercando di risolvere l'impossibile qui.
Qualsiasi input su questo argomento è molto apprezzato.