Compactando arquivos criptografados

2

Existe um instalador lá, como o InstallShield, o Wise ou qualquer outro, que me permita realizar a compactação (qualquer formato) em um arquivo criptografado, se eu der a senha que usei ao criptografar o arquivo?

Basicamente, eu tenho um monte de arquivos que já estão criptografados (e precisam ser criptografados) que precisam ser compactados antes da implementação, então o pacote do instalador é menor, então talvez haja um instalador ou instalador que me permita compactar arquivo cab ou algo assim se eu fornecer a frase secreta?

Eu li o outro tópico, mas ele não respondeu a pergunta que eu precisava.

Obrigado por todas as pessoas maravilhosas aqui tentando ajudar.

talvez eu deva entrar em mais detalhes aqui ...

meu software tem um visualizador de documentos de escritório. Sua construído no Office. Meu software vem com realmente, bom Word Tempates que eu quero proteger de "copiadoras" para que as pessoas legítimas não sofrem, o software / visualizador exibe as miniaturas para o usuário, quando o usuário legítimo tenta abrir um tempalte, minha execução "serviço "descriptografa o arquivo e o abre sem problemas.

agora TODOS os modelos do Word Doc que eu forneci são todos criptografados. Eles ainda mostram o formato de arquivo .doc, como Template001.doc Você não pode abrir isso sem o visualizador. se você tiver o visualizador, então você tem acesso a todos os tempaltes.

devido à não compactação aplicada aos meus arquivos doc, meu instalador é de 500MB Se eles não foram criptografados, a instalação usando o LZMA é de 10MB, você pode ver uma grande diferença aqui.

então eu preciso manter cada arquivo doc criptografado (e deixá-lo como o mesmo arquivo extensiton) e fazer com que o instalador comprima os arquivos usando o LZMA.

Alguma ideia agora?

obrigado DC

    
por DevCompany 01.12.2009 / 19:06

8 respostas

11

Infelizmente, Não. Os arquivos criptografados parecem ruídos aleatórios e não há como compactar dados aleatórios.

    
por 01.12.2009 / 19:24
1

Como Zach disse que você não pode realmente compactar dados criptografados (você pode obter 1 ou 2% de compactação se tiver sorte).

A maneira correta de lidar com isso seria descriptografar os dados, compactá-los e criptografar novamente esse archive compactado.

    
por 01.12.2009 / 19:40
1

Dependendo do software de criptografia que você está usando, pode haver uma opção para compactar e criptografar. Qual ferramenta de criptografia você está usando?

    
por 01.12.2009 / 23:59
1

Como mencionado, os arquivos criptografados não são bem compactados (se forem).

Uma opção que você pode tentar é descriptografar os arquivos e usar um aplicativo de arquivamento como o 7-Zip ou o WinRAR para compactá-los e usar a função de criptografia integrada da ferramenta. Na verdade, a versão moderna de tais utilitários não só permite criptografar os arquivos, mas até mesmo os nomes de arquivos , para que o arquivo fique realmente opaco sem a frase secreta.

Esses utilitários também têm a capacidade de criar arquivos auto-extraíveis, geralmente com vários níveis de funcionalidade (por exemplo, criando atalhos, executando scripts, etc.), permitindo que você crie um instalador compactado e criptografado.

    
por 02.12.2009 / 00:27
1

Por que não apenas criptografar arquivos compactados? Isso deve funcionar.

Sério, se o seu algoritmo de criptografia é bom, você não deve ser capaz de compactá-lo, porque não deve haver bits repetidos, ou coisas não-obviamente aleatórias. Se você chegar a 1%, isso significa que seu algoritmo de criptografia é incorreto e poderia ser analisado por criptas.

    
por 02.12.2009 / 08:53
0

Eu acho que suas necessidades, se eu as entendi corretamente, são:

  • os arquivos devem * sempre * ser criptografados quando armazenados no disco?
  • os arquivos em seu pacote de instalação também devem ser criptografados?
  • os arquivos do seu pacote de instalação devem ser compactados?

Talvez uma maneira de fazer isso seja:

  • crie um volume criptografado, por exemplo, usando truecrypt ou cryptfs ou o Microsoft Encrypted File System
  • descriptografar os arquivos criptografados em uma pasta neste volume
  • execute o pacote nos arquivos dessa pasta, compactando-os e, em seguida, criptografando-os novamente

Uma variação disso, se sua solução de empacotamento não suportar criptografia, e assim por diante, poderia ser:

  • descriptografar seus arquivos criptografados em uma pasta em um volume criptografado, como para a possível solução anterior
  • compactá-los dentro do volume criptografado, por exemplo, usando winzip ou similar, para um único arquivo morto
  • crie um novo volume criptografado, por exemplo, usando o truecrypt, grande o suficiente para conter o arquivo compactado
  • copie o arquivo para o novo volume e desmonte-o

Agora você tem um volume compactado e criptografado contendo os arquivos necessários. Próxima etapa, para criar seu empacotador de instalação:

  • adicione o truecrypt ou semelhante ao seu pacote
  • adicione o volume compactado criptografado ao seu pacote
  • adicione um script ao seu pacote, por exemplo, dentro do .msi adicione um script personalizado, que montará o volume criptografado usando truecrypt e, em seguida, instale os arquivos desse volume, fazendo qualquer nova criptografia imediatamente, conforme apropriado
por 02.12.2009 / 05:54
0

Você precisa aplicar a compressão ANTES da criptografia.

"meu serviço em execução" "descriptografa o arquivo"

Se toda a criptografia for feita pelo seu programa ou "serviço", você só precisará aplicar a compactação antes da codificação real. É uma técnica comum e aumentará a segurança também.

O mais fácil é a compactação usando o zlib.

Se você usar algum serviço de criptografia de outras pessoas / empresas, informe-nos o nome desse serviço.

    
por 06.02.2010 / 14:54
-3

Por que não fazer uma base64 sobre os dados criptografados e depois compactá-los? Parece ruim, mas pelo menos você terá muitas letras e números que podem ser comprimidos. Essa é a minha teoria, não tentei dessa maneira.

Espero que isso ajude, Cumprimentos, Tom.

    
por 02.12.2009 / 01:21