E 'possibile utilizzare crittografia pura e chiavi Decifrare in crittografia asimmetrica al posto di chiavi pubbliche e private?

StackOverflow https://stackoverflow.com/questions/3061225

Domanda

E 'possibile utilizzare crittografia pura e chiavi Decifrare invece di chiavi pubbliche e private? Per quanto ne so in .Net asimmetrica RSA implementazione chiave RSAParameters parameters = (new RSACryptoServiceProvider()).ExportParameters(true) privata è un superset di chiave pubblica. E utilizzando la chiave privata che può sia crittografare e decrittografare i nostri dati. Ma ho bisogno di codificare solo per decifrare dei dati. Come fare?

I sperimentato su annullamento dei campi RSAParameters, ma oggetto RSACryptoServiceProvider non può importare tali parametri.

È stato utile?

Soluzione

Se stai chiedendo cosa penso che stai chiedendo, si sta risolvendo un problema come questo:

È crittografare alcuni dati. Lo si invia ai clienti, e desidera che siano in grado di decifrarlo, ma si fa non voglio che siano in grado di cifrare nulla, perché allora potrebbero convincere altri i clienti che siete.

E 'così vicino? Puoi dirci cosa problema che stai solving?

Per il resto della gente sul filo, sembra abbastanza chiaro il PO vuole una chiave di decrypt-only, invece del solito cifrare solo-chiave pubblica.

Modifica: i commenti sono corretta in quanto una chiave privata non può essere usato per cifrare, ma non è poi così difficile per generare la chiave pubblica data la chiave privata. Se avete la chiave privata, in modo efficace può avere entrambe le chiavi.

Modifica 2: OP, probabilmente si dovrebbe guardare in firme digitali . Si potrebbe firmare un messaggio (utilizzando la chiave privata) e quindi confermare la firma con la chiave pubblica, che credo sia esattamente quello che hai chiesto.

Altri suggerimenti

Per la decodifica dei dati è necessario sia il pubblico o la chiave privata. Dipende da come è stato codificato.

Stick con i modelli standard, e solo essere attenti a non per distribuire la chiave privata.


Da suoi commenti (per varie risposte), è sufficiente la firma (di un hash dei dati). E 'inutile per crittografare i dati con una chiave che tutti possono avere.

Ci sono funzioni standard e modelli per la firma.

Credo che è necessario utilizzare la chiave privata per decifrare e la chiave pubblica per la cifratura.

Il ricevitore (Decrypter) lo invia di chiave pubblica al mittente (encrypter). Così tutti possono inviare messaggi, solo il ricevitore può leggerli. E 'questo quello che ti serve?

Se è necessario fare in modo che il messaggio proviene da un certo mittente, ha bisogno di aggiungere una firma utilizzando la propria chiave privata. Il ricevitore in grado di verificare questo utilizzando la chiave pubblica mittenti.

Se si vuole fare in modo che la chiave titolare privata non può crittografare qualcosa tale che il risultato è indistinguibile da un messaggio inviato dal portachiavi pubblico, allora si potrebbe semplicemente doppio avvolgere i vostri dati.

È sufficiente avere due coppie-chiave.

Side A ottiene la chiave privata di coppia di chiavi 1, e la chiave pubblica di coppia di chiavi 2. B Side ottiene la chiave pubblica di coppia di chiavi 1, e la chiave privata di coppia di chiavi 2.

Side B manda il suo / la sua / il suo messaggio in primo luogo la crittografia con la chiave pubblica di coppia di chiavi 1, e quindi la chiave privata di coppia di chiavi 2.

Lato A decifra il risultato usando la chiave pubblica di coppia di chiavi 2, e la chiave privata di coppia di chiavi 1 (in questo ordine).

Il lato A in grado di generare la chiave pubblica di coppia di chiavi 1, ma non è in grado di generare la chiave privata di coppia di chiavi 2, quindi il lato A non può generare un messaggio valido.

L'inverso lavora nella direzione opposta.

Down-side: Se si dispone di una persona centrale (o server) che ogni altra persona (o un computer) sta comunicando con, ogni partito ha bisogno la propria chiave privata, e hanno bisogno di condividere la corrispondente chiave pubblica con la persona centrale (o server) che stanno comunicando con.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top