
La integridad de los datos almacenados y compartidos en redes informáticas o mediante cualquier vía es un proceso sumamente importante. Cuando recibimos algún tipo de información personal o información delicada en general, debemos estar seguros de que esta información o datos fueron los que se enviaron originalmente.
Detectar a tiempo si nuestra información ha sido interceptada y manipulada por terceros puede evitarnos problemas legales o a mejorar la seguridad de nuestros sistemas de comunicación. Uno de los mecanismos que se usan en informática para detectar la manipulación y modificación de datos es la verificación de redundancia cíclica CRC.
Un error CRC puede manifestarse cuando, mediante técnicas de verificación, es posible comprobar que el fichero recibido no es el original o ha sido modificado. En el siguiente artículo te explicamos en qué consiste la verificación de redundancia cíclica y, en cómo enfocar distintas soluciones. Te invito a que continúes leyendo, ya comenzamos.
Tabla de contenidos
- Definición de CRC
- ¿Cómo se calcula el valor de verificación en un error CRC?
- Aplicaciones de la verificación de redundancia cíclica CRC
- Como se manifiesta el error CRC
- Corregir error CRC
- Artículos relacionados que te podrían resultar interesantes:
Definición de CRC
La verificación de redundancia cíclica CRC (del inglés Cyclic Redundancy Check) se emplea para detectar cambios en datos almacenados o compartidos en redes informáticas. Estos cambios pueden deberse a diversos factores.
Pueden ocurrir que los archivos compartidos en las redes se corrompan debido a pérdidas de paquetes. También puede ser que un archivo almacenado en el disco duro se modifique a causa de errores en el disco. De igual manera puede ocurrir si se transporta en un dispositivo extraíble y este se daña. Otra causa probable es la manipulación intencionada de nuestra información debido a un ataque informático.
El código de error CRC es una especie de función matemática. Dicha función obtiene un conjunto de datos de entrada de longitud indefinida, devolviendo un conjunto de datos con una longitud definida.
El término verificación de redundancia cíclica se usa tanto para referirse al error CRC, como a la función que lo calcula. Esta función puede fungir como una suma de verificación (checksum) aplicada a comunicaciones y tráfico de ficheros en redes informáticas.
La popularidad del uso de código de detección de error CRC se basa en su simpleza y fácil implementación, siendo muy sencillo su análisis matemático. Todo esto unido a una alta eficacia de detección de errores, sobre todo en los debido a algún ruido introducido en el canal de comunicación.
Este tipo de detección de errores fue diseñado por el matemático y científico computacional estadounidense William Wesley Peterson en el año 1961.
¿Cómo se calcula el valor de verificación en un error CRC?
Cada bloque de dato que es almacenado o compartido contiene un valor de verificación inherente a dicho bloque. Este valor se basa en el resto de una división matemática de polinomios. Para comprobar un fichero se realiza la misma operación, y si el valor de verificación obtenido no concuerda con el del fichero, pues existen modificaciones en el mismo.
Para calcular el código de verificación se emplean una larga división computacional. De esta división se ignora el cociente, tomándose el resto o residuo de la división como valor de verificación. La diferencia de esta operación aritmética con otras, es que, durante la división, el cálculo empleado es el arrastre de un campo, que para el caso concreto de CRC son los bits.
El tamaño del resto de la división siempre será menor que el tamaño del divisor. De esta manera, tenemos que el valor de verificación tendrá un valor siempre menor en bits que el tamaño del fichero.
Para calcular un error CRC se pueden utilizar cualquier tipo de regla finita, pero es común que los más usados emplean una base finita binaria. Esta base está formada por dos elementos, ceros y unos.
Aplicaciones de la verificación de redundancia cíclica CRC
La verificación de redundancia cíclica CRC se emplea en la detección de errores aplicada a la integridad de la información y los datos. Este es un sistema práctico basado en reglas que pude ser muy útil en el campo de la informática, sobre todo con el uso de polinomios de base binaria.
Sus principales aplicaciones son:
- Uso de patrones de prefijos de bits para comprobación de autenticidad. Es muy útil cuando una trama podría tener errores en los bits de delante del mensaje. En ocasiones el emisor del mensaje agrega una cantidad de bits al mensaje para especificar el tamaño de la función CRC. De esta manera no se toma un polinomio incorrecto para realizar el cálculo. La principal ventaja de este mecanismo es que el código de verificación del mensaje original y el recibido es siempre igual a cero. Por tanto, el error CRC puede ser comprobado realizando la división polinómica y comprobando con el resto cero.
- Orden de bits. En algunos mensajes enviados, las tramas de datos son enviadas en un orden distinto al que tendrán los bits en la división polinómica para el cálculo del error CRC. Esto ocurre en mensajes enviados a través de puertos series, ya que la comprobación de CRC la realiza el hardware del ordenador. Cada uno de estos puertos tiene asociado un convenio de lectura el cual posiciona los paquetes para su envío a la siguiente capa.
Como se manifiesta el error CRC
Estar ante un error CRC puede ser por algunos problemas de hardware o de red. Si se detecta algún tipo de corrupción en el fichero, el error CRC se manifiesta con un mensaje informativo. Puede ocurrir al intentar leer datos desde un disco duro, un dispositivo extraíble o desde alguna unidad de red.
Entre los principales mensajes del sistema operativo informando del error CRC tenemos:
- E: no es accesible. (Error de datos de comprobación de redundancia cíclica).
- No se pudo acceder al archivo. Error de datos. Verificación de redundancia cíclica.
- Error de redundancia cíclica.

