Stai cercando due cose, entrambe le quali possono fornire RSA:
- Vuoi crittografare un messaggio in modo che non possa essere letto senza la chiave privata della destinazione.
- Questa è la crittografia per la chiave pubblica della destinazione. Lo stai già facendo!
- Vuoi che la destinazione sia in grado di verificare che tu, la fonte approvata, sia in effetti colui che ha inviato il messaggio.
- Questa è la firma e la verifica. È necessario firmare il messaggio con la chiave privata (della sorgente) quando si esegue la crittografia sulla chiave pubblica della destinazione. Quindi la destinazione utilizza la tua chiave pubblica (la fonte) per verificare chi ha inviato il messaggio.
Un esempio di utilizzo di GPG per eseguire questa operazione da un file batch (ad esempio, comandi automatici: si DEVE avere una coppia di chiavi RSA per nient'altro che questo, poiché la passphrase è vulnerabile nel file batch). Se hai un comando di invio umano, NON dovrebbero usare l'argomento --passphrase; falli entrare nel tuo software in modo che non sia vulnerabile!
gpg --batch --encrypt --sign --local-user "Your own private key <[email protected]>" --passphrase "Put your private key passphrase here" --recipient "DestinationKey <their email>" --output "test.command.gpg" "test.command"
Ovviamente, dovrai assicurarti che la destinazione verifichi il messaggio e che la chiave di firma sia, in realtà, quella corretta.
Un altro riferimento è Qual è la differenza tra crittografia e firma nella crittografia asimmetrica? .
MODIFICA DA AGGIUNGERE: per quanto riguarda le alternative alla RSA per la crittografia asimmetrica, le due più comuni di cui sono a conoscenza sono DSA (basate su logaritmi discreti e si prega di provare a usare un | p | > = 2048 e un | q | > = 224, proprio come useresti almeno 2048 bit per la tua chiave RSA) ed EC (Curva ellittica - stai molto attento a quale curva scegli: le 25519 curve sembrano essere ben considerate finora, e usano almeno 256 bit) varianti come ECDSA (Elliptic Curve Digital Signature Algorithm. Vedi Firme: RSA confrontato a ECDSA e RSA vs. DSA per le chiavi di autenticazione SSH per riferimenti.