Diferença entre codificação e criptografia

139

Qual é a diferença entre codificação e criptografia?

Pankaj Agarwal
fonte
5
Como primeira aproximação, a criptografia usa uma chave, a codificação não.
Presidente James K. Polk
Se você decodificar um trabalho de inicialização de dados codificados, mas se descriptografar dados criptografados sem conhecer a chave do conjunto, parabéns a você, você o cortou.
Sujeet Agrahari
1
Codificar é como traduzir o idioma A para o idioma B, para que as pessoas que conhecem o idioma B o entendam facilmente. Criptografá-lo como traduzir o idioma A para o idioma B de uma maneira que apenas pessoas específicas que conhecem o idioma B o obtenham, geralmente você diz o caminho antes de começar a traduzir, talvez um método ou chave ... como tratar a Romã como granada.
Sujeet Agrahari

Respostas:

177

Codificação transforma os dados em outro formato usando um esquema que está disponível ao público para que possa ser revertido facilmente.

Criptografia transforma os dados em outro formato de forma que somente indivíduos específicos possam reverter a transformação.

Para Resumo -

A codificação é para manter a usabilidade dos dados e usa esquemas que estão disponíveis ao público.

A criptografia é para manter a confidencialidade dos dados e, portanto, a capacidade de reverter a transformação (chaves) é limitada a determinadas pessoas.

Mais detalhes em SOURCE

Sachin Shanbhag
fonte
3
Você considera "documento com chave pública para assinatura" como Codificação ou Criptografia? :)
Jarod42
@ Jarod42 Uma assinatura digital não é uma criptografia nem uma codificação do documento, pois os dados originais não podem ser recuperados.
Thilo
1
"usando um esquema que está disponível ao público" - a criptografia definitivamente também usa esquemas que estão disponíveis ao público, de fato, qualquer esquema criptográfico que valha o seu próprio peso está sempre disponível ao público (ou seja, sem backdoors como aos olhos do público). A parte que não está disponível ao público são os segredos necessários para decifrar os dados, não o esquema / algoritmos reais (por exemplo, RSA, DH etc.).
PragmaticProgrammer
32

Codificação é o processo de transformar dados para que possam ser transmitidos sem perigo por um canal de comunicação ou armazenados sem perigo em um meio de armazenamento. Por exemplo, o hardware do computador não manipula texto, apenas manipula bytes; portanto, uma codificação de texto é uma descrição de como o texto deve ser transformado em bytes. Da mesma forma, o HTTP não permite que todos os caracteres sejam transmitidos com segurança; portanto, pode ser necessário codificar os dados usando base64 (usa apenas letras, números e dois caracteres seguros).

Ao codificar ou decodificar, a ênfase é colocada em todos os que possuem o mesmo algoritmo, e esse algoritmo geralmente é bem documentado, amplamente distribuído e facilmente implementado. Qualquer pessoa é capaz de decodificar dados codificados .

A criptografia, por outro lado, aplica uma transformação a um dado que só pode ser revertido com o conhecimento específico (e secreto) de como descriptografá-lo. A ênfase está em dificultar a leitura de todos os dados, exceto o destinatário pretendido. Um algoritmo de codificação que é mantido em segredo é uma forma de criptografia, mas bastante vulnerável (é preciso habilidade e tempo para criar qualquer tipo de criptografia, e, por definição, você não pode ter alguém para criar esse algoritmo de codificação para você - ou você tem que matá-los). Em vez disso, o método de criptografia mais usado usa chaves secretas: o algoritmo é bem conhecido, mas o processo de criptografia e descriptografia exige a mesma chave para ambas as operações, e a chave é mantida em segredo. Descriptografar dados criptografados só é possível com a chave correspondente .

Victor Nicollet
fonte
Nem sempre é necessário ter as mesmas chaves para criptografia e descriptografia. O diffe-hellman não usa a chave privada do remetente para codificar e a chave privada do destinatário para decodificar?
David Mann
"O HTTP não permite que todos os caracteres sejam transmitidos com segurança ..." Acho que isso é enganoso. O HTTP está limpo de 8 bits. Você pode transmitir qualquer byte que desejar em um corpo de mensagem HTTP. Os cabeçalhos são ASCII especificados, mas isso não tem nada a ver com transmissão "segura".
precisa
27

Codificação:

  1. Objetivo: O objetivo da codificação é transformar dados para que possam ser consumidos de maneira adequada (e segura) por um tipo diferente de sistema.

  2. Usado para: Manter a usabilidade dos dados, ou seja, para garantir que ele possa ser consumido adequadamente.

  3. Mecanismo de recuperação de dados: Nenhuma chave e pode ser facilmente revertida, desde que saibamos qual algoritmo foi usado na codificação.

  4. Algoritmos usados: ASCII, Unicode, codificação de URL, Base64.

  5. Exemplo: dados binários sendo enviados por email ou visualizando caracteres especiais em uma página da web.

Criptografia:

  1. Objetivo: O objetivo da criptografia é transformar os dados para mantê-los em segredo dos outros.

  2. Usado para: Manter a confidencialidade dos dados, ou seja, para garantir que os dados não possam ser consumidos por ninguém que não seja o (s) destinatário (s).

  3. Mecanismo de recuperação de dados: Os dados originais podem ser obtidos se conhecermos o algoritmo de chave e criptografia usado.

  4. Algoritmos Utilizados: AES, Blowfish, RSA.

  5. Exemplo: enviando a alguém uma carta secreta que somente eles devem poder ler ou enviando uma senha com segurança pela Internet.

URL de referência: http://danielmiessler.com/study/encoding_vs_encryption/

umarali1981
fonte
9

Codificação é o processo de colocar uma sequência de caracteres em um formato especial para fins de transmissão ou armazenamento

Criptografia é o processo de tradução de dados em um código secreto. A criptografia é a maneira mais eficaz de obter segurança de dados. Para ler um arquivo criptografado, você deve ter acesso a uma chave ou senha secreta que permita descriptografá-lo. Dados não criptografados são chamados de texto sem formatação; dados criptografados são referidos como texto cifrado

Nanda
fonte
3

Veja a codificação como uma maneira de armazenar ou comunicar dados entre diferentes sistemas. Por exemplo, se você deseja armazenar texto em um disco rígido, precisará encontrar uma maneira de converter seus caracteres em bits. Como alternativa, se tudo o que você tem é uma luz de flash, convém codificar seu texto usando Morse. O resultado é sempre "legível", desde que você saiba como é armazenado.

Criptografia significa que você deseja tornar seus dados ilegíveis, criptografando-os usando um algoritmo. Por exemplo, César fez isso substituindo cada letra por outra. O resultado aqui é ilegível, a menos que você saiba que a "chave" secreta com a qual foi criptografada.

Roubar
fonte
3

Eu diria que as duas operações transformam informações de um formulário para outro, sendo a diferença:

  • Codificação significa transformar informações de um formulário para outro; na maioria dos casos, é facilmente reversível
  • Criptografia significa que as informações originais estão ocultas e envolvem chaves de criptografia que devem ser fornecidas ao processo de criptografia / descriptografia para fazer a transformação.

Portanto, se envolve chaves (simétricas ou assimétricas) (também conhecidas como "secretas"), é criptografia, caso contrário, é codificação.

Waldheinz
fonte
2

Estes são um pouco diferentes um do outro. A codificação usada quando queremos converter texto em uma técnica específica de codificação de computador e na criptografia ocultamos dados entre uma chave ou texto específico.

Deepak
fonte
1

Codificação -》 dados de exemplo são 16
Então a codificação é 10000 significa que é formato binário ou ASCII ou UNCODED etc. Que pode ser lido por qualquer sistema com facilidade e facilidade para entender seu significado real

Criptografia -》 dados de exemplo são 16 Então encryprion é 3t57 ou pode ser qualquer coisa, dependendo de que algo seja usado para criptografia O que pode ser lido por qualquer sistema facilmente, mas apenas quem pode entender seu verdadeiro significado de quem possui sua chave de descriptografia

Kanika Bhardwaj
fonte
0

A codificação é para manter a usabilidade dos dados e pode ser revertida empregando o mesmo algoritmo que codificou o conteúdo, ou seja, nenhuma chave é usada.

Criptografia é para manter a confidencialidade dos dados e requer o uso de uma chave (mantida em segredo) para retornar ao texto sem formatação.

Também existem dois termos principais que trazem confusão no mundo da segurança Hashing e Ofuscação

O hash é para validar a integridade do conteúdo, detectando todas as modificações efetuadas por meio de alterações óbvias na saída de hash.

A ofuscação é usada para impedir que as pessoas entendam o significado de algo, e é freqüentemente usada com código de computador para ajudar a impedir a engenharia reversa bem-sucedida e / ou o roubo da funcionalidade de um produto.

Leia mais @ Danielmiessler article

Pooranachandran Muthusamy
fonte
1
Codificação é a capacidade de entender o conjunto de caracteres. Com base em qual conteúdo é lido e gravado em arquivos. Por exemplo. UTF-8, UTF-16, UTF-32, ANSI. Criptografia é que transforma os dados que já estão codificados.
Arun
0

A criptografia converte dados para o formato não legível (possivelmente contendo caracteres especiais não legíveis).

A codificação ajuda a converter esses dados em formato legível (caracteres) para que possam ser armazenados para uso futuro, ou seja, possivelmente durante a descriptografia.

explorer2020
fonte