L'utilizzo di one-time-pad richiede l'elenco di quelli usati?

0

Ho letto che poiché i sovietici non erano abbastanza attenti con i loro pad unici, riutilizzando involontariamente alcuni, hanno permesso all'Occidente di interrompere la loro comunicazione crittografata.

Questo significa che quando si utilizza una tecnica del genere si dovrebbe essenzialmente avere una lista di tutti quelli usati in precedenza per assicurarsi di non riutilizzarli? Anche se avessi un metodo di vera casualità durante la loro creazione, non ci sarebbe la possibilità di generare di nuovo lo stesso?

Posso immaginare che avere un archivio di tutti quelli usati in precedenza potrebbe comportare anche un rischio.

    
posta Lee 22.04.2017 - 21:15
fonte

4 risposte

2

Se utilizzi un nuovo pad casuale per ogni messaggio, non devi tenere traccia di quelli che hai usato.

La possibilità che tu ne crei accidentalmente uno identico come prima è praticamente zero. Cioè, sarebbe altrettanto probabile che creare casualmente un pad che non altera affatto il tuo messaggio o uno che cambi il tuo messaggio in uno della stessa lunghezza ma con il significato opposto.

In effetti, qualsiasi vincolo imposto su OTP generati casualmente li rende meno efficaci perché non sono più casuali e un utente malintenzionato potrebbe trarne vantaggio.

    
risposta data 22.04.2017 - 22:03
fonte
2

Does this mean that when using such a technique you would essentially have to have a list of all previously used ones to ensure you don't reuse any?

Questo deve essere visto nel contesto originale in cui due parti condividono un libro di codici composto da una lunga sequenza casuale.

Normalmente usi una sequenza data - devi inviare un messaggio di 1000 caratteri, usi i primi caratteri OTP inutilizzati nel libro dei codici, e poi li distruggi . Prendi nota della posizione nella chiave OTP e invialo. Il tuo controllo ha il libro dei codici intatto e può ricostruire il messaggio.

Se non distruggi fisicamente la chiave che hai appena usato, esponi te stesso alla decrittografia dei messaggi passati se il libro viene catturato.

Per ottenere un nuovo libro di codici, era necessario averlo consegnato in qualche modo, ed era un business rischioso. Quindi c'era la tentazione di riutilizzare una vecchia chiave - e a quel punto, il codice OTP smette di essere perfettamente sicuro. Più usi la stessa chiave, meno sicura diventa.

Se il nemico intercetta un messaggio di 2000 caratteri con la chiave 15273 (usando OTP 15273 a 17272) e un messaggio di 1000 caratteri con la chiave 16517 (usando OTP 16517 a 17516), ha ora due sequenze da 16517 a 17272 che erano codificato con gli stessi caratteri.

Modello molto semplificato

Supponiamo di utilizzare un OTP di base 10 con numeri e di immaginare di "codificare" utilizzando la somma modulare. Quindi 7 codificato dal tasto 5 diventa 7 + 5 mod 10 = 2.

Se intercetti un "2" cifrato sai che è stato generato da A + B = 2, ma qual era il valore di A? Che dire di B? Non puoi saperlo Entrambi 7 + 5 e 8 + 4 ti danno 2 ... in effetti hai tutte e dieci le possibilità , e quindi, un codice perfetto. Senza conoscere la chiave, il messaggio può essere qualsiasi messaggio .

Ma ora intercetti un "4" cifrato e sai che è stato generato da C + D = 4, ma a causa del riutilizzo delle chiavi, B è lo stesso di D, quindi sai anche che C + B = 4.

Sottraendo la seconda relazione dal primo

A+B = 2
C+B = 4

concludiamo che A + BCB = AC = -2, ovvero il carattere n-esimo del primo messaggio e il carattere m-es del secondo messaggio differiscono di 2. Poiché entrambi i messaggi devono avere senso , non è più vero che possono essere qualsiasi messaggio , e con un po 'di tentativi ed errori sarai in grado di leggere entrambi - non è più complesso di Sudoku:

First message                        : ATTACK AT DAWN
Second message shifted using A-C rule: BQF ORXTNABERN <-- 1st msg can't be it

First message                        : HELLO WORLD OF
Second message shifted using A-C rule: QUEAMISH OSSIF <-- now we're somewhere
    
risposta data 23.04.2017 - 00:19
fonte
1

Un time pad è solo una chiave segreta random che viene utilizzata per crittografare del testo nella stessa dimensione della chiave. Non è necessario ricordare quale one time pad è stato utilizzato se lo si distrugge dopo l'uso. Non è necessario tenerlo poiché lo hai già utilizzato una volta per la crittografia.

    
risposta data 22.04.2017 - 22:02
fonte
1

Credo che il problema dei sovietici sia che hanno erroneamente distribuito alcune OTP a più agenti da utilizzare, non è che abbiano generato più volte lo stesso OTP. Se ciò accade con un OTP significativamente lungo probabilmente significa che l'RNG non è molto buono.

    
risposta data 23.04.2017 - 02:49
fonte

Leggi altre domande sui tag