C'è un modo per modificare una chiave pubblica in un modo che la decrittazione può ancora essere fatta con la chiave privata dopo qualche alterazione?

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

Domanda

In uno schema di crittografia asimetrica, mi chiedevo se fosse possibile ottenere quanto segue:

  1. Bob manda ad Alice la sua chiave pubblica
  2. Alice altera la chiave pubblica di Bob e crittografa un documento con esso
  3. Alice invia il documento crittografato a Bob
  4. Bob recupera il documento ma non riesco a decrittarlo con la sua chiave privata
  5. Più tardi, Alice invia alcune informazioni aggiuntive (probabilmente relative al metodo che ha usato per modificare la chiave pubblica di Bob) a Bob
  6. Bob utilizza queste informazioni aggiuntive per modificare la sua chiave privata e decrittografare con successo il documento

Chiunque?

Suppongo che RSA per la generazione delle chiavi, la crittografia e la decrittografia, ma se è più facile a che fare con un altro schema, sentiti libero di commentare.

È stato utile?

Soluzione

(Presumo che tu parli di RSA.)

Sì, è possibile, Ma non il 100%.

La chiave pubblica fa parte della chiave privata. Contiene il modulo e l'esponente della chiave.

Puoi dimenticare completamente di cambiare il modulo, perché dovresti generare un nuovo tastiera RSA, che è lo stesso problema di quello che stiamo cercando di risolvere.

Ma è possibile cambiare l'esponente. È possibile selezionare qualsiasi numero (primo) tra 1 e il tuo esponente come nuovo esponente e speranza che è coprime con il tozzente. Senza conoscere il tozzente è impossibile selezionare sempre un esponente corretto. Per scoprire il totient che dovresti conoscere i principali fattori della chiave, il che significa che dovresti rompere la chiave (divertirti!).

Così, in realtà è impossibile avere un metodo di lavoro del 100% per farlo, almeno non sapendo solo la chiave pubblica.

Se hai bisogno di maggiori informazioni sul controllo della teoria qui

Altri suggerimenti

Spero che la mia idea funzioni.

Supponiamo che questo (e,d,n) è una tupla dell'esponente pubblico RSA. L'esponente privato RSA e il modulo RSA n :

Seleziona un numero primo, diciamo p, tra 1 e un numero intero di 256 bit.

Per crittografare un messaggio m, calcola il nuovo esponente pubblico come e*p e il testo cifrato come:

c= m^{e*p} mod n.

Per decrittografia, il ricevitore dovrebbe conoscere il primo p, quindi mandi questo p più tardi a lui, con questo calcola

(1) P = p^{-1} mod phi(n)

e

(2) m^e=c^{P} mod n

e

finalmente m=(m^e)^d mod n. Funziona come il ricevitore conosce Phi (N).

A proposito, dove possiamo usarlo? C'è qualche applicazione che hai in mente per questo?

Come implica Silky nella sua risposta, il modo in cui RSA viene solitamente usato per crittografare un documento è in combinazione con un algoritmo simmetrico, come gli eventi avversi. Viene generata una chiave casuale sicura per l'algoritmo AES, la documentata è crittografata con quella chiave AES e la chiave AES è crittografata con la chiave pubblica del destinatario. Entrambe le parti sono fornite al destinatario.

Puoi adattarlo alla tua situazione semplicemente inviando solo il documento crittografato con la chiave AES nel primo passaggio e trattenendo la chiave AES crittografata con la chiave pubblica del destinatario fino al secondo passo. La prima parte sarà sull'ordine della dimensione del file originale e la seconda parte sarà una dimensione piccola e costante (nell'ordine della dimensione della chiave RSA).

Hmm, interessante.

Ti riferisci RSA, Presumo?

FYI, RSA non è effettivamente utilizzato per crittografare i documenti. Viene utilizzato per scambiare chiavi (chiavi per un algoritmo simmetrico, come gli eventi avversi).

Quindi quello di cui stai davvero parlando è un approccio che cambia le chiavi.

Tecnicamente (matematicamente) se inserisci un numero diverso, otterrai un numero diverso. Quindi non è un problema; Cambiare la chiave pubblica in qualche modo sarà (supponendo che tu convincano l'implementazione di RSA a usarla o preparare un numero adeguatamente diverso) risulterà in una diversa chiave simmetrica, quindi un documento indeclusivo di Bob (perché si aspetta una chiave diversa).

Davvero, però, non sono così sicuro che ti preoccupi di questo. È una cosa abbastanza inutile da fare. Forse, tuttavia, sei davvero interessato Spalazione a chiave (o "Condivisione segreta" come Wikipedia sembra chiamarlo).

Hth. Non sono affatto un esperto.

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