¿Qué es CRC?

¿Qué es CRC?

CRC (verificación de redundancia cíclica) es un algoritmo de verificación de integridad de datos ampliamente utilizado en redes informáticas y sistemas de almacenamiento. Se utiliza para detectar errores de transmisión o corrupción de datos durante la transferencia.

¿Cómo funciona CRC?

El algoritmo CRC utiliza operaciones matemáticas para generar un valor de verificación, conocido como suma de verificación, a partir de los datos que se transmitirán. Este valor se adjunta a los datos originales y se envía con ellos.

En la recepción de datos, el algoritmo CRC se aplica nuevamente a los datos recibidos, incluida la suma de verificación. Si el valor generado es diferente de la suma de verificación recibida, esto indica que se produjo un error durante la transmisión o que los datos estaban dañados.

¿Por qué es importante el CRC?

CRC es importante porque permite detectar la transmisión de datos o los errores de corrupción de manera eficiente. Al verificar la integridad de los datos, es posible asegurarse de que la información transmitida sea confiable y libre de errores.

El uso CRC es especialmente relevante en las redes informáticas, donde la transmisión de datos ocurre rápidamente y a gran escala. También se utiliza en sistemas de almacenamiento, como discos duros y recuerdos flash, para garantizar la integridad de los datos almacenados.

Ejemplo de cálculo CRC:

Supongamos que tenemos una secuencia de datos binarios: 11010101. Para calcular el CRC, utilizamos un polinomio generador, que es una secuencia fija de bits. Usemos el generador polinomial 1011.

Primero, agregamos ceros a la derecha de los datos para que el número de bits sea igual al número de bits del polinomio del generador. Sería así: 1101010100.

Luego realizamos la operación de división binaria, utilizando el polinomio generador como divisor. El resultado de esta división es la suma de verificación, que se adjuntará a los datos originales.

división binaria:

  1. Dividendo: 1101010100
  2. divisor (generando polinomio): 1011
  3. Cociente: 11010101
  4. REST (suma de verificación): 0011

Los datos originales (11010101) se envían junto con la suma de verificación (0011). En la recepción, el algoritmo CRC se aplica nuevamente a los datos recibidos, incluida la suma de verificación. Si el valor generado es diferente de la suma de verificación recibida, esto indica que se produjo un error durante la transmisión o que los datos estaban dañados.

datos originales
checksum

11010101 0011

Referencias:

  1. https://en.wikipedia.org/wiki/ciclic_redency_check
  2. https://weeksforgeks.org/ciclic-redency-check-python/ </ail li>