in che modo crittografiamo 100 bit di testo normale per ottenere 100 bit di testo cifrato usando DES?

2

Abbiamo uno scenario del genere che abbiamo bisogno di criptare 100 bit di testo semplice usando algoritmo di crittografia come DES (l'algoritmo prende 64 bit di blocco di testo e genera 64 bit di blocco di testo cifrato, la chiave che usa per la crittografia è di 56 bit) e desidera 100 bit di testo cifrato.

La mia domanda usando questo scenario: l'algoritmo di crittografia cripta solo i primi 64 bit di testo normale e il resto lasciato 36 bit non crittografato? Se no, qual è il processo in questo scenario?

o

In semplice voglio crittografare 100 bit di testo normale e voglio ottenere 100 bit di testo cifrato, usando algo DES (algo prende 64 bit di blocco di testo normale e genera 64 bit di blocco di testo cifrato, la chiave che usa per la crittografia è di 56 bit) qual è il processo?

    
posta Farida khan 28.07.2015 - 13:23
fonte

1 risposta

6

DES è una cifra di blocco , che significa che elabora blocchi di una dimensione fissa. Quando vuoi criptare un messaggio , cioè una sequenza di bit la cui lunghezza non è necessariamente quella di un singolo blocco, devi applicare un modalità di funzionamento che applica il codice di blocco" correttamente "per crittografare e decrittografare un messaggio.

La pagina di Wikipedia ha dei bei schemi. Ogni modalità operativa ha i suoi requisiti sulla lunghezza dell'input; per esempio, la modalità CBC richiede che la lunghezza dell'input sia un multiplo esatto della dimensione del blocco. Pertanto, CBC richiede alcuni padding e invariabilmente genera un testo cifrato che è più grande del testo in chiaro. Alcune altre modalità possono eseguire una crittografia bit-to-bit esatta (codifica k bit esattamente in k , per tutti k ), in particolare OFB , CFB e CTR. CBC può anche essere reso senza padding con CTS ("rubare il testo cifrato") purché la dimensione di input sia lunga almeno un blocco.

Si noti, tuttavia, che quasi tutte le modalità operative richiedono un vettore di inizializzazione , che deve essere scelto da chi crittografa e trasmesso a chi decodifica; se l'IV non può essere dedotto dal contesto, deve essere trasmesso , che aumenta i requisiti di rete. La selezione IV è cruciale per la sicurezza; alcune modalità richiedono una IV completamente casuale e imprevedibile, mentre altre possono ottenere sicurezza con una IV non ripetitiva, ma una IV fissa codificata in genere non sarà affatto valida.

Una modalità IV-less che trasforma 100 bit di testo in chiaro in 100 bit di testo cifrato dovrebbe essere deterministica (questa è una necessità matematica ); quindi, tale modalità rivelerebbe necessariamente se due messaggi cifrati sono identici. Questo può o non può essere un problema, a seconda del contesto di utilizzo. Una modalità IV-less sicura è una modalità IV-less che perde esattamente quell'informazione, ma non di più. Per quanto ne so, non esiste uno standard per una modalità IV-less sicura, ma ci sono alcune costruzioni accademiche conosciute ( questo può essere reso pratico; quello è teoricamente " meglio "ma molto meno pratico).

Ci sono ancora alcune osservazioni da fare. Innanzitutto, DES è obsoleto e debole, proprio a causa della lunghezza della chiave: la chiave a 56 bit è alla portata di una ricerca esauriente (sforzo notevole, ma realizzabile, anche da parte di dilettanti con un budget moderato). 3DES è molto più strong, ma anche tre volte più lento (mentre DES era già piuttosto lento nel software "normale"). Sia DES che 3DES utilizzano blocchi a 64 bit, che sono un po 'troppo stretti (questo può sollevare problemi di sicurezza quando si crittografa un sacco di dati con una sola chiave). Anche 3DES è deprecato; i protocolli moderni dovrebbero utilizzare AES , i cui blocchi sono più grandi (128 bit), evitando questi problemi di sicurezza. AES è anche sostanzialmente più veloce di 3DES.

Inoltre, la crittografia deve essere applicata in contesti in cui vi è la necessità di riservatezza contro gli intercettatori. Nella maggior parte di questi contesti, gli attaccanti possono anche essere attivi , cioè alterare i dati in transito. Le alterazioni possono essere rilevate in modo affidabile attraverso l'uso di un MAC , ma ciò aumenta necessariamente la dimensione del messaggio (sempre a causa dei piccioni) . Combinare la crittografia e il MAC non è affatto facile ei messaggi successivi devono essere in qualche modo "collegati" insieme per sconfiggere gli attacchi di replay e altre alterazioni a livello di pacchetto. Tutto ciò dovrebbe essere gestito definendo un protocollo sicuro : un protocollo è un insieme di algoritmi crittografici elementari (ad esempio AES) per fornire alcune proprietà di sicurezza ben definite. Un esempio di un protocollo è TLS . Progettare un protocollo sicuro è ancora più difficile della progettazione di un algoritmo sicuro; anche implementare un protocollo già definito è difficile da eseguire correttamente (cioè senza divulgare informazioni segrete).

    
risposta data 28.07.2015 - 14:22
fonte

Leggi altre domande sui tag