Estou escrevendo um sistema VPN que criptografa (AES256) seu tráfego na rede (por que escrever o meu próprio quando já existem 1.000.001 outros por aí? Bem, o meu é especial para uma tarefa específica que nenhum dos outros se encaixa).
Basicamente, quero passar por meu pensamento para ter certeza de que estou fazendo isso na ordem certa.
No momento, os pacotes são criptografados antes de serem enviados, mas quero adicionar um nível de compactação a eles para otimizar um pouco a transferência de dados. Compressão não pesada - não quero maximizar a CPU o tempo todo, mas quero garantir que a compactação seja a mais eficiente possível.
Então, na minha opinião, devo compactar os pacotes antes de criptografar, pois um pacote não criptografado comprimirá melhor do que um pacote criptografado? Ou o contrário?
Provavelmente usarei o zlib para a compactação.
Leia mais no blog Superusuário .