Domande sulla crittografia RSA / chiave asimmetrica?

0

Ho letto molto sui computer quantistici e su RSA. So che la sicurezza RSA si basa sulla difficoltà di fattorizzare un numero estremamente grande con solo due fattori primi. Apparentemente i computer quantistici affermano di essere in grado di calcolarli in pochi minuti. Volevo sapere alcune alternative valide alla RSA, forse qualcosa di più recente sviluppato.

Un'altra domanda che ho è, se una chiave di crittografia è pubblica che può essere utilizzata per inviare un messaggio a un server, come posso impedire a qualcuno di crittografare un messaggio (ad esempio, un'ipotetica eliminazione di tutto il messaggio) e inviarlo a il server se hanno sabotato le linee Internet? C'è un modo per impedirlo?

    
posta Phoenix Logan 22.02.2014 - 03:24
fonte

1 risposta

1

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.

    
risposta data 22.02.2014 - 03:46
fonte

Leggi altre domande sui tag