le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Prima di introdurre i cifrari a flusso, comprendiamo innanzitutto un prerequisito di base dell'operazione XOR del punto di conoscenza.
Regole operative: Uguale a 0, diversa a 1
Caratteristiche: Un bit viene sottoposto a XOR due volte e può essere ripristinato al bit originale.
Testo normale: 1100
Chiave: 0101 (crittografata)
Testo cifrato: 1001
Chiave: 0101 (decifratura)
Testo normale: 1100
vantaggio:Questa reversibilità consente di utilizzare l'operazione XOR sia per le trasformazioni di crittografia che per quelle di decrittografia.
discordanza:Se un utente malintenzionato riesce a indovinare o catturare la chiave, può essere facilmente decrittografata tramite XOR.
Il motivo per cui l'operazione XOR può essere utilizzata contemporaneamente per la crittografia e la decrittografia risiede nella sua reversibilità, ma questo è anche il suo limite. La sicurezza si basa completamente sull'occultamento delle chiavi.
One-Time Pad (OTP) è un algoritmo di cifratura a flusso. In teoria è considerato uno dei metodi di crittografia più sicuri, a condizione che la sua implementazione segua rigorosamente diversi principi chiave:
1. La chiave deve essere lunga quanto il testo in chiaro: Ciò significa che ogni crittografia utilizza una chiave che ha esattamente la stessa lunghezza del messaggio da crittografare.
2. La chiave deve essere veramente casuale: Ogni bit della chiave dovrebbe essere generato in modo casuale, senza alcun modello o prevedibilità.
3. La chiave deve essere utilizzata una sola volta: La stessa chiave non deve essere utilizzata per crittografare più messaggi, altrimenti la correlazione tra i testi cifrati può essere utilizzata per dedurre il contenuto del messaggio.
4. La chiave deve essere tenuta segreta: La distribuzione e la conservazione delle chiavi devono essere estremamente sicure per impedire l'accesso da parte di terzi.
vantaggio:
discordanza:
Quando le persone studiano gli algoritmi di crittografia one-time pad, cercano di risolvere i problemi di gestione e lunghezza delle chiavi. Se esistesse un modo per generare tutte le chiavi per crittografare il testo in chiaro fornendo solo una piccola parte della chiave, allora il cifrario a flusso sarebbe stato sviluppato sulla base di questa idea.
In un codice a flusso, una piccola chiave (spesso chiamata seme o vettore di inizializzazione) viene utilizzata attraverso un generatore di numeri pseudocasuali (PRNG) per generare un flusso di chiavi pseudocasuali della stessa lunghezza del testo in chiaro. Questo keystream viene quindi XORizzato con il testo in chiaro per produrre il testo cifrato. Allo stesso modo, il processo di decrittazione consiste nell'XOR del testo cifrato con lo stesso flusso di chiavi per recuperare il testo in chiaro.
chiavegenerare un flusso di chiavi
E utilizza le seguenti regole per confrontare stringhe di testo semplice
Per crittografare:
![]()
Un registro a scorrimento con feedback lineare viene generalmente utilizzato per generare chiavi pseudo-casuali. Il principio non verrà discusso qui.
Il processo di crittografia e decrittografia può essere descritto come segue:
I principi di progettazione dei codici a flusso si concentrano realmente sulla creazione di un generatore di keystream in grado di produrre un keystream con proprietà di sicurezza specifiche. La sequenza del flusso di chiavi dovrebbe avere le seguenti proprietà:
ciclo enorme : il periodo del flusso di chiavi dovrebbe essere sufficientemente lungo da impedire il riutilizzo dello stesso segmento del flusso di chiavi, il che esporrebbe modelli nei dati crittografati e consentirebbe ai crittoanalisti di effettuare attacchi confrontando le somiglianze e le differenze di messaggi diversi. Teoricamente, per uno spazio chiave di n bit, la lunghezza del ciclo ideale dovrebbe essere 2n-1. In pratica, periodi più lunghi significano che il flusso di chiavi viene ripetuto meno frequentemente, aumentando così la sicurezza del crittosistema.
buone proprietà statistiche : Il keystream dovrebbe apparire come una sequenza di bit veramente casuale, il che significa che dovrebbe soddisfare vari test statistici come la distribuzione uguale di 0 e 1, l'indipendenza tra due o più bit consecutivi e l'assenza di schemi o periodicità previsti. Buone proprietà statistiche aiutano a garantire l'imprevedibilità del flusso di chiavi, che è una componente importante della sicurezza della crittografia a flusso.
Resistenza all'analisi lineare : Un cifrario a flusso dovrebbe essere resistente all'analisi lineare, in cui il crittoanalista tenta di recuperare la chiave o il testo in chiaro trovando una correlazione lineare tra il flusso di chiavi e il testo in chiaro o testo cifrato. Ciò di solito richiede che l'output del generatore di keystream sia non lineare, o almeno contenga componenti non lineari sufficienti per impedire che semplici metodi di risoluzione di sistemi lineari deducano il keystream o la chiave stessa.