Sto provando un po 'di crittografia e mi chiedo se lo sto facendo correttamente.
L'idea è una crittografia a due livelli che garantisce che il mittente sia il mittente, pur avendo il proxy che non sa quale sia il contenuto del messaggio dal mittente (poiché il proxy conosce l'id del mittente). Quindi rimuovi l'ID del mittente e invia i dati al LAST receiver che può accedere solo al messaggio e non all'ID del mittente.
Ho un cliente che:
- Crittografa un messaggio con una chiave simmetrica e solo il contenuto del messaggio.
- Crittografa la chiave simmetrica con la chiave pubblica del ricevitore LAST.
- Crittografa nuovamente il messaggio crittografato con una chiave pubblica proxy.
Il proxy riceve i dati crittografati e dovrebbe solo verificare che il mittente sia il mittente effettivo. Quindi rimuovi l'id del mittente e invialo al ricevitore LAST solo con un messaggio crittografato senza id del mittente che può decifrare utilizzando la chiave simmetrica.
Che cosa dovrei firmare e come dovrei crittografare il messaggio crittografato e la chiave privata? In uno o due separati?