Corregir error CRC
Para intentar corregir el error de redundancia cíclica es necesario tener en cuenta varios factores. Esto se debe a que hay varias causas probables para que se genere el error. Comúnmente está asociado a problemas de hardware en los discos duros y medios extraíbles. También a pérdidas de paquetes durante el intercambio de información en redes informáticas. Teniendo en cuenta estos factores, usted puede tomar las siguientes medidas:
- El primer paso es reiniciar el ordenador. Este sencillo paso puede eliminar algunos procesos atascados que están influyendo en el disco, y pueden erradicar este tipo de error y otros más.
- En caso de que el error este asociado a un dispositivo externo, desconecte este del ordenador y vuelva a conectarlo. Si el error persiste, desconecte nuevamente el dispositivo, reinicie el ordenador y conéctelo nuevamente.
- En caso de que el fichero haya sido descargado de internet y se manifieste el error, vuelva a descargarlo.
- Si el archivo con el problema CRC lo obtuvo mediante correo electrónico, pida que se lo envíen nuevamente.
- Tener actualizado el sistema operativo Windows o macOS puede contribuir a mitigar los errores CRC.
- Escanee la unidad de disco seleccionando opciones relacionadas a la reparación de errores y mal funcionamiento del dispositivo.
- Puede utilizar el comando chkdsk en Windows para corregir errores en los dispositivos d almacenamiento. Para esto abra una ventana del CMD de Windows y escriba “chkdsk /f E:”. “E” representa la letra correspondiente a la unidad de disco que está generando el problema. Presione ENTER y espere a que el proceso termine.
Artículos relacionados que te podrían resultar interesantes:

10 Herramientas Esenciales para Todo Técnico en Electrónica

10 Proyectos DIY de Electrónica para Hacer este Fin de Semana

5 Proyectos de Domótica que Puedes Hacer Tú Mismo

5 Tendencias en Microelectrónica que Están Cambiando el Mundo

Acero Vitrificado: Descubre las Características de Este Tipo Especial de Acero

Actuadores Inteligentes: Mejora la Precisión y Eficiencia de tus Robots

Actuadores Piezoeléctricos: Precisión en Movimiento

Actuadores Piezoeléctricos: Precisión en Movimiento

Adaptadores de Corriente: Cómo Elegir el Adecuado

Algoritmos Cuánticos: Resolviendo Problemas Complejos en un Instante

Los 20 Algoritmos más Influyentes en Ciencia de Datos que Debes Dominar

Diccionario de Algoritmos de Encriptación

Algoritmos de redes neuronales: Guía fundamental

Almacenamiento en la Nube: Comparativa de Servicios y Consejos de Seguridad

AMIBIOS Solución de problemas del código de sonido: Correcciones para Errores Específicos de AMI Beep Code

Amplificadores Clase D: Alta Eficiencia en Sistemas de Audio

Amplificadores Operacionales: 10 Circuitos Prácticos Explicados

Amplificadores Operacionales: Conceptos Básicos y Aplicaciones

Amplificadores Operacionales: Diseña Circuitos Analógicos Asombrosos

Análisis de Sentimientos en Redes Sociales con Herramientas Open Source

Análisis Forense Digital: Resolviendo Casos con Evidencia Electrónica

Análisis Forense en Dispositivos Móviles: Técnicas y Herramientas

Antenas: Tipos y Cómo Elegir la Correcta

APIs con GraphQL: Flexibilidad y Eficiencia en tus Servicios Web

APIs GraphQL: Flexibilidad y Eficiencia en tus Servicios Web

Aplicaciones de Edge Computing en IoT: Procesamiento en el Borde

Aplicaciones de la Electrónica en la Medicina Moderna

Aplicaciones Empresariales con Oracle ADF: Desarrollo Rápido y Potente

Aplicaciones Empresariales con SAP Fiori: Mejora la Experiencia de Usuario

Aplicaciones Móviles con React Native y Expo: Guía Completa

Guía para Entender y Aplicar Scrum en Proyectos Ágiles

Apps Móviles con Xamarin: Desarrollo Multiplataforma Simplificado

Aprende a Programar en Lua: Lenguaje Ligero para Aplicaciones Embebidas

Aprende Java desde Cero: La Guía Esencial para Principiantes

Aprende Kotlin: El Lenguaje Moderno que Impulsa Android

Aprende Rust: El Lenguaje que Revoluciona la Programación de Sistemas

Aprende Scala Rápidamente: El Lenguaje Potente para Big Data y Más

Aprendizaje Automático Interpretativo: Comprende tus Modelos de IA

Aprendizaje No Supervisado con Scikit-learn: Descubre Patrones Ocultos

Aprendizaje No Supervisado: Descubre Patrones Ocultos en tus Datos

Aprendizaje por Refuerzo con Python: Crea Agentes Inteligentes

Aprendizaje Profundo con Caffe: Framework para Visión por Computadora

Aprendizaje Profundo con Keras y TensorFlow: Guía Paso a Paso
