Se i pattern di dati riconoscibili nel testo in chiaro indeboliscono in qualche modo la tua crittografia simmetrica, allora la tua crittografia simmetrica è pura spazzatura e non dovrebbe essere usata affatto. Non rendere il formato dei dati scomodo e complesso solo per far fronte alle (presunte) carenze dell'algoritmo di crittografia; invece, usa un algoritmo che fa le cose correttamente.
È difficile dirne di più senza una descrizione completa e precisa dell'algoritmo che usi. Tuttavia, in tutta la generalità, potremmo dire che se probabilmente non conosci abbastanza per fare le cose correttamente (o almeno per sapere se hai fatto le cose correttamente). Ciò non significa essere deprecati delle tue capacità: la crittografia è un argomento molto specializzato e ha la caratteristica unica di non essere testabile. Nessuno può veramente sapere se ciò che hanno implementato è sicuro ; possono testare che funziona ma non che non può essere attaccato.
Questo vale anche per i crittografi addestrati. In effetti, ciò che distingue un crittografo esperto da uno sviluppatore "ordinario" non è che il crittografo possa progettare e implementare un protocollo sicuro da solo; non può neanche. La vera differenza è che il crittografo sa che non può rendere qualcosa di sufficientemente sicuro da solo.
La via d'uscita da questo problema è usare un protocollo stabilito. Ad esempio, se vuoi fare una "crittografia simmetrica", prendi uno standard esistente che è stato studiato e analizzato da molte persone (ad esempio OpenPGP ). E poi, non applicarlo nemmeno tu stesso; invece, utilizza una libreria esistente che è stata anche rivista, in modo che la maggior parte dei bug sia stata estinta (ad esempio GnuPG ).