Los CRC (cyclic redundancy check) se basan en la teoría de los códigos de corrección de errores cíclicos. El uso de códigos cíclicos sistemáticos, que codifican los mensajes añadiendo un valor de comprobación de longitud fija, con el fin de detectar errores en las redes de comunicación, fue propuesto por primera vez por W.Wesley Peterson en 1961.
Los códigos cíclicos no sólo son sencillos de implementar, sino que tienen la ventaja de ser especialmente adecuados para la detección de errores de ráfaga: secuencias contiguas de símbolos de datos erróneos en los mensajes. Esto es importante porque los errores de ráfaga son errores de transmisión comunes en muchos canales de comunicación, incluidos los dispositivos de almacenamiento magnético y óptico.
SHA, que significa algoritmo de hash seguro, es un algoritmo de hash criptográfico que se utiliza para determinar la integridad de un dato concreto. Las autoridades de certificados SSL suelen utilizar variaciones de este algoritmo para firmar los certificados. Este algoritmo ayuda a garantizar que los datos de su sitio web no sean modificados o manipulados. Lo hace generando valores hash únicos a partir de cualquier archivo/variación de un archivo en particular. Basándose en estos valores hash, se puede determinar si el archivo ha sido alterado o no, comparando el valor hash esperado con el valor hash recibido.