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

Similitudes:

  1. Ambos transforman los datos a otro formato.
  2. Ambos son reversibles (a diferencia del hashing).

Diferencias:

  • Codificación:
    • 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, por ejemplo, datos binarios que se envían por correo electrónico o que se ven caracteres especiales en una página web. El objetivo no es mantener la información en secreto, sino garantizar que se pueda consumir adecuadamente.
    • La codificación transforma los datos en otro formato utilizando un esquema que está disponible públicamente para que pueda revertirse fácilmente. No requiere una clave, ya que lo único que se requiere para decodificarla es el algoritmo que se utilizó para codificarla.
    • Ejemplos: ASCII, Unicode, codificación de URL, Base64

  • Cifrado:
    • El propósito del cifrado es transformar los datos para mantenerlos en secreto de otros, por ejemplo, enviarle 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. En lugar de centrarse en la usabilidad, el objetivo es garantizar que los datos no puedan ser consumidos por nadie que no sea el destinatario o destinatarios.
    • El cifrado transforma los datos en otro formato de tal manera que solo individuos específicos pueden revertir la transformación. Utiliza una clave, que se mantiene en secreto, junto con el texto sin formato y el algoritmo, para realizar la operación de cifrado. Como tal, el texto cifrado, el algoritmo y la clave son necesarios para volver al texto sin formato.
    • Ejemplos: AES, Blowfish, RSA

Si echa un vistazo a los datos sin procesar almacenados en la superficie de su disco duro, solo verá 0 o 1. Cuando hace clic en una imagen en su explorador de archivos, su computadora selecciona los bits necesarios de su disco y toda esa información se transforma en su resultado apropiado decodificándolos en el formato correcto. ¿Alguna vez has intentado abrir un archivo de imagen en el reproductor de audio? ¿Alguna vez se preguntó por qué hay docenas de formatos para un solo tipo de datos? Un archivo de audio se puede almacenar en MP3, WAV, AIFF, AAC y muchos otros. ASCII, JPG, GIF, WMV, MP3, MP4 son algunos estándares de codificación para archivos de texto, imágenes, audio y video.

Cuando se toma una selfie, coloque un subtítulo y envíelo por Internet, se traduce en bits para viajar a través de todos los dispositivos que componen Internet. Una vez que llega al destino, las etiquetas / encabezados asociados con los bits de datos hacen posible que el receptor decodifique los bits de la manera en que deben decodificarse. Entonces, algunos de los bits pasarán por un códec de imagen y darán lugar a la imagen y algunos pasarán por ASCII o Unicode y darán como resultado el título de esa imagen.

El cifrado se utiliza para manipular / reordenar los bits en un orden particular que se vuelve inútil para cualquier códec. Solo invirtiendo esa acción colocará los bits en el orden correcto para que el códec correspondiente genere algo significativo. En las primeras etapas, el cifrado simétrico utilizaba una clave / método único para cifrar y descifrar los datos. Después de ese cifrado asimétrico, se introdujeron dos claves únicas, una para cifrar y otra para descifrar.

Un códec único también puede funcionar como una característica de seguridad al igual que el cifrado simple. Tomó un video y clasificó los bits en su propio formato de códec y los almacenó en su disco. Ahora solo tu reproductor que tenga el código de decodificación puede reproducir ese archivo. Muchas compañías usan esta función para la entrega segura de su contenido. Algunos combinan códec personalizado y cifrado para hacerlo más seguro.

En el sentido amplio de ambos términos, la diferencia principal es una de intención .

El cifrado se realiza con el fin de ocultar el contenido original (por ejemplo, si desea ocultar sus planes detallados para armas de destrucción masiva), mientras que la codificación facilita el manejo del contenido (por ejemplo, codificar el contenido de una estructura C en JSON para enviar a un JavaScript procesador en un navegador web).

Además, el cifrado es generalmente una operación electiva (por ejemplo, puede optar por enviar sus planes WMD en claro, aunque eso sería bastante tonto), mientras que la codificación generalmente no es selectiva (por ejemplo, si envía la estructura C en forma cruda al procesador de JavaScript , este último no podría usarlo).

Por lo general, en ambos datos se representa de alguna forma alternativa pero con diferentes intenciones.
La codificación se realiza para convertir datos para representarlos en una forma más conveniente o, por ejemplo, para la compresión.
El cifrado se realiza para ocultar datos y dificultar su comprensión por parte de personas no autorizadas.

Cripta = secreto.
Hay secreto transmitido en cifrado.
No hay secreto en la codificación. Se hace para usarlo en algún otro equipo / máquina. Por ejemplo: codificación decimal a binaria. Binario a Gris, Decimal a Exceso-3, etc.

Creo que es como:

La codificación Base64, por ejemplo, cambia su forma de escritura. Si conoce el algoritmo utilizado, puede decodificarlo fácilmente. No hay llave
El cifrado AES se realiza con una clave, a diferencia de Base64. Si conoce el algoritmo, aún no puede descifrarlo a menos que tenga la clave.