Perché non criptiamo la punteggiatura?

-5

Sto leggendo sulla crittografia, e sono curioso del perché in tutti gli esempi e nei testi, non criptiamo i segni di punteggiatura.

Testo normale:
hello world! my name is alice and i'm writing a super secret message to bob.

Testo crittografato:
vszzc kcfzr! am boas wg ozwqs obr w'a kfwhwbu o gidsf gsqfsh asggous hc pcp.

L'esempio sopra è un semplice cesare caesar, ma sono curioso di conoscere altri algoritmi di crittografia del flusso principale. Perché non criptiamo la punteggiatura?

Ho letto dei cifrari a chiave simmetrica della vecchia scuola e non dei moderni algoritmi di crittografia asimmetrica.

    
posta KingJohnno 14.10.2018 - 13:12
fonte

3 risposte

1

Nella crittografia classica, la punteggiatura e altri caratteri non alfabetici vengono spesso rimossi. Questo perché questi personaggi possono rendere più semplici attacchi come l'analisi della frequenza. Ad esempio, lasciare spazi nel testo in chiaro / testo cifrato di un Caesar Cipher consente di vedere le lunghezze di ogni parola. Poiché il dizionario contiene un numero limitato di, ad esempio, tre lettere, diventa più facile per un utente malintenzionato indovinare quale sia la relazione tra questi caratteri. È lo stesso per i punti e le virgole, che consentono a un utente malintenzionato di ottenere informazioni sulla struttura della frase.

Questo non è così rilevante nella crittografia moderna poiché i nuovi algoritmi non hanno questi stessi punti deboli. Un problema relativo si verifica quando si utilizza AES in modalità ECB ( link ). Questo dimostra che devi ancora essere a conoscenza del metodo di crittografia che stai utilizzando e di come lo stai usando per assicurarti di non perdere informazioni (in questo caso, i valori ripetuti nel testo in chiaro).

    
risposta data 16.10.2018 - 02:33
fonte
1

I moderni codici funzionano su bit / byte. Non è come eseguire la crittografia del disco e trovare i segni di punteggiatura non toccati. Per questo il testo deve prima essere codificato come bit / byte prima che avvenga la crittografia. La crittografia moderna è completamente agnostica sul contenuto del messaggio.

Steve ha fatto un'osservazione valida sul motivo per cui i cifrari di Cesare di un tempo potrebbero aver rimosso i segni di punteggiatura da un messaggio - se erano presenti in primo luogo.

Attualmente tuttavia ritengo che i crittografi di Caesar li rimuovano semplicemente perché è più difficile creare / comprendere un'implementazione del codice se l' alfabeto usato è diverso dal comune ABC. Per recuperare l'indice all'interno dell'abaco comune puoi semplicemente sottrarre il valore ASCII della lettera A. Inoltre, tutti sanno che è necessario scorrere 26 caratteri: cioè l'operazione è modulo 26.

Per lo stesso motivo è piuttosto comune usare caratteri maiuscoli o maiuscoli.

    
risposta data 26.10.2018 - 00:56
fonte
0

Questo è semplicemente a causa di come funziona il codice di Cesare. Prende un input come una stringa, una chiave come numero di spostamento e quindi ruota i caratteri alfabetici in chiaro con il tasto. Qualsiasi altro personaggio viene ignorato.

Altri algoritmi di crittografia come AES funzionano in modo diverso in cui l'intera stringa di testo in chiaro è crittografata con la chiave.

    
risposta data 14.10.2018 - 14:29
fonte

Leggi altre domande sui tag