Sto cercando di verificare l'integrità di un payload molto piccolo, circa 64 byte, che verrà memorizzato in un codice QR. Devo verificare che il carico utile non sia stato generato o modificato da un utente malintenzionato. L'aggiunta di un hash sicuro alla fine del payload userà un sacco del mio spazio utile. Speravo di crittografare l'intero carico utile con una chiave privata asimmetrica e quindi tentare la decrittazione con la chiave pubblica. Se la decrittografia ha esito positivo, si presume che il carico utile sia valido e che i dati possano essere letti.
Domande:
-
Dato un payload così piccolo, una chiave asimmetrica sarebbe troppo corta e quindi troppo facilmente hackerata attraverso un attacco di forza bruta?
-
Un'implementazione sicura dell'aggiunta di un hash o di un riempimento casuale, non mi lascia praticamente nessun carico utile utilizzabile per i dati reali?
-
Se 64 byte sono troppo piccoli, qual è una dimensione di payload estremamente piccola e realistica che potrei usare? (Voglio mantenere le dimensioni fisiche del codice QR il più piccolo possibile)