Diferencia entre codificación y encriptación


139

¿Cuál es la diferencia entre codificación y encriptación?


55
Como primera aproximación, el cifrado usa una clave, la codificación no.
Presidente James K. Polk

Si decodifica un trabajo codificado de datos codificados, pero si descifra datos cifrados sin conocer la clave de seguridad, Felicitaciones, lo hackeó.
Sujeet Agrahari

1
La codificación es como traducir el lenguaje A al lenguaje B para que las personas que conocen el idioma B lo entiendan fácilmente. Cifrándolo como si se tradujera el lenguaje A al lenguaje B de una manera tal que solo personas específicas que conocen el idioma B lo entiendan, por lo general, les dices el camino antes de comenzar a traducir, tal vez un método o una clave ... como tratar la granada como una granada.
Sujeet Agrahari

Respuestas:


177

La codificación transforma los datos en otro formato utilizando un esquema que está disponible públicamente para que pueda revertirse fácilmente.

El cifrado transforma los datos en otro formato de tal manera que solo individuos específicos pueden revertir la transformación.

Para resumen:

La codificación es para mantener la usabilidad de los datos y utiliza esquemas que están disponibles públicamente.

El cifrado es para mantener la confidencialidad de los datos y, por lo tanto, la capacidad de revertir la transformación (claves) se limita a ciertas personas.

Más detalles en FUENTE


3
¿Considera "documento con clave pública para firma" como codificación o cifrado? :)
Jarod42

@ Jarod42 Una firma digital no es un cifrado ni una codificación del documento, ya que los datos originales no se pueden recuperar de él.
Thilo

1
"usar un esquema que está disponible públicamente": el cifrado definitivamente usa esquemas que también están disponibles públicamente, de hecho, cualquier esquema criptográfico que valga su propio peso siempre está disponible públicamente (es decir, no hay puertas traseras como en el ojo público). La parte que no está disponible públicamente son los secretos necesarios para descifrar los datos, no el esquema / algoritmos reales (por ejemplo, RSA, DH, etc.).
PragmaticProgrammer

32

La codificación es el proceso de transformación de datos para que puedan transmitirse sin peligro a través de un canal de comunicación o almacenarse sin peligro en un medio de almacenamiento. Por ejemplo, el hardware de la computadora no manipula texto, simplemente manipula bytes, por lo que una codificación de texto es una descripción de cómo el texto debe transformarse en bytes. Del mismo modo, HTTP no permite que todos los caracteres se transmitan de forma segura, por lo que puede ser necesario codificar datos utilizando base64 (usa solo letras, números y dos caracteres seguros).

Al codificar o decodificar, se pone énfasis en que todos tengan el mismo algoritmo, y ese algoritmo generalmente está bien documentado, ampliamente distribuido y se implementa con bastante facilidad. Cualquiera puede eventualmente decodificar datos codificados .

El cifrado, por otro lado, aplica una transformación a un dato que solo puede revertirse con un conocimiento específico (y secreto) de cómo descifrarlo. El énfasis está en hacer que sea difícil para cualquier persona que no sea el destinatario leer los datos originales. Un algoritmo de codificación que se mantiene en secreto es una forma de cifrado, pero bastante vulnerable (se necesita habilidad y tiempo para idear cualquier tipo de cifrado, y por definición no puede hacer que otra persona cree un algoritmo de codificación para usted, o lo haría tener que matarlos). En cambio, el método de cifrado más utilizado utiliza claves secretas: el algoritmo es bien conocido, pero el proceso de cifrado y descifrado requiere tener la misma clave para ambas operaciones, y la clave se mantiene en secreto. Descifrar datos cifrados solo es posible con la clave correspondiente .


No siempre requiere tener las mismas claves para cifrar y descifrar. ¿Diffe-hellman no usa la clave privada del remitente para codificar y la clave privada del destinatario para decodificar?
David Mann

"HTTP no permite que todos los caracteres se transmitan de forma segura ..." Creo que esto es engañoso. HTTP es limpio de 8 bits. Puede transmitir cualquier byte que desee en un cuerpo de mensaje HTTP. Los encabezados están especificados ASCII, pero eso no tiene nada que ver con la transmisión "segura".
Hawkeye Parker

27

Codificación:

  1. Propósito: El propósito de la codificación es transformar los datos para que puedan ser consumidos de manera adecuada (y segura) por un tipo diferente de sistema.

  2. Se utiliza para: Mantener la usabilidad de los datos, es decir, para garantizar que se pueda consumir correctamente.

  3. Mecanismo de recuperación de datos: sin clave y se puede revertir fácilmente siempre que sepamos qué algoritmo se usó en la codificación.

  4. Algoritmos utilizados: ASCII, Unicode, codificación de URL, Base64.

  5. Ejemplo: se envían datos binarios por correo electrónico o se visualizan caracteres especiales en una página web.

