Perché usare una chiave pseudo-casuale è considerata più pratica di una volta?

6

Sto sperimentando confusione riguardo i pad monouso. Ho letto che un pad singolo genera una chiave che ha la stessa lunghezza del testo in chiaro. Questo è considerato un overhead nella condivisione di una chiave così grande. Quindi, come potrebbe una chiave pseudo-casuale eliminare questo sovraccarico?

Ho letto delle parti di comunicazione che condividono un breve seme che viene poi utilizzato per creare una chiave pseudo casuale, e ho problemi a mettere in relazione questi due approcci.

    
posta Humam Shbib 15.03.2012 - 00:26
fonte

2 risposte

8

Nessuno usa i One-time pad, perché non è pratico . La crittografia moderna utilizza cifrari a blocchi e codici di flusso perché tutto ciò che devi fare è trasmettere una chiave molto piccola, utilizzando un metodo di scambio chiavi e in base a questo tasto è possibile generare una quantità effettivamente infinita di output pseudo-casuale.

Un codice di flusso funziona molto come un one time pad. Se il tuo messaggio è lungo X byte, allora generi X byte di PRNG stream e poi XOR questo con il tuo messaggio di testo in chiaro per produrre il testo cifrato. Se riusciate a riutilizzare questo flusso PRNG probabilmente compromettete seriamente la segretezza del vostro messaggio. Lo stesso vale per un one time pad. se l'hacker conosce il testo normale, allora un semplice XOR produce i byte pseudo-casuali usati per crittografare il messaggio.

    
risposta data 15.03.2012 - 00:51
fonte
2

Wikipedia spiega perché il pad singolo non viene utilizzato nella pratica ; la necessità di scambiare una chiave molto lunga non è molto pratica.

Un'alternativa è un codice di streaming. Wikipedia spiega come funzionano i codici di flusso . I codici di flusso utilizzano una chiave breve per crittografare messaggi arbitrariamente lunghi.

Wikipedia spiega la relazione dietro il pad singolo e la cifra del flusso e perché puoi pensare al concetto di codice di streaming come non strettamente correlato a un pad di una volta, ma con una chiave più breve . Un codice stream funziona partendo da un seme breve, utilizzando un generatore di numeri pseudocasuali sicuro crittograficamente sicuro per estenderlo a una lunga sequenza (purché il messaggio), e quindi combinandolo con il messaggio nello stesso modo del pad singolo. lo fa. È importante capire che questo approccio non si qualifica come un one-time pad e non offre le stesse proprietà di sicurezza dimostrabili di un one-time pad.

    
risposta data 15.03.2012 - 02:27
fonte

Leggi altre domande sui tag