La mia domanda è un po 'una domanda principale, perché presumo che il numero di Private Keys sia un numero finito.
Tuttavia, è possibile che il numero sia così grande che in teoria non sarebbe mai raggiunto.
Tutto questo mi porta alla vera domanda che sto cercando di trovare la risposta a:
Domanda principale
Perché non generare una chiave privata / una coppia di chiavi pubbliche per un uso e poi eliminarle entrambe dopo l'uso?
Perché dovrei farlo?
Diciamo che voglio inviare qualcosa di privato ad Alice ma non ne abbiamo mai parlato prima.
- Alice aprirà l'app che ho sviluppato utilizzando il suo telefono e preme un pulsante.
- Ciò potrebbe contattare il mio server. Il server genererebbe 1 chiave privata e 1 chiave pubblica.
- Inviava la chiave pubblica alla sua app.
- Vedrebbe quindi un modulo in cui può digitare i dati che mi aspetto da lei. Quindi preme un pulsante per inviare i dati.
- L'applicazione utilizza la chiave pubblica che ha ricevuto da me e crittografa i dati.
- l'applicazione creerebbe anche una nuova chiave privata sul suo telefono per firmare i dati crittografati.
- l'applicazione genererebbe quindi una chiave pubblica dalla sua chiave privata
- infine, l'applicazione invierà tutti quei dati al mio server e pubblicherebbe la sua chiave pubblica (così posso autenticarmi è lei che ha inviato i dati).
- dopo che è stato postato correttamente cancellerebbe la sua chiave privata, la chiave pubblica che le ho inviato e la chiave pubblica che mi ha appena inviato.
- Infine, il mio lato dell'applicazione autentica i dati ricevuti, decrittografare i dati ed eliminare la mia chiave privata, la chiave pubblica che ho inviato e la sua chiave pubblica.
Il punto Avrei i suoi dati sicuri che voleva mandarmi. Le chiavi private utilizzate per tutto questo non potrebbero mai essere riutilizzate.
This would help alleviate the problem where your private key is exposed since it is only used for a one-time exchange.
Perché non si verifica questo tipo di crittografia ad hoc?
Questo offrirebbe un ulteriore livello di sicurezza dal momento che è basato sul tempo? Utilizzato una volta per questo scambio dal vivo.
Questo potrebbe esaurire Private Keys? Improbabile, poiché genera solo un altro valore che viene utilizzato per un periodo di tempo specifico.
La collisione della chiave privata si verifica più spesso? Immagina se milioni di persone usassero un'app che lo faceva ogni giorno? Provocherebbe la decifrazione accidentale dei dati delle persone con la chiave privata di qualcun altro? Improbabile.
Questo sarebbe un modo per consentire la condivisione ad hoc di dati privati?
Infine, sono curioso di sapere se questo sarebbe un modo per consentire più di una condivisione ad hoc di dati privati in modo sicuro?
Ad esempio, Alice chiama Bob e ha bisogno dei dati della sua carta di credito.
Non sarebbe comunque più vicino all'idea di un pad di una volta? E offrire più sicurezza?