Cifrado:

  1. Propósito: El propósito del cifrado es transformar los datos para mantenerlos en secreto de los demás.

  2. Se utiliza para: Mantener la confidencialidad de los datos, es decir, para garantizar que los datos no puedan ser consumidos por nadie que no sea el destinatario o destinatarios.

  3. Mecanismo de recuperación de datos: se pueden obtener datos originales si conocemos la clave y el algoritmo de cifrado utilizados.

  4. Algoritmos utilizados: AES, Blowfish, RSA.

  5. Ejemplo: Enviar a alguien una carta secreta que solo ellos deberían poder leer, o enviar una contraseña de forma segura a través de Internet.

URL de referencia: http://danielmiessler.com/study/encoding_vs_encryption/


9

La codificación es el proceso de poner una secuencia de caracteres en un formato especial para fines de transmisión o almacenamiento

El cifrado es el proceso de traducción de datos en un código secreto. El cifrado es la forma más efectiva de lograr la seguridad de los datos. Para leer un archivo cifrado, debe tener acceso a una clave o contraseña secreta que le permita descifrarlo. Los datos sin cifrar se denominan texto sin formato; los datos cifrados se denominan texto cifrado


3

Vea la codificación como una forma de almacenar o comunicar datos entre diferentes sistemas. Por ejemplo, si desea almacenar texto en un disco duro, tendrá que encontrar una manera de convertir sus caracteres en bits. Alternativamente, si todo lo que tiene es una luz de flash, es posible que desee codificar su texto usando Morse. El resultado siempre es "legible", siempre que sepa cómo se almacena.

Cifrado significa que desea que sus datos sean ilegibles, cifrándolos con un algoritmo. Por ejemplo, César hizo esto sustituyendo cada letra por otra. El resultado aquí es ilegible, a menos que conozca la "clave" secreta con la que se cifró.


3

Yo diría que ambas operaciones transforman la información de una forma a otra, la diferencia es:

  • Codificar significa transformar la información de una forma a otra, en la mayoría de los casos es fácilmente reversible
  • Cifrado significa que la información original está oculta e implica claves de cifrado que deben suministrarse al proceso de cifrado / descifrado para realizar la transformación.

Entonces, si involucra claves (simétricas o asimétricas) (también conocido como "secreto"), es encriptación, de lo contrario es codificación.


2

Estos son un poco diferentes entre sí. La codificación utilizada cuando queremos convertir texto en una técnica de codificación de computadora específica y en el cifrado ocultamos datos entre una clave o texto específico.


1

Codificación: data los datos de ejemplo son 16
Luego, la codificación es 10000 significa que es formato binario o ASCII o SIN CODIFICAR, etc.

Cifrado: data los datos de ejemplo son 16 Entonces el cifrado es 3t57 o puede ser algo que dependa del algoritmo utilizado para el cifrado que cualquier sistema pueda leer fácilmente, PERO quién puede entender su significado real y quién tiene su clave de descifrado


0

La codificación es para mantener la usabilidad de los datos y puede revertirse empleando el mismo algoritmo que codificó el contenido, es decir, no se utiliza ninguna clave.

El cifrado es para mantener la confidencialidad de los datos y requiere el uso de una clave (guardada en secreto) para volver al texto sin formato.

También hay dos términos principales que traen confusión en el mundo de la seguridad Hashing y Ofuscación

El hash es para validar la integridad del contenido al detectar todas las modificaciones del mismo a través de cambios obvios en la salida del hash.

La ofuscación se usa para evitar que las personas entiendan el significado de algo, y a menudo se usa con código de computadora para ayudar a prevenir la ingeniería inversa exitosa y / o el robo de la funcionalidad de un producto.

Leer más @ Danielmiessler artículo


1
La codificación es la capacidad de comprender el juego de caracteres. Según el contenido que se lee y se escribe en archivos. P.ej. UTF-8, UTF-16, UTF-32, ANSI. El cifrado es el que transforma los datos que ya están codificados.
Arun

0

El cifrado convierte los datos a un formato no legible (que posiblemente contenga caracteres especiales no legibles).

La codificación ayuda a convertir esos datos a un formato legible (caracteres) para que puedan almacenarse para uso futuro, es decir, posiblemente durante el descifrado